Make AUTOPICKUP_EXCEPTIONS unconditional.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 config.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 config.h $NHDT-Date: 1425081976 2015/02/28 00:06:16 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.48 $ */
|
||||||
/* NetHack 3.5 config.h $Date: 2012/01/27 20:15:26 $ $Revision: 1.37 $ */
|
/* NetHack 3.5 config.h $Date: 2012/01/27 20:15:26 $ $Revision: 1.37 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -424,7 +424,6 @@ typedef unsigned char uchar;
|
|||||||
# define CLIPPING /* allow smaller screens -- ERS */
|
# define CLIPPING /* allow smaller screens -- ERS */
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#define AUTOPICKUP_EXCEPTIONS /* exceptions to autopickup */
|
|
||||||
|
|
||||||
#ifdef REDO
|
#ifdef REDO
|
||||||
# define DOAGAIN '\001' /* ^A, the "redo" key used in cmd.c and getline.c */
|
# define DOAGAIN '\001' /* ^A, the "redo" key used in cmd.c and getline.c */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 decl.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 decl.h $NHDT-Date: 1425081976 2015/02/28 00:06:16 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.50 $ */
|
||||||
/* NetHack 3.5 decl.h $Date: 2011/12/29 20:06:27 $ $Revision: 1.44 $ */
|
/* NetHack 3.5 decl.h $Date: 2011/12/29 20:06:27 $ $Revision: 1.44 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -381,13 +381,11 @@ E char *fqn_prefix_names[PREFIX_COUNT];
|
|||||||
|
|
||||||
E NEARDATA struct savefile_info sfcap, sfrestinfo, sfsaveinfo;
|
E NEARDATA struct savefile_info sfcap, sfrestinfo, sfsaveinfo;
|
||||||
|
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
struct autopickup_exception {
|
struct autopickup_exception {
|
||||||
char *pattern;
|
char *pattern;
|
||||||
boolean grab;
|
boolean grab;
|
||||||
struct autopickup_exception *next;
|
struct autopickup_exception *next;
|
||||||
};
|
};
|
||||||
#endif /* AUTOPICKUP_EXCEPTIONS */
|
|
||||||
|
|
||||||
#ifdef PANICTRACE
|
#ifdef PANICTRACE
|
||||||
E char *ARGV0;
|
E char *ARGV0;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 extern.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 extern.h $NHDT-Date: 1425081976 2015/02/28 00:06:16 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.390 $ */
|
||||||
/* NetHack 3.5 extern.h $Date: 2013/11/05 00:57:53 $ $Revision: 1.380 $ */
|
/* NetHack 3.5 extern.h $Date: 2013/11/05 00:57:53 $ $Revision: 1.380 $ */
|
||||||
/* Copyright (c) Steve Creps, 1988. */
|
/* Copyright (c) Steve Creps, 1988. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -1587,10 +1587,8 @@ E void FDECL(set_duplicate_opt_detection, (int));
|
|||||||
E void FDECL(set_wc_option_mod_status, (unsigned long, int));
|
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_wc2_option_mod_status, (unsigned long, int));
|
||||||
E void FDECL(set_option_mod_status, (const char *,int));
|
E void FDECL(set_option_mod_status, (const char *,int));
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
E int FDECL(add_autopickup_exception, (const char *));
|
E int FDECL(add_autopickup_exception, (const char *));
|
||||||
E void NDECL(free_autopickup_exceptions);
|
E void NDECL(free_autopickup_exceptions);
|
||||||
#endif /* AUTOPICKUP_EXCEPTIONS */
|
|
||||||
#ifdef LOADSYMSETS
|
#ifdef LOADSYMSETS
|
||||||
E int FDECL(load_symset, (const char *,int));
|
E int FDECL(load_symset, (const char *,int));
|
||||||
E void FDECL(parsesymbols, (char *));
|
E void FDECL(parsesymbols, (char *));
|
||||||
@@ -1687,9 +1685,7 @@ E boolean FDECL(container_gone, (int (*)(OBJ_P)));
|
|||||||
E int FDECL(use_container, (struct obj **,int));
|
E int FDECL(use_container, (struct obj **,int));
|
||||||
E int FDECL(loot_mon, (struct monst *,int *,boolean *));
|
E int FDECL(loot_mon, (struct monst *,int *,boolean *));
|
||||||
E int NDECL(dotip);
|
E int NDECL(dotip);
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
E boolean FDECL(is_autopickup_exception, (struct obj *, BOOLEAN_P));
|
E boolean FDECL(is_autopickup_exception, (struct obj *, BOOLEAN_P));
|
||||||
#endif /* AUTOPICKUP_EXCEPTIONS */
|
|
||||||
|
|
||||||
/* ### pline.c ### */
|
/* ### pline.c ### */
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 flag.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 flag.h $NHDT-Date: 1425081976 2015/02/28 00:06:16 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.60 $ */
|
||||||
/* NetHack 3.5 flag.h $Date: 2012/04/09 02:56:32 $ $Revision: 1.59 $ */
|
/* NetHack 3.5 flag.h $Date: 2012/04/09 02:56:32 $ $Revision: 1.59 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -297,11 +297,9 @@ struct instance_flags {
|
|||||||
boolean cmdassist; /* provide detailed assistance for some commands */
|
boolean cmdassist; /* provide detailed assistance for some commands */
|
||||||
boolean clicklook; /* allow right-clicking for look */
|
boolean clicklook; /* allow right-clicking for look */
|
||||||
boolean obsolete; /* obsolete options can point at this, it isn't used */
|
boolean obsolete; /* obsolete options can point at this, it isn't used */
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
struct autopickup_exception *autopickup_exceptions[2];
|
struct autopickup_exception *autopickup_exceptions[2];
|
||||||
#define AP_LEAVE 0
|
#define AP_LEAVE 0
|
||||||
#define AP_GRAB 1
|
#define AP_GRAB 1
|
||||||
#endif
|
|
||||||
#ifdef WIN32CON
|
#ifdef WIN32CON
|
||||||
#define MAX_ALTKEYHANDLER 25
|
#define MAX_ALTKEYHANDLER 25
|
||||||
char altkeyhandler[MAX_ALTKEYHANDLER];
|
char altkeyhandler[MAX_ALTKEYHANDLER];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 wceconf.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 wceconf.h $NHDT-Date: 1425081976 2015/02/28 00:06:16 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.12 $ */
|
||||||
/* NetHack 3.5 wceconf.h $Date: 2009/10/22 02:59:14 $ $Revision: 1.12 $ */
|
/* NetHack 3.5 wceconf.h $Date: 2009/10/22 02:59:14 $ $Revision: 1.12 $ */
|
||||||
/* Copyright (C) 2001 by Alex Kompel */
|
/* Copyright (C) 2001 by Alex Kompel */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -44,8 +44,6 @@
|
|||||||
|
|
||||||
#define USER_SOUNDS
|
#define USER_SOUNDS
|
||||||
|
|
||||||
#define AUTOPICKUP_EXCEPTIONS
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* -----------------------------------------------------------------
|
* -----------------------------------------------------------------
|
||||||
* The remaining code shouldn't need modification.
|
* The remaining code shouldn't need modification.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 files.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 files.c $NHDT-Date: 1425081976 2015/02/28 00:06:16 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.127 $ */
|
||||||
/* NetHack 3.5 files.c $Date: 2012/03/10 02:49:08 $ $Revision: 1.124 $ */
|
/* NetHack 3.5 files.c $Date: 2012/03/10 02:49:08 $ $Revision: 1.124 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -2020,10 +2020,8 @@ int src;
|
|||||||
parseoptions(bufp, TRUE, TRUE);
|
parseoptions(bufp, TRUE, TRUE);
|
||||||
if (plname[0]) /* If a name was given */
|
if (plname[0]) /* If a name was given */
|
||||||
plnamesuffix(); /* set the character class */
|
plnamesuffix(); /* set the character class */
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
} else if (match_varname(buf, "AUTOPICKUP_EXCEPTION", 5)) {
|
} else if (match_varname(buf, "AUTOPICKUP_EXCEPTION", 5)) {
|
||||||
add_autopickup_exception(bufp);
|
add_autopickup_exception(bufp);
|
||||||
#endif
|
|
||||||
#ifdef NOCWD_ASSUMPTIONS
|
#ifdef NOCWD_ASSUMPTIONS
|
||||||
} else if (match_varname(buf, "HACKDIR", 4)) {
|
} else if (match_varname(buf, "HACKDIR", 4)) {
|
||||||
adjust_prefix(bufp, HACKPREFIX);
|
adjust_prefix(bufp, HACKPREFIX);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 options.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 options.c $NHDT-Date: 1425081976 2015/02/28 00:06:16 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.156 $ */
|
||||||
/* NetHack 3.5 options.c $Date: 2012/04/09 02:56:30 $ $Revision: 1.153 $ */
|
/* NetHack 3.5 options.c $Date: 2012/04/09 02:56:30 $ $Revision: 1.153 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -501,10 +501,8 @@ STATIC_OVL boolean FDECL(is_wc_option, (const char *));
|
|||||||
STATIC_OVL boolean FDECL(wc_supported, (const char *));
|
STATIC_OVL boolean FDECL(wc_supported, (const char *));
|
||||||
STATIC_OVL boolean FDECL(is_wc2_option, (const char *));
|
STATIC_OVL boolean FDECL(is_wc2_option, (const char *));
|
||||||
STATIC_OVL boolean FDECL(wc2_supported, (const char *));
|
STATIC_OVL boolean FDECL(wc2_supported, (const char *));
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
STATIC_DCL void FDECL(remove_autopickup_exception, (struct autopickup_exception *));
|
STATIC_DCL void FDECL(remove_autopickup_exception, (struct autopickup_exception *));
|
||||||
STATIC_OVL int FDECL(count_ape_maps, (int *, int *));
|
STATIC_OVL int FDECL(count_ape_maps, (int *, int *));
|
||||||
#endif
|
|
||||||
|
|
||||||
/* check whether a user-supplied option string is a proper leading
|
/* check whether a user-supplied option string is a proper leading
|
||||||
substring of a particular option name; option string might have
|
substring of a particular option name; option string might have
|
||||||
@@ -2923,12 +2921,10 @@ doset()
|
|||||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
|
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
any.a_int = -1;
|
any.a_int = -1;
|
||||||
Sprintf(buf, "autopickup exceptions (%d currently set)",
|
Sprintf(buf, "autopickup exceptions (%d currently set)",
|
||||||
count_ape_maps((int *)0, (int *)0));
|
count_ape_maps((int *)0, (int *)0));
|
||||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
|
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
|
||||||
#endif /* AUTOPICKUP_EXCEPTIONS */
|
|
||||||
#ifdef PREFIXES_IN_USE
|
#ifdef PREFIXES_IN_USE
|
||||||
any = zeroany;
|
any = zeroany;
|
||||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||||
@@ -2948,12 +2944,10 @@ doset()
|
|||||||
*/
|
*/
|
||||||
for (pick_idx = 0; pick_idx < pick_cnt; ++pick_idx) {
|
for (pick_idx = 0; pick_idx < pick_cnt; ++pick_idx) {
|
||||||
opt_indx = pick_list[pick_idx].item.a_int - 1;
|
opt_indx = pick_list[pick_idx].item.a_int - 1;
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
if (opt_indx == -2) { /* -3 due to -1 offset for select_menu() */
|
if (opt_indx == -2) { /* -3 due to -1 offset for select_menu() */
|
||||||
(void)special_handling("autopickup_exception",
|
(void)special_handling("autopickup_exception",
|
||||||
setinitial, fromfile);
|
setinitial, fromfile);
|
||||||
} else
|
} else
|
||||||
#endif
|
|
||||||
#ifdef STATUS_VIA_WINDOWPORT
|
#ifdef STATUS_VIA_WINDOWPORT
|
||||||
# ifdef STATUS_HILITES
|
# ifdef STATUS_HILITES
|
||||||
if (opt_indx == -3) { /* -3 due to -1 offset for select_menu() */
|
if (opt_indx == -3) { /* -3 due to -1 offset for select_menu() */
|
||||||
@@ -3020,9 +3014,7 @@ boolean setinitial,setfromfile;
|
|||||||
|
|
||||||
/* Special handling of menustyle, pickup_burden, pickup_types,
|
/* Special handling of menustyle, pickup_burden, pickup_types,
|
||||||
* disclose, runmode, msg_window, menu_headings, and number_pad options.
|
* disclose, runmode, msg_window, menu_headings, and number_pad options.
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
* Also takes care of interactive autopickup_exception_handling changes.
|
* Also takes care of interactive autopickup_exception_handling changes.
|
||||||
#endif
|
|
||||||
*/
|
*/
|
||||||
if (!strcmp("menustyle", optname)) {
|
if (!strcmp("menustyle", optname)) {
|
||||||
const char *style_name;
|
const char *style_name;
|
||||||
@@ -3296,7 +3288,6 @@ boolean setinitial,setfromfile;
|
|||||||
}
|
}
|
||||||
destroy_nhwindow(tmpwin);
|
destroy_nhwindow(tmpwin);
|
||||||
} else if (!strcmp("autopickup_exception", optname)) {
|
} else if (!strcmp("autopickup_exception", optname)) {
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
int pick_cnt, pick_idx, opt_idx, pass;
|
int pick_cnt, pick_idx, opt_idx, pass;
|
||||||
int totalapes = 0, numapes[2] = {0,0};
|
int totalapes = 0, numapes[2] = {0,0};
|
||||||
menu_item *pick_list = (menu_item *)0;
|
menu_item *pick_list = (menu_item *)0;
|
||||||
@@ -3392,7 +3383,6 @@ boolean setinitial,setfromfile;
|
|||||||
destroy_nhwindow(tmpwin);
|
destroy_nhwindow(tmpwin);
|
||||||
if (pick_cnt >= 0) goto ape_again;
|
if (pick_cnt >= 0) goto ape_again;
|
||||||
}
|
}
|
||||||
#endif /* AUTOPICKUP_EXCEPTIONS */
|
|
||||||
} else if (!strcmp("symset", optname)
|
} else if (!strcmp("symset", optname)
|
||||||
|| !strcmp("roguesymset", optname)) {
|
|| !strcmp("roguesymset", optname)) {
|
||||||
menu_item *symset_pick = (menu_item *)0;
|
menu_item *symset_pick = (menu_item *)0;
|
||||||
@@ -3897,12 +3887,10 @@ dotogglepickup()
|
|||||||
if (flags.pickup) {
|
if (flags.pickup) {
|
||||||
oc_to_str(flags.pickup_types, ocl);
|
oc_to_str(flags.pickup_types, ocl);
|
||||||
Sprintf(buf, "ON, for %s objects%s", ocl[0] ? ocl : "all",
|
Sprintf(buf, "ON, for %s objects%s", ocl[0] ? ocl : "all",
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
(iflags.autopickup_exceptions[AP_LEAVE] ||
|
(iflags.autopickup_exceptions[AP_LEAVE] ||
|
||||||
iflags.autopickup_exceptions[AP_GRAB]) ?
|
iflags.autopickup_exceptions[AP_GRAB]) ?
|
||||||
((count_ape_maps((int *)0, (int *)0) == 1) ?
|
((count_ape_maps((int *)0, (int *)0) == 1) ?
|
||||||
", with one exception" : ", with some exceptions") :
|
", with one exception" : ", with some exceptions") :
|
||||||
#endif
|
|
||||||
"");
|
"");
|
||||||
} else {
|
} else {
|
||||||
Strcpy(buf, "OFF");
|
Strcpy(buf, "OFF");
|
||||||
@@ -3911,7 +3899,6 @@ dotogglepickup()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
int
|
int
|
||||||
add_autopickup_exception(mapping)
|
add_autopickup_exception(mapping)
|
||||||
const char *mapping;
|
const char *mapping;
|
||||||
@@ -4004,7 +3991,6 @@ free_autopickup_exceptions()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* AUTOPICKUP_EXCEPTIONS */
|
|
||||||
|
|
||||||
#ifdef LOADSYMSETS
|
#ifdef LOADSYMSETS
|
||||||
/* bundle some common usage into one easy-to-use routine */
|
/* bundle some common usage into one easy-to-use routine */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 pickup.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 pickup.c $NHDT-Date: 1425081977 2015/02/28 00:06:17 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.126 $ */
|
||||||
/* NetHack 3.5 pickup.c $Date: 2012/02/16 03:01:38 $ $Revision: 1.123 $ */
|
/* NetHack 3.5 pickup.c $Date: 2012/02/16 03:01:38 $ $Revision: 1.123 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -612,7 +612,6 @@ end_query:
|
|||||||
return (n_tried > 0);
|
return (n_tried > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
boolean
|
boolean
|
||||||
is_autopickup_exception(obj, grab)
|
is_autopickup_exception(obj, grab)
|
||||||
struct obj *obj;
|
struct obj *obj;
|
||||||
@@ -631,7 +630,6 @@ boolean grab; /* forced pickup, rather than forced leave behind? */
|
|||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#endif /* AUTOPICKUP_EXCEPTIONS */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Pick from the given list using flags.pickup_types. Return the number
|
* Pick from the given list using flags.pickup_types. Return the number
|
||||||
@@ -655,12 +653,10 @@ menu_item **pick_list; /* list of objects and counts to pick up */
|
|||||||
/* first count the number of eligible items */
|
/* first count the number of eligible items */
|
||||||
for (n = 0, curr = olist; curr; curr = FOLLOW(curr, follow)) {
|
for (n = 0, curr = olist; curr; curr = FOLLOW(curr, follow)) {
|
||||||
pickit = (!*otypes || index(otypes, curr->oclass));
|
pickit = (!*otypes || index(otypes, curr->oclass));
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
/* check for "always pick up */
|
/* check for "always pick up */
|
||||||
if (!pickit) pickit = is_autopickup_exception(curr, TRUE);
|
if (!pickit) pickit = is_autopickup_exception(curr, TRUE);
|
||||||
/* then for "never pick up */
|
/* then for "never pick up */
|
||||||
if (pickit) pickit = !is_autopickup_exception(curr, FALSE);
|
if (pickit) pickit = !is_autopickup_exception(curr, FALSE);
|
||||||
#endif
|
|
||||||
/* pickup_thrown overrides pickup_types and exceptions */
|
/* pickup_thrown overrides pickup_types and exceptions */
|
||||||
if (!pickit) pickit = (flags.pickup_thrown && curr->was_thrown);
|
if (!pickit) pickit = (flags.pickup_thrown && curr->was_thrown);
|
||||||
/* finally, do we count this object? */
|
/* finally, do we count this object? */
|
||||||
@@ -671,10 +667,8 @@ menu_item **pick_list; /* list of objects and counts to pick up */
|
|||||||
*pick_list = pi = (menu_item *) alloc(sizeof(menu_item) * n);
|
*pick_list = pi = (menu_item *) alloc(sizeof(menu_item) * n);
|
||||||
for (n = 0, curr = olist; curr; curr = FOLLOW(curr, follow)) {
|
for (n = 0, curr = olist; curr; curr = FOLLOW(curr, follow)) {
|
||||||
pickit = (!*otypes || index(otypes, curr->oclass));
|
pickit = (!*otypes || index(otypes, curr->oclass));
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
if (!pickit) pickit = is_autopickup_exception(curr, TRUE);
|
if (!pickit) pickit = is_autopickup_exception(curr, TRUE);
|
||||||
if (pickit) pickit = !is_autopickup_exception(curr, FALSE);
|
if (pickit) pickit = !is_autopickup_exception(curr, FALSE);
|
||||||
#endif
|
|
||||||
if (!pickit) pickit = (flags.pickup_thrown && curr->was_thrown);
|
if (!pickit) pickit = (flags.pickup_thrown && curr->was_thrown);
|
||||||
if (pickit) {
|
if (pickit) {
|
||||||
pi[n].item.a_obj = curr;
|
pi[n].item.a_obj = curr;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 save.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 save.c $NHDT-Date: 1425081977 2015/02/28 00:06:17 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.59 $ */
|
||||||
/* NetHack 3.5 save.c $Date: 2012/02/16 02:40:24 $ $Revision: 1.53 $ */
|
/* NetHack 3.5 save.c $Date: 2012/02/16 02:40:24 $ $Revision: 1.53 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -1345,9 +1345,7 @@ freedynamicdata()
|
|||||||
if (iflags.wc_font_menu) free(iflags.wc_font_menu);
|
if (iflags.wc_font_menu) free(iflags.wc_font_menu);
|
||||||
if (iflags.wc_font_status) free(iflags.wc_font_status);
|
if (iflags.wc_font_status) free(iflags.wc_font_status);
|
||||||
if (iflags.wc_tile_file) free(iflags.wc_tile_file);
|
if (iflags.wc_tile_file) free(iflags.wc_tile_file);
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
free_autopickup_exceptions();
|
free_autopickup_exceptions();
|
||||||
#endif
|
|
||||||
#endif /* FREE_ALL_MEMORY */
|
#endif /* FREE_ALL_MEMORY */
|
||||||
#ifdef STATUS_VIA_WINDOWPORT
|
#ifdef STATUS_VIA_WINDOWPORT
|
||||||
status_finish();
|
status_finish();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 makedefs.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 makedefs.c $NHDT-Date: 1425081977 2015/02/28 00:06:17 $ $NHDT-Branch: (no branch, rebasing scshunt-unconditionals) $:$NHDT-Revision: 1.61 $ */
|
||||||
/* NetHack 3.5 makedefs.c $Date: 2012/01/15 09:27:03 $ $Revision: 1.50 $ */
|
/* NetHack 3.5 makedefs.c $Date: 2012/01/15 09:27:03 $ $Revision: 1.50 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* Copyright (c) M. Stephenson, 1990, 1991. */
|
/* Copyright (c) M. Stephenson, 1990, 1991. */
|
||||||
@@ -1208,9 +1208,6 @@ static const char *build_opts[] = {
|
|||||||
#ifdef ANSI_DEFAULT
|
#ifdef ANSI_DEFAULT
|
||||||
"ANSI default terminal",
|
"ANSI default terminal",
|
||||||
#endif
|
#endif
|
||||||
#ifdef AUTOPICKUP_EXCEPTIONS
|
|
||||||
"autopickup exceptions",
|
|
||||||
#endif
|
|
||||||
#ifdef TEXTCOLOR
|
#ifdef TEXTCOLOR
|
||||||
"color",
|
"color",
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user