[Pkg-nethack-devel] nethack/include config.h,1.1.1.1,1.2 decl.h,1.1.1.1,1.2 dungeon.h,1.1.1.1,1.2 extern.h,1.1.1.1,1.2 flag.h,1.1.1.1,1.2 global.h,1.1.1.1,1.2 hack.h,1.1.1.1,1.2 mac-term.h,1.1.1.1,1.2 micro.h,1.1.1.1,1.2 mondata.h,1.1.1.1,1.2 ntconf.h,1.1.1.1,1.2 obj.h,1.1.1.1,1.2 patchlevel.h,1.1.1.1,1.2 vmsconf.h,1.1.1.1,1.2 wceconf.h,1.1.1.1,1.2
Joshua Kwan
joshk-guest@quantz.debian.org
Tue, 09 Dec 2003 16:14:45 +0000
Update of /cvsroot/pkg-nethack/nethack/include
In directory quantz:/tmp/cvs-serv9687/include
Modified Files:
config.h decl.h dungeon.h extern.h flag.h global.h hack.h
mac-term.h micro.h mondata.h ntconf.h obj.h patchlevel.h
vmsconf.h wceconf.h
Log Message:
Merge Nethack 3.4.3 upstream source.
Index: obj.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/obj.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- obj.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ obj.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -95,7 +95,8 @@
int corpsenm; /* type of corpse is mons[corpsenm] */
#define leashmon corpsenm /* gets m_id of attached pet */
-#define spestudied corpsenm /* how many times a spellbook has been studied */
+#define spestudied corpsenm /* # of times a spellbook has been studied */
+#define fromsink corpsenm /* a potion from a sink */
unsigned oeaten; /* nutrition left in food, if partly eaten */
long age; /* creation date */
Index: global.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/global.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- global.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ global.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -1,4 +1,4 @@
-/* SCCS Id: @(#)global.h 3.4 2003/08/21 */
+/* SCCS Id: @(#)global.h 3.4 2003/08/31 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
Index: wceconf.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/wceconf.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- wceconf.h 7 Oct 2003 19:00:07 -0000 1.1.1.1
+++ wceconf.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -43,6 +43,8 @@
#define USER_SOUNDS
+#define AUTOPICKUP_EXCEPTIONS
+
/*
* -----------------------------------------------------------------
* The remaining code shouldn't need modification.
@@ -222,6 +224,13 @@
extern int FDECL(set_win32_option, (const char *, const char *));
+/*
+ * 3.4.3 addition - Stuff to help the user with some common, yet significant errors
+ * Let's make it NOP for now
+ */
+#define interject_assistance(_1,_2,_3,_4)
+#define interject(_1)
+
/* Missing definitions */
extern int mswin_have_input();
#define kbhit mswin_have_input
@@ -333,6 +342,13 @@
/* ARM - the processor; avoids conflict with ARM in hack.h */
# ifdef ARM
# undef ARM
+# endif
+
+/* leave - Windows CE defines leave as part of exception handling (__leave)
+ It confilicts with existing sources and since we don't use exceptions it is safe
+ to undefine it */
+# ifdef leave
+# undef leave
# endif
#endif /* WCECONF_H */
Index: micro.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/micro.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- micro.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ micro.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -14,7 +14,7 @@
#define C(c) (0x1f & (c))
#endif
#ifndef M
-#define M(c) (0x80 | (c))
+#define M(c) (((char)0x80) | (c))
#endif
#define ABORT C('a')
Index: mac-term.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/mac-term.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- mac-term.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ mac-term.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -20,14 +20,15 @@
* set "Prefix File" to include/mac-term.h
*/
+/* Stuff needed for the core of NetHack */
#undef MAC
#define UNIX
#define BSD
+#define __FreeBSD__ /* Darwin is based on FreeBSD */
+#define GCC_WARN
/* May already be defined by CodeWarrior as 0 or 1 */
#ifdef TARGET_API_MAC_CARBON
# undef TARGET_API_MAC_CARBON
#endif
-#define TARGET_API_MAC_CARBON 0
-
-#define GCC_WARN
+#define TARGET_API_MAC_CARBON 0 /* Not Carbon */
Index: extern.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/extern.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- extern.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ extern.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -369,6 +369,9 @@
E int NDECL(Boots_off);
E int NDECL(Cloak_off);
E int NDECL(Shield_off);
+#ifdef TOURIST
+E int NDECL(Shirt_off);
+#endif
E void NDECL(Amulet_off);
E void FDECL(Ring_on, (struct obj *));
E void FDECL(Ring_off, (struct obj *));
@@ -502,7 +505,7 @@
E xchar NDECL(level_difficulty);
E schar FDECL(lev_by_name, (const char *));
#ifdef WIZARD
-E schar FDECL(print_dungeon, (BOOLEAN_P));
+E schar FDECL(print_dungeon, (BOOLEAN_P,schar *,xchar *));
#endif
/* ### eat.c ### */
@@ -916,7 +919,7 @@
/* ### makemon.c ### */
E boolean FDECL(is_home_elemental, (struct permonst *));
-E struct monst *FDECL(clone_mon, (struct monst *));
+E struct monst *FDECL(clone_mon, (struct monst *,XCHAR_P,XCHAR_P));
E struct monst *FDECL(makemon, (struct permonst *,int,int,int));
E boolean FDECL(create_critters, (int,struct permonst *));
E struct permonst *NDECL(rndmonst);
@@ -935,6 +938,7 @@
E void FDECL(mkmonmoney, (struct monst *, long));
#endif
E void FDECL(bagotricks, (struct obj *));
+E boolean FDECL(propagate, (int, BOOLEAN_P,BOOLEAN_P));
/* ### mapglyph.c ### */
@@ -1028,6 +1032,7 @@
E void NDECL(water_friction);
E void FDECL(save_waterlevel, (int,int));
E void FDECL(restore_waterlevel, (int));
+E const char *FDECL(waterbody_name, (XCHAR_P,XCHAR_P));
/* ### mkobj.c ### */
@@ -1323,6 +1328,7 @@
E int NDECL(tgetch);
E int FDECL(ntposkey,(int *, int *, int *));
E void FDECL(set_output_mode, (int));
+E void NDECL(synch_cursor);
#endif
/* ### o_init.c ### */
@@ -1395,6 +1401,10 @@
E void FDECL(set_wc_option_mod_status, (unsigned long, int));
E void FDECL(set_wc2_option_mod_status, (unsigned long, int));
E void FDECL(set_option_mod_status, (const char *,int));
+#ifdef AUTOPICKUP_EXCEPTIONS
+E int FDECL(add_autopickup_exception, (const char *));
+E void NDECL(free_autopickup_exceptions);
+#endif /* AUTOPICKUP_EXCEPTIONS */
/* ### pager.c ### */
@@ -1486,6 +1496,7 @@
E int FDECL(loot_mon, (struct monst *,int *,boolean *));
E const char *FDECL(safe_qbuf, (const char *,unsigned,
const char *,const char *,const char *));
+E boolean FDECL(is_autopickup_exception, (struct obj *, BOOLEAN_P));
/* ### pline.c ### */
@@ -1537,7 +1548,7 @@
E void FDECL(make_blinded, (long,BOOLEAN_P));
E void FDECL(make_sick, (long, const char *, BOOLEAN_P,int));
E void FDECL(make_vomiting, (long,BOOLEAN_P));
-E void FDECL(make_hallucinated, (long,BOOLEAN_P,long));
+E boolean FDECL(make_hallucinated, (long,BOOLEAN_P,long));
E int NDECL(dodrink);
E int FDECL(dopotion, (struct obj *));
E int FDECL(peffects, (struct obj *));
@@ -1894,6 +1905,7 @@
E int FDECL(steal, (struct monst *, char *));
E int FDECL(mpickobj, (struct monst *,struct obj *));
E void FDECL(stealamulet, (struct monst *));
+E void FDECL(mdrop_special_objs, (struct monst *));
E void FDECL(relobj, (struct monst *,int,BOOLEAN_P));
#ifdef GOLDOBJ
E struct obj *FDECL(findgold, (struct obj *));
@@ -1929,7 +1941,7 @@
E void FDECL(tele_trap, (struct trap *));
E void FDECL(level_tele_trap, (struct trap *));
E void FDECL(rloc_to, (struct monst *,int,int));
-E void FDECL(rloc, (struct monst *));
+E boolean FDECL(rloc, (struct monst *, BOOLEAN_P));
E boolean FDECL(tele_restrict, (struct monst *));
E void FDECL(mtele_trap, (struct monst *, struct trap *,int));
E int FDECL(mlevel_tele_trap, (struct monst *, struct trap *,BOOLEAN_P,int));
@@ -2094,6 +2106,7 @@
/* ### version.c ### */
+E char *FDECL(version_string, (char *));
E char *FDECL(getversionstring, (char *));
E int NDECL(doversion);
E int NDECL(doextversion);
@@ -2238,7 +2251,7 @@
E void FDECL(were_change, (struct monst *));
E void FDECL(new_were, (struct monst *));
-E boolean FDECL(were_summon, (struct permonst *,BOOLEAN_P));
+E int FDECL(were_summon, (struct permonst *,BOOLEAN_P,int *,char *));
E void NDECL(you_were);
E void FDECL(you_unwere, (BOOLEAN_P));
@@ -2295,6 +2308,7 @@
E void FDECL(wormhitu, (struct monst *));
E void FDECL(cutworm, (struct monst *,XCHAR_P,XCHAR_P,struct obj *));
E void FDECL(see_wsegs, (struct monst *));
+E void FDECL(detect_wsegs, (struct monst *,BOOLEAN_P));
E void FDECL(save_worm, (int,int));
E void FDECL(rest_worm, (int));
E void FDECL(place_wsegs, (struct monst *));
Index: mondata.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/mondata.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- mondata.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ mondata.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -48,6 +48,10 @@
#define has_horns(ptr) (num_horns(ptr) > 0)
#define is_whirly(ptr) ((ptr)->mlet == S_VORTEX || \
(ptr) == &mons[PM_AIR_ELEMENTAL])
+#define flaming(ptr) ((ptr) == &mons[PM_FIRE_VORTEX] || \
+ (ptr) == &mons[PM_FLAMING_SPHERE] || \
+ (ptr) == &mons[PM_FIRE_ELEMENTAL] || \
+ (ptr) == &mons[PM_SALAMANDER])
#define is_silent(ptr) ((ptr)->msound == MS_SILENT)
#define unsolid(ptr) (((ptr)->mflags1 & M1_UNSOLID) != 0L)
#define mindless(ptr) (((ptr)->mflags1 & M1_MINDLESS) != 0L)
@@ -162,7 +166,8 @@
(ptr) == &mons[PM_MASTER_MIND_FLAYER])
#define nonliving(ptr) (is_golem(ptr) || is_undead(ptr) || \
- (ptr)->mlet == S_VORTEX)
+ (ptr)->mlet == S_VORTEX || \
+ (ptr) == &mons[PM_MANES])
/* Used for conduct with corpses, tins, and digestion attacks */
/* G_NOCORPSE monsters might still be swallowed as a purple worm */
Index: patchlevel.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/patchlevel.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- patchlevel.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ patchlevel.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -1,14 +1,14 @@
-/* SCCS Id: @(#)patchlevel.h 3.4 2003/08/21 */
+/* SCCS Id: @(#)patchlevel.h 3.4 2003/12/06 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
-/* NetHack 3.4.2 */
+/* NetHack 3.4.3 */
#define VERSION_MAJOR 3
#define VERSION_MINOR 4
/*
* PATCHLEVEL is updated for each release.
*/
-#define PATCHLEVEL 2
+#define PATCHLEVEL 3
/*
* Incrementing EDITLEVEL can be used to force invalidation of old bones
* and save files.
@@ -24,21 +24,31 @@
#define COPYRIGHT_BANNER_C \
" See license for details."
-#if 1
/*
- * If two successive patchlevels have compatible data files (fat chance),
- * defining this with the value of the older one will allow its bones and
- * save files to work with the newer one. The format is
+ * If two or more successive releases have compatible data files, define
+ * this with the version number of the oldest such release so that the
+ * new release will accept old save and bones files. The format is
* 0xMMmmPPeeL
* 0x = literal prefix "0x", MM = major version, mm = minor version,
* PP = patch level, ee = edit level, L = literal suffix "L",
* with all four numbers specified as two hexadecimal digits.
*/
-#define VERSION_COMPATIBILITY 0x03040100L
-#endif
+#define VERSION_COMPATIBILITY 0x03040000L /* 3.4.0-0 */
+
/*****************************************************************************/
/* Version 3.4.x */
+
+/* Patch 3, December 7, 2003
+ * Several dozen general bug fixes including at least one fatal bug
+ * Correct several inconsistencies
+ * Handle level completely filled with monsters better
+ * Performance enhancements for win32tty port on Windows 98 and Me
+ * win32gui player selection fixes
+ * X11 player selection fixes, one of which could be fatal
+ * Eliminated a gold-in-shop-container cheat
+ * Include bones file version compatibility info in options file
+ */
/* Patch 2, August 30, 2003
* Fix a fatal bug that caused a crash when applying figurine, candle, or
Index: vmsconf.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/vmsconf.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- vmsconf.h 7 Oct 2003 19:00:07 -0000 1.1.1.1
+++ vmsconf.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -16,7 +16,7 @@
* extra room for patching longer values into an existing executable.
*/
#define Local_WIZARD "NHWIZARD\0\0\0\0"
-#define Local_HACKDIR "DISK$USERS:[GAMES.NETHACK.3-4-2.PLAY]\0\0\0\0\0\0\0\0"
+#define Local_HACKDIR "DISK$USERS:[GAMES.NETHACK.3_4_X.PLAY]\0\0\0\0\0\0\0\0"
/*
* This section cleans up the stuff done in config.h so that it
Index: hack.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/hack.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- hack.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ hack.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -142,6 +142,9 @@
#define MM_IGNOREWATER 0x80 /* ignore water when positioning */
#define MM_ADJACENTOK 0x100 /* it is acceptable to use adjacent coordinates */
+/* special mhpmax value when loading bones monster to flag as extinct or genocided */
+#define DEFUNCT_MONSTER (-100)
+
/* flags for special ggetobj status returns */
#define ALL_FINISHED 0x01 /* called routine already finished the job */
Index: ntconf.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/ntconf.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- ntconf.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ ntconf.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -59,6 +59,12 @@
#define PORT_DEBUG /* include ability to debug international keyboard issues */
#endif
+/* Stuff to help the user with some common, yet significant errors */
+#define INTERJECT_PANIC 0
+#define INTERJECTION_TYPES (INTERJECT_PANIC + 1)
+extern void FDECL(interject_assistance, (int,int,genericptr_t,genericptr_t));
+extern void FDECL(interject, (int));
+
/* The following is needed for prototypes of certain functions */
#if defined(_MSC_VER)
#include <process.h> /* Provides prototypes of exit(), spawn() */
Index: decl.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/decl.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- decl.h 7 Oct 2003 19:00:05 -0000 1.1.1.1
+++ decl.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -153,6 +153,10 @@
#if defined(VMS) || defined(WIN32)
int exiting; /* an exit handler is executing */
#endif
+ int in_impossible;
+#ifdef PANICLOG
+ int in_paniclog;
+#endif
} program_state;
E boolean restoring;
@@ -289,7 +293,8 @@
*const c_silly_thing_to, *const c_shudder_for_moment,
*const c_something, *const c_Something,
*const c_You_can_move_again,
- *const c_Never_mind, *c_vision_clears;
+ *const c_Never_mind, *c_vision_clears,
+ *const c_the_your[2];
} c_common_strings;
#define nothing_happens c_common_strings.c_nothing_happens
#define thats_enough_tries c_common_strings.c_thats_enough_tries
@@ -300,6 +305,7 @@
#define You_can_move_again c_common_strings.c_You_can_move_again
#define Never_mind c_common_strings.c_Never_mind
#define vision_clears c_common_strings.c_vision_clears
+#define the_your c_common_strings.c_the_your
/* material strings */
E const char *materialnm[];
@@ -370,6 +376,14 @@
#ifdef PREFIXES_IN_USE
E char *fqn_prefix_names[PREFIX_COUNT];
#endif
+
+#ifdef AUTOPICKUP_EXCEPTIONS
+struct autopickup_exception {
+ char *pattern;
+ boolean grab;
+ struct autopickup_exception *next;
+};
+#endif /* AUTOPICKUP_EXCEPTIONS */
#undef E
Index: flag.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/flag.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- flag.h 7 Oct 2003 19:00:06 -0000 1.1.1.1
+++ flag.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -168,10 +168,12 @@
boolean menu_requested; /* Flag for overloaded use of 'm' prefix
* on some non-move commands */
uchar num_pad_mode;
+ int menu_headings; /* ATR for menu headings */
int purge_monsters; /* # of dead monsters still on fmon list */
int *opt_booldup; /* for duplication of boolean opts in config file */
int *opt_compdup; /* for duplication of compound opts in config file */
uchar bouldersym; /* symbol for boulder display */
+ boolean travel1; /* first travel step */
coord travelcc; /* coordinates for travel_cache */
#ifdef WIZARD
boolean sanity_check; /* run sanity checks */
@@ -269,6 +271,11 @@
boolean showrace; /* show hero glyph by race rather than by role */
boolean travelcmd; /* allow travel command */
int runmode; /* update screen display during run moves */
+#ifdef AUTOPICKUP_EXCEPTIONS
+ struct autopickup_exception *autopickup_exceptions[2];
+#define AP_LEAVE 0
+#define AP_GRAB 1
+#endif
#ifdef WIN32CON
#define MAX_ALTKEYHANDLER 25
char altkeyhandler[MAX_ALTKEYHANDLER];
Index: dungeon.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/dungeon.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- dungeon.h 7 Oct 2003 19:00:05 -0000 1.1.1.1
+++ dungeon.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -106,6 +106,7 @@
#define Is_medusa_level(x) (on_level(x, &medusa_level))
#define Is_oracle_level(x) (on_level(x, &oracle_level))
#define Is_valley(x) (on_level(x, &valley_level))
+#define Is_juiblex_level(x) (on_level(x, &juiblex_level))
#define Is_asmo_level(x) (on_level(x, &asmodeus_level))
#define Is_baal_level(x) (on_level(x, &baalzebub_level))
#define Is_wiz1_level(x) (on_level(x, &wiz1_level))
Index: config.h
===================================================================
RCS file: /cvsroot/pkg-nethack/nethack/include/config.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- config.h 7 Oct 2003 19:00:05 -0000 1.1.1.1
+++ config.h 9 Dec 2003 16:14:43 -0000 1.2
@@ -1,4 +1,4 @@
-/* SCCS Id: @(#)config.h 3.4 2003/02/19 */
+/* SCCS Id: @(#)config.h 3.4 2003/12/06 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -85,7 +85,9 @@
#ifdef QT_GRAPHICS
# define DEFAULT_WC_TILED_MAP /* Default to tiles if users doesn't say wc_ascii_map */
# define USER_SOUNDS /* Use sounds */
-# define USER_SOUNDS_REGEX
+# ifndef __APPLE__
+# define USER_SOUNDS_REGEX
+# endif
# define USE_XPM /* Use XPM format for images (required) */
# define GRAPHIC_TOMBSTONE /* Use graphical tombstone (rip.ppm) */
# ifndef DEFAULT_WINDOW_SYS
@@ -202,11 +204,7 @@
* otherwise it will be the current directory.
*/
# ifndef HACKDIR
-# ifdef __APPLE__
-# define HACKDIR "nethackdir" /* nethack directory */
-# else
-# define HACKDIR "/usr/games/lib/nethackdir"
-# endif
+# define HACKDIR "/usr/games/lib/nethackdir"
# endif
/*
@@ -351,6 +349,7 @@
*/
/*#define GOLDOBJ */ /* Gold is kept on obj chains - Helge Hafting */
+/*#define AUTOPICKUP_EXCEPTIONS */ /* exceptions to autopickup */
/* End of Section 5 */