Merge branch 'NetHack-3.6.2'
This commit is contained in:
+9
-4
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 decl.h $NHDT-Date: 1496531104 2017/06/03 23:05:04 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.82 $ */
|
||||
/* NetHack 3.6 decl.h $NHDT-Date: 1547025154 2019/01/09 09:12:34 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.147 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Michael Allison, 2007. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -751,9 +751,6 @@ struct instance_globals {
|
||||
char *fqn_prefix[PREFIX_COUNT];
|
||||
/* Windowing stuff that's really tty oriented, but present for all ports */
|
||||
struct tc_gbl_data tc_gbl_data; /* AS,AE, LI,CO */
|
||||
struct obj zeroobj; /* used to zero out a struct obj */
|
||||
struct monst zeromonst; /* used to zero out a struct monst */
|
||||
anything zeroany; /* used to zero out union any */
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
int locknum; /* max num of simultaneous users */
|
||||
#endif
|
||||
@@ -1174,6 +1171,14 @@ struct instance_globals {
|
||||
|
||||
E struct instance_globals g;
|
||||
|
||||
struct const_globals {
|
||||
const struct obj zeroobj; /* used to zero out a struct obj */
|
||||
const struct monst zeromonst; /* used to zero out a struct monst */
|
||||
const anything zeroany; /* used to zero out union any */
|
||||
};
|
||||
|
||||
E const struct const_globals cg;
|
||||
|
||||
#undef E
|
||||
|
||||
#endif /* DECL_H */
|
||||
|
||||
+2
-2
@@ -2287,7 +2287,7 @@ struct obj *obj;
|
||||
return;
|
||||
consume_obj_charge(obj, TRUE);
|
||||
|
||||
if (otmp != &g.zeroobj) {
|
||||
if (otmp != &cg.zeroobj) {
|
||||
You("cover %s with a thick layer of grease.", yname(otmp));
|
||||
otmp->greased = 1;
|
||||
if (obj->cursed && !nohands(g.youmonst.data)) {
|
||||
@@ -3148,7 +3148,7 @@ struct obj *obj;
|
||||
char buf[BUFSZ];
|
||||
menu_item *selected;
|
||||
|
||||
any = g.zeroany; /* set all bits to zero */
|
||||
any = cg.zeroany; /* set all bits to zero */
|
||||
any.a_int = 1; /* use index+1 (cant use 0) as identifier */
|
||||
start_menu(tmpwin);
|
||||
any.a_int++;
|
||||
|
||||
+2
-2
@@ -1437,7 +1437,7 @@ struct obj *obj;
|
||||
struct obj pseudo;
|
||||
|
||||
pseudo =
|
||||
g.zeroobj; /* neither cursed nor blessed, zero oextra too */
|
||||
cg.zeroobj; /* neither cursed nor blessed, zero oextra too */
|
||||
pseudo.otyp = SCR_TAMING;
|
||||
(void) seffects(&pseudo);
|
||||
break;
|
||||
@@ -1512,7 +1512,7 @@ struct obj *obj;
|
||||
winid tmpwin = create_nhwindow(NHW_MENU);
|
||||
anything any;
|
||||
|
||||
any = g.zeroany; /* set all bits to zero */
|
||||
any = cg.zeroany; /* set all bits to zero */
|
||||
start_menu(tmpwin);
|
||||
/* use index+1 (cant use 0) as identifier */
|
||||
for (i = num_ok_dungeons = 0; i < g.n_dgns; i++) {
|
||||
|
||||
+24
-24
@@ -922,7 +922,7 @@ init_blstats()
|
||||
#endif
|
||||
|
||||
g.blstats[i][j] = initblstats[j];
|
||||
g.blstats[i][j].a = g.zeroany;
|
||||
g.blstats[i][j].a = cg.zeroany;
|
||||
if (g.blstats[i][j].valwidth) {
|
||||
g.blstats[i][j].val = (char *) alloc(g.blstats[i][j].valwidth);
|
||||
g.blstats[i][j].val[0] = '\0';
|
||||
@@ -1759,7 +1759,7 @@ int arrmin, arrmax;
|
||||
start_menu(tmpwin);
|
||||
|
||||
for (i = arrmin; i < arrmax; i++) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = i + adj;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
arr[i], MENU_UNSELECTED);
|
||||
@@ -2131,7 +2131,7 @@ query_conditions()
|
||||
start_menu(tmpwin);
|
||||
|
||||
for (i = 0; i < SIZE(valid_conditions); i++) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_ulong = valid_conditions[i].bitmask;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
valid_conditions[i].id, MENU_UNSELECTED);
|
||||
@@ -2692,7 +2692,7 @@ status_hilite_menu_choose_field()
|
||||
&& !g.blstats[0][BL_SCORE].thresholds)
|
||||
continue;
|
||||
#endif
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = (i + 1);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
initblstats[i].fldname, MENU_UNSELECTED);
|
||||
@@ -2730,7 +2730,7 @@ int fld;
|
||||
start_menu(tmpwin);
|
||||
|
||||
if (fld != BL_CONDITION) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = onlybeh = BL_TH_ALWAYS_HILITE;
|
||||
Sprintf(buf, "Always highlight %s", initblstats[fld].fldname);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'a', 0, ATR_NONE,
|
||||
@@ -2739,7 +2739,7 @@ int fld;
|
||||
}
|
||||
|
||||
if (fld == BL_CONDITION) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = onlybeh = BL_TH_CONDITION;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'b', 0, ATR_NONE,
|
||||
"Bitmask of conditions", MENU_UNSELECTED);
|
||||
@@ -2747,7 +2747,7 @@ int fld;
|
||||
}
|
||||
|
||||
if (fld != BL_CONDITION) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = onlybeh = BL_TH_UPDOWN;
|
||||
Sprintf(buf, "%s value changes", initblstats[fld].fldname);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'c', 0, ATR_NONE,
|
||||
@@ -2757,7 +2757,7 @@ int fld;
|
||||
|
||||
if (fld != BL_CAP && fld != BL_HUNGER
|
||||
&& (at == ANY_INT || at == ANY_LONG)) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = onlybeh = BL_TH_VAL_ABSOLUTE;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'n', 0, ATR_NONE,
|
||||
"Number threshold", MENU_UNSELECTED);
|
||||
@@ -2765,7 +2765,7 @@ int fld;
|
||||
}
|
||||
|
||||
if (initblstats[fld].idxmax >= 0) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = onlybeh = BL_TH_VAL_PERCENTAGE;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'p', 0, ATR_NONE,
|
||||
"Percentage threshold", MENU_UNSELECTED);
|
||||
@@ -2774,7 +2774,7 @@ int fld;
|
||||
|
||||
if (initblstats[fld].anytype == ANY_STR
|
||||
|| fld == BL_CAP || fld == BL_HUNGER) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = onlybeh = BL_TH_TEXTMATCH;
|
||||
Sprintf(buf, "%s text match", initblstats[fld].fldname);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 't', 0, ATR_NONE,
|
||||
@@ -2822,7 +2822,7 @@ boolean ltok, gtok;
|
||||
(fld == BL_AC) ? "Better (lower)" : "Less", str);
|
||||
else
|
||||
Sprintf(buf, "Value goes down");
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 10 + LT_VALUE;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
buf, MENU_UNSELECTED);
|
||||
@@ -2830,7 +2830,7 @@ boolean ltok, gtok;
|
||||
if (str) {
|
||||
Sprintf(buf, "%s or %s",
|
||||
str, (fld == BL_AC) ? "better (lower)" : "less");
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 10 + LE_VALUE;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
buf, MENU_UNSELECTED);
|
||||
@@ -2841,7 +2841,7 @@ boolean ltok, gtok;
|
||||
Sprintf(buf, "Exactly %s", str);
|
||||
else
|
||||
Sprintf(buf, "Value changes");
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 10 + EQ_VALUE;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
buf, MENU_UNSELECTED);
|
||||
@@ -2850,7 +2850,7 @@ boolean ltok, gtok;
|
||||
if (str) {
|
||||
Sprintf(buf, "%s or %s",
|
||||
str, (fld == BL_AC) ? "worse (higher)" : "more");
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 10 + GE_VALUE;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
buf, MENU_UNSELECTED);
|
||||
@@ -2861,7 +2861,7 @@ boolean ltok, gtok;
|
||||
(fld == BL_AC) ? "Worse (higher)" : "More", str);
|
||||
else
|
||||
Sprintf(buf, "Value goes up");
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 10 + GT_VALUE;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
buf, MENU_UNSELECTED);
|
||||
@@ -2993,7 +2993,7 @@ choose_value:
|
||||
: (lt_gt_eq == EQ_VALUE) ? "="
|
||||
: ""; /* didn't specify lt_gt_eq with number */
|
||||
|
||||
aval = g.zeroany;
|
||||
aval = cg.zeroany;
|
||||
dt = percent ? ANY_INT : initblstats[fld].anytype;
|
||||
(void) s_to_anything(&aval, numstart, dt);
|
||||
|
||||
@@ -3363,7 +3363,7 @@ int fld;
|
||||
hlstr = status_hilite_str;
|
||||
while (hlstr) {
|
||||
if (hlstr->fld == fld) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = hlstr->id;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
hlstr->str, MENU_UNSELECTED);
|
||||
@@ -3371,17 +3371,17 @@ int fld;
|
||||
hlstr = hlstr->next;
|
||||
}
|
||||
} else {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
Sprintf(buf, "No current hilites for %s", initblstats[fld].fldname);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, MENU_UNSELECTED);
|
||||
}
|
||||
|
||||
/* separator line */
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
|
||||
if (count) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = -1;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'X', 0, ATR_NONE,
|
||||
"Remove selected hilites", MENU_UNSELECTED);
|
||||
@@ -3397,7 +3397,7 @@ int fld;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = -2;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'Z', 0, ATR_NONE,
|
||||
"Add a new hilite", MENU_UNSELECTED);
|
||||
@@ -3493,12 +3493,12 @@ shlmenu_redo:
|
||||
status_hilite_linestr_gather();
|
||||
countall = status_hilite_linestr_countfield(BL_FLUSH);
|
||||
if (countall) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = -1;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
"View all hilites in config format", MENU_UNSELECTED);
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
}
|
||||
|
||||
@@ -3514,7 +3514,7 @@ shlmenu_redo:
|
||||
if (initblstats[i].fld == BL_SCORE && !count)
|
||||
continue;
|
||||
#endif
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = i + 1;
|
||||
Sprintf(buf, "%-18s", initblstats[i].fldname);
|
||||
if (count)
|
||||
|
||||
@@ -372,7 +372,7 @@ doextlist(VOID_ARGS)
|
||||
|
||||
while (redisplay) {
|
||||
redisplay = FALSE;
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
start_menu(menuwin);
|
||||
add_menu(menuwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
"Extended Commands List", MENU_UNSELECTED);
|
||||
@@ -416,7 +416,7 @@ doextlist(VOID_ARGS)
|
||||
: "Show all alphabetically, including debugging commands",
|
||||
MENU_UNSELECTED);
|
||||
}
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(menuwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
"", MENU_UNSELECTED);
|
||||
menushown[0] = menushown[1] = 0;
|
||||
@@ -557,7 +557,7 @@ extcmd_via_menu()
|
||||
biggest = 0;
|
||||
while (!ret) {
|
||||
i = n = 0;
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
/* populate choices */
|
||||
for (efp = extcmdlist; efp->ef_txt; efp++) {
|
||||
if ((efp->flags & CMD_NOT_AVAILABLE)
|
||||
@@ -1326,7 +1326,7 @@ wiz_intrinsic(VOID_ARGS)
|
||||
const char *propname;
|
||||
menu_item *pick_list = (menu_item *) 0;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
for (i = 0; (propname = propertynames[i].prop_name) != 0; ++i) {
|
||||
@@ -1465,7 +1465,7 @@ doterrain(VOID_ARGS)
|
||||
*/
|
||||
men = create_nhwindow(NHW_MENU);
|
||||
start_menu(men);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 1;
|
||||
add_menu(men, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
"known map without monsters, objects, and traps",
|
||||
@@ -1560,7 +1560,7 @@ const char *buf;
|
||||
if (g.en_via_menu) {
|
||||
anything any;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(g.en_win, NO_GLYPH, &any, 0, 0, ATR_NONE, buf, FALSE);
|
||||
} else
|
||||
putstr(g.en_win, 0, buf);
|
||||
@@ -2917,7 +2917,7 @@ minimal_enlightenment()
|
||||
fmtstr = iflags.menu_tab_sep ? tabbed_fmtstr : untabbed_fmtstr;
|
||||
deity_fmtstr = iflags.menu_tab_sep ? tabbed_deity_fmtstr
|
||||
: untabbed_deity_fmtstr;
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
buf[0] = buf2[0] = '\0';
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
@@ -5111,7 +5111,7 @@ const char *text;
|
||||
anything any;
|
||||
|
||||
if ((ch = cmd_from_func(func)) != '\0') {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_nfunc = func;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, text, MENU_UNSELECTED);
|
||||
}
|
||||
|
||||
+7
-4
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 decl.c $NHDT-Date: 1446975463 2015/11/08 09:37:43 $ $NHDT-Branch: master $:$NHDT-Revision: 1.62 $ */
|
||||
/* NetHack 3.6 decl.c $NHDT-Date: 1547025164 2019/01/09 09:12:44 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.141 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Michael Allison, 2009. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -318,9 +318,6 @@ const struct instance_globals g_init = {
|
||||
DUMMY, /* context */
|
||||
DUMMY, /* fqn_prefix */
|
||||
DUMMY, /* tc_gbl_data */
|
||||
DUMMY, /* zeroobj */
|
||||
DUMMY, /* zeromonst */
|
||||
DUMMY, /* zeronay */
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
0, /* locknum */
|
||||
#endif
|
||||
@@ -683,6 +680,12 @@ const struct instance_globals g_init = {
|
||||
|
||||
struct instance_globals g;
|
||||
|
||||
const struct const_globals cg = {
|
||||
DUMMY, /* zeroobj */
|
||||
DUMMY, /* zeromonst */
|
||||
DUMMY, /* zeroany */
|
||||
};
|
||||
|
||||
#define ZERO(x) memset(&x, 0, sizeof(x))
|
||||
|
||||
void
|
||||
|
||||
+4
-4
@@ -404,7 +404,7 @@ outgoldmap:
|
||||
continue; /* probably overkill here */
|
||||
temp = 0;
|
||||
if (findgold(mtmp->minvent) || monsndx(mtmp->data) == PM_GOLD_GOLEM) {
|
||||
gold = g.zeroobj; /* ensure oextra is cleared too */
|
||||
gold = cg.zeroobj; /* ensure oextra is cleared too */
|
||||
gold.otyp = GOLD_PIECE;
|
||||
gold.quan = (long) rnd(10); /* usually more than 1 */
|
||||
gold.ox = mtmp->mx;
|
||||
@@ -730,7 +730,7 @@ int class; /* an object class, 0 for all */
|
||||
&& (!class || class == objects[mtmp->mappearance].oc_class)) {
|
||||
struct obj temp;
|
||||
|
||||
temp = g.zeroobj;
|
||||
temp = cg.zeroobj;
|
||||
temp.otyp = mtmp->mappearance; /* needed for obj_to_glyph() */
|
||||
temp.quan = 1L;
|
||||
temp.ox = mtmp->mx;
|
||||
@@ -741,7 +741,7 @@ int class; /* an object class, 0 for all */
|
||||
&& (!class || class == COIN_CLASS)) {
|
||||
struct obj gold;
|
||||
|
||||
gold = g.zeroobj; /* ensure oextra is cleared too */
|
||||
gold = cg.zeroobj; /* ensure oextra is cleared too */
|
||||
gold.otyp = GOLD_PIECE;
|
||||
gold.quan = (long) rnd(10); /* usually more than 1 */
|
||||
gold.ox = mtmp->mx;
|
||||
@@ -857,7 +857,7 @@ int src_cursed;
|
||||
if (Hallucination || src_cursed) {
|
||||
struct obj obj; /* fake object */
|
||||
|
||||
obj = g.zeroobj;
|
||||
obj = cg.zeroobj;
|
||||
if (trap) {
|
||||
obj.ox = trap->tx;
|
||||
obj.oy = trap->ty;
|
||||
|
||||
+1
-1
@@ -422,7 +422,7 @@ xchar worm_tail; /* mon is actually a worm tail */
|
||||
/* Make a fake object to send to map_object(). */
|
||||
struct obj obj;
|
||||
|
||||
obj = g.zeroobj;
|
||||
obj = cg.zeroobj;
|
||||
obj.ox = x;
|
||||
obj.oy = y;
|
||||
obj.otyp = mon->mappearance;
|
||||
|
||||
+2
-2
@@ -582,7 +582,7 @@ int gloc;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
|
||||
/* gather_locs returns array[0] == you. skip it. */
|
||||
for (i = 1; i < gcount; i++) {
|
||||
@@ -1334,7 +1334,7 @@ docallcmd()
|
||||
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_char = 'm'; /* group accelerator 'C' */
|
||||
add_menu(win, NO_GLYPH, &any, abc ? 0 : any.a_char, 'C', ATR_NONE,
|
||||
"a monster", MENU_UNSELECTED);
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ struct monst *mon;
|
||||
{
|
||||
struct obj *obj, *wep, dummy, *pickaxe, *unihorn, *key;
|
||||
|
||||
dummy = g.zeroobj;
|
||||
dummy = cg.zeroobj;
|
||||
dummy.otyp = GOLD_PIECE; /* not STRANGE_OBJECT or tools of interest */
|
||||
dummy.oartifact = 1; /* so real artifact won't override "don't keep it" */
|
||||
pickaxe = unihorn = key = (struct obj *) 0;
|
||||
|
||||
+2
-2
@@ -1752,7 +1752,7 @@ boolean unreachable;
|
||||
lchoices->lev[lchoices->idx] = lvl_p->dlevel;
|
||||
lchoices->dgn[lchoices->idx] = lvl_p->dnum;
|
||||
lchoices->playerlev[lchoices->idx] = depth(lvl_p);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
if (unreachable) {
|
||||
/* not selectable, but still consumes next menuletter;
|
||||
prepend padding in place of missing menu selector */
|
||||
@@ -1872,7 +1872,7 @@ xchar *rdgn;
|
||||
dptr->depth_start + dptr->entry_lev - 1);
|
||||
}
|
||||
if (bymenu) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings, buf,
|
||||
MENU_UNSELECTED);
|
||||
} else
|
||||
|
||||
@@ -1734,7 +1734,7 @@ set_vanq_order()
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
for (i = 0; i < SIZE(vanqorders); i++) {
|
||||
if (i == VANQ_ALPHA_MIX || i == VANQ_MCLS_HTOL) /* skip these */
|
||||
continue;
|
||||
|
||||
+4
-4
@@ -539,10 +539,10 @@ doengrave()
|
||||
*/
|
||||
|
||||
otmp = getobj(styluses, "write with");
|
||||
if (!otmp) /* otmp == g.zeroobj if fingers */
|
||||
if (!otmp) /* otmp == cg.zeroobj if fingers */
|
||||
return 0;
|
||||
|
||||
if (otmp == &g.zeroobj) {
|
||||
if (otmp == &cg.zeroobj) {
|
||||
Strcat(strcpy(fbuf, "your "), body_part(FINGERTIP));
|
||||
writer = fbuf;
|
||||
} else
|
||||
@@ -571,7 +571,7 @@ doengrave()
|
||||
return 0;
|
||||
}
|
||||
if (IS_GRAVE(levl[u.ux][u.uy].typ)) {
|
||||
if (otmp == &g.zeroobj) { /* using only finger */
|
||||
if (otmp == &cg.zeroobj) { /* using only finger */
|
||||
You("would only make a small smudge on the %s.",
|
||||
surface(u.ux, u.uy));
|
||||
return 0;
|
||||
@@ -1008,7 +1008,7 @@ doengrave()
|
||||
}
|
||||
|
||||
/* Tell adventurer what is going on */
|
||||
if (otmp != &g.zeroobj)
|
||||
if (otmp != &cg.zeroobj)
|
||||
You("%s the %s with %s.", everb, eloc, doname(otmp));
|
||||
else
|
||||
You("%s the %s with your %s.", everb, eloc, body_part(FINGERTIP));
|
||||
|
||||
+2
-2
@@ -2883,7 +2883,7 @@ STATIC_DCL void
|
||||
wizkit_addinv(obj)
|
||||
struct obj *obj;
|
||||
{
|
||||
if (!obj || obj == &g.zeroobj)
|
||||
if (!obj || obj == &cg.zeroobj)
|
||||
return;
|
||||
|
||||
/* subset of starting inventory pre-ID */
|
||||
@@ -2913,7 +2913,7 @@ char *buf;
|
||||
struct obj *otmp = readobjnam(buf, (struct obj *) 0);
|
||||
|
||||
if (otmp) {
|
||||
if (otmp != &g.zeroobj)
|
||||
if (otmp != &cg.zeroobj)
|
||||
wizkit_addinv(otmp);
|
||||
} else {
|
||||
/* .60 limits output line width to 79 chars */
|
||||
|
||||
+4
-4
@@ -28,7 +28,7 @@ anything *
|
||||
uint_to_any(ui)
|
||||
unsigned ui;
|
||||
{
|
||||
g.tmp_anything = g.zeroany;
|
||||
g.tmp_anything = cg.zeroany;
|
||||
g.tmp_anything.a_uint = ui;
|
||||
return &g.tmp_anything;
|
||||
}
|
||||
@@ -37,7 +37,7 @@ anything *
|
||||
long_to_any(lng)
|
||||
long lng;
|
||||
{
|
||||
g.tmp_anything = g.zeroany;
|
||||
g.tmp_anything = cg.zeroany;
|
||||
g.tmp_anything.a_long = lng;
|
||||
return &g.tmp_anything;
|
||||
}
|
||||
@@ -46,7 +46,7 @@ anything *
|
||||
monst_to_any(mtmp)
|
||||
struct monst *mtmp;
|
||||
{
|
||||
g.tmp_anything = g.zeroany;
|
||||
g.tmp_anything = cg.zeroany;
|
||||
g.tmp_anything.a_monst = mtmp;
|
||||
return &g.tmp_anything;
|
||||
}
|
||||
@@ -55,7 +55,7 @@ anything *
|
||||
obj_to_any(obj)
|
||||
struct obj *obj;
|
||||
{
|
||||
g.tmp_anything = g.zeroany;
|
||||
g.tmp_anything = cg.zeroany;
|
||||
g.tmp_anything.a_obj = obj;
|
||||
return &g.tmp_anything;
|
||||
}
|
||||
|
||||
+18
-18
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 invent.c $NHDT-Date: 1546770988 2019/01/06 10:36:28 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.249 $ */
|
||||
/* NetHack 3.6 invent.c $NHDT-Date: 1547025166 2019/01/09 09:12:46 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.250 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -421,7 +421,7 @@ const genericptr vptr2;
|
||||
return val2 - val1; /* bigger is better */
|
||||
}
|
||||
|
||||
tiebreak:
|
||||
tiebreak:
|
||||
/* They're identical, as far as we're concerned. We want
|
||||
to force a deterministic order, and do so by producing a
|
||||
stable sort: maintain the original order of equal items. */
|
||||
@@ -933,7 +933,7 @@ struct obj *obj;
|
||||
&& obj->oartifact != ART_MJOLLNIR
|
||||
&& (throwing_weapon(obj) || is_ammo(obj)))
|
||||
setuqwep(obj);
|
||||
added:
|
||||
added:
|
||||
addinv_core2(obj);
|
||||
carry_obj_effects(obj); /* carrying affects the obj */
|
||||
update_inventory();
|
||||
@@ -1409,7 +1409,7 @@ const char *action;
|
||||
* getobj returns:
|
||||
* struct obj *xxx: object to do something with.
|
||||
* (struct obj *) 0 error return: no object.
|
||||
* &g.zeroobj explicitly no object (as in w-).
|
||||
* &cg.zeroobj explicitly no object (as in w-).
|
||||
!!!! test if gold can be used in unusual ways (eaten etc.)
|
||||
!!!! may be able to remove "usegold"
|
||||
*/
|
||||
@@ -1697,9 +1697,9 @@ register const char *let, *word;
|
||||
You("mime %s something%s%s.", ing_suffix(bp), suf ? " " : "",
|
||||
suf ? suf : "");
|
||||
}
|
||||
return (allownone ? &g.zeroobj : (struct obj *) 0);
|
||||
return (allownone ? (struct obj *) &cg.zeroobj : (struct obj *) 0);
|
||||
}
|
||||
redo_menu:
|
||||
redo_menu:
|
||||
/* since gold is now kept in inventory, we need to do processing for
|
||||
select-from-invent before checking whether gold has been picked */
|
||||
if (ilet == '?' || ilet == '*') {
|
||||
@@ -1730,7 +1730,7 @@ redo_menu:
|
||||
if (!ilet)
|
||||
continue;
|
||||
if (ilet == HANDS_SYM)
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj; /* cast away 'const' */
|
||||
if (ilet == '\033') {
|
||||
if (flags.verbose)
|
||||
pline1(Never_mind);
|
||||
@@ -2134,7 +2134,7 @@ int FDECL((*fn), (OBJ_P)), FDECL((*ckfn), (OBJ_P));
|
||||
* For example, if a person specifies =/ then first all rings
|
||||
* will be asked about followed by all wands. -dgk
|
||||
*/
|
||||
nextclass:
|
||||
nextclass:
|
||||
ilet = 'a' - 1;
|
||||
if (*objchn && (*objchn)->oclass == COIN_CLASS)
|
||||
ilet--; /* extra iteration */
|
||||
@@ -2244,7 +2244,7 @@ nextclass:
|
||||
pline("That was all.");
|
||||
else if (!dud && !cnt)
|
||||
pline("No applicable objects.");
|
||||
ret:
|
||||
ret:
|
||||
unsortloot(&sortedchn);
|
||||
bypass_objlist(*objchn, FALSE);
|
||||
return cnt;
|
||||
@@ -2620,7 +2620,7 @@ long *out_cnt;
|
||||
(boolean FDECL((*), (OBJ_P))) 0);
|
||||
|
||||
start_menu(win);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
if (wizard && iflags.override_ID) {
|
||||
int unid_cnt;
|
||||
char prompt[QBUFSZ];
|
||||
@@ -2660,7 +2660,7 @@ long *out_cnt;
|
||||
add_menu(win, NO_GLYPH, &any, HANDS_SYM, 0, ATR_NONE,
|
||||
xtra_choice, MENU_UNSELECTED);
|
||||
}
|
||||
nextclass:
|
||||
nextclass:
|
||||
classcount = 0;
|
||||
for (srtinv = sortedinvent; (otmp = srtinv->obj) != 0; ++srtinv) {
|
||||
if (lets && !index(lets, otmp->invlet))
|
||||
@@ -2668,7 +2668,7 @@ nextclass:
|
||||
if (!flags.sortpack || otmp->oclass == *invlet) {
|
||||
if (wizid && !not_fully_identified(otmp))
|
||||
continue;
|
||||
any = g.zeroany; /* all bits zero */
|
||||
any = cg.zeroany; /* all bits zero */
|
||||
ilet = otmp->invlet;
|
||||
if (flags.sortpack && !classcount) {
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
@@ -2694,7 +2694,7 @@ nextclass:
|
||||
}
|
||||
}
|
||||
if (iflags.force_invmenu && lets && want_reply) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
"Special", MENU_UNSELECTED);
|
||||
any.a_char = '*';
|
||||
@@ -2707,7 +2707,7 @@ nextclass:
|
||||
recognized via any.a_char still being zero; the n==0 case above
|
||||
gets skipped for perm_invent), put something into the menu */
|
||||
if (iflags.perm_invent && !lets && !any.a_char) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, 0,
|
||||
not_carrying_anything, MENU_UNSELECTED);
|
||||
want_reply = FALSE;
|
||||
@@ -2779,7 +2779,7 @@ char avoidlet;
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
while (!invdone) {
|
||||
any = g.zeroany; /* set all bits to zero */
|
||||
any = cg.zeroany; /* set all bits to zero */
|
||||
classcount = 0;
|
||||
for (otmp = g.invent; otmp; otmp = otmp->nobj) {
|
||||
ilet = otmp->invlet;
|
||||
@@ -2787,7 +2787,7 @@ char avoidlet;
|
||||
continue;
|
||||
if (!flags.sortpack || otmp->oclass == *invlet) {
|
||||
if (flags.sortpack && !classcount) {
|
||||
any = g.zeroany; /* zero */
|
||||
any = cg.zeroany; /* zero */
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0,
|
||||
iflags.menu_headings,
|
||||
let_to_name(*invlet, FALSE, FALSE),
|
||||
@@ -4086,7 +4086,7 @@ doorganize() /* inventory organizer by Del Lamb */
|
||||
compatible stacks get collected along the way,
|
||||
but splitting to same slot is not */
|
||||
|| (splitting && let == obj->invlet)) {
|
||||
noadjust:
|
||||
noadjust:
|
||||
if (splitting)
|
||||
(void) merged(&splitting, &obj);
|
||||
if (!ever_mind)
|
||||
@@ -4215,7 +4215,7 @@ const char *hdr, *txt;
|
||||
anything any;
|
||||
menu_item *selected;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings, hdr,
|
||||
|
||||
+3
-3
@@ -89,7 +89,7 @@ anything *id;
|
||||
light_source *curr, *prev;
|
||||
anything tmp_id;
|
||||
|
||||
tmp_id = g.zeroany;
|
||||
tmp_id = cg.zeroany;
|
||||
/* need to be prepared for dealing a with light source which
|
||||
has only been partially restored during a level change
|
||||
(in particular: chameleon vs prot. from shape changers) */
|
||||
@@ -443,14 +443,14 @@ light_source *ls;
|
||||
arg_save = ls->id;
|
||||
if (ls->type == LS_OBJECT) {
|
||||
otmp = ls->id.a_obj;
|
||||
ls->id = g.zeroany;
|
||||
ls->id = cg.zeroany;
|
||||
ls->id.a_uint = otmp->o_id;
|
||||
if (find_oid((unsigned) ls->id.a_uint) != otmp)
|
||||
impossible("write_ls: can't find obj #%u!",
|
||||
ls->id.a_uint);
|
||||
} else { /* ls->type == LS_MONSTER */
|
||||
mtmp = (struct monst *) ls->id.a_monst;
|
||||
ls->id = g.zeroany;
|
||||
ls->id = cg.zeroany;
|
||||
ls->id.a_uint = mtmp->m_id;
|
||||
if (find_mid((unsigned) ls->id.a_uint, FM_EVERYWHERE) != mtmp)
|
||||
impossible("write_ls: can't find mon #%u!",
|
||||
|
||||
+1
-1
@@ -1181,7 +1181,7 @@ int mmflags;
|
||||
}
|
||||
(void) propagate(mndx, countbirth, FALSE);
|
||||
mtmp = newmonst();
|
||||
*mtmp = g.zeromonst; /* clear all entries in structure */
|
||||
*mtmp = cg.zeromonst; /* clear all entries in structure */
|
||||
|
||||
if (mmflags & MM_EGD)
|
||||
newegd(mtmp);
|
||||
|
||||
+2
-2
@@ -113,7 +113,7 @@ struct obj *otmp;
|
||||
if (!OMONST(otmp)) {
|
||||
struct monst *m = newmonst();
|
||||
|
||||
*m = g.zeromonst;
|
||||
*m = cg.zeromonst;
|
||||
OMONST(otmp) = m;
|
||||
}
|
||||
}
|
||||
@@ -779,7 +779,7 @@ boolean artif;
|
||||
char let = objects[otyp].oc_class;
|
||||
|
||||
otmp = newobj();
|
||||
*otmp = g.zeroobj;
|
||||
*otmp = cg.zeroobj;
|
||||
otmp->age = g.monstermoves;
|
||||
otmp->o_id = g.context.ident++;
|
||||
if (!otmp->o_id)
|
||||
|
||||
+1
-1
@@ -335,7 +335,7 @@ boolean special;
|
||||
int pm, x, y;
|
||||
struct monst fakemon;
|
||||
|
||||
fakemon = g.zeromonst;
|
||||
fakemon = cg.zeromonst;
|
||||
while (num) {
|
||||
int tryct = 0;
|
||||
|
||||
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 muse.c $NHDT-Date: 1539804880 2018/10/17 19:34:40 $ $NHDT-Branch: keni-makedefsm $:$NHDT-Revision: 1.85 $ */
|
||||
/* NetHack 3.6 muse.c $NHDT-Date: 1547025167 2019/01/09 09:12:47 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.92 $ */
|
||||
/* Copyright (C) 1990 by Ken Arromdee */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -458,7 +458,7 @@ struct monst *mtmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
toot:
|
||||
toot:
|
||||
;
|
||||
}
|
||||
|
||||
@@ -566,7 +566,7 @@ struct monst *mtmp;
|
||||
g.m.has_defense = MUSE_SCR_CREATE_MONSTER;
|
||||
}
|
||||
}
|
||||
botm:
|
||||
botm:
|
||||
return (boolean) !!g.m.has_defense;
|
||||
#undef nomore
|
||||
}
|
||||
@@ -629,7 +629,7 @@ struct monst *mtmp;
|
||||
mzapmsg(mtmp, otmp, TRUE);
|
||||
otmp->spe--;
|
||||
how = WAN_TELEPORTATION;
|
||||
mon_tele:
|
||||
mon_tele:
|
||||
if (tele_restrict(mtmp)) { /* mysterious force... */
|
||||
if (vismon && how) /* mentions 'teleport' */
|
||||
makeknown(how);
|
||||
@@ -867,7 +867,7 @@ struct monst *mtmp;
|
||||
case MUSE_SSTAIRS:
|
||||
m_flee(mtmp);
|
||||
if (ledger_no(&u.uz) == 1) {
|
||||
escape:
|
||||
escape:
|
||||
/* Monsters without the Amulet escape the dungeon and
|
||||
* are gone for good when they leave up the up stairs.
|
||||
* A monster with the Amulet would leave it behind
|
||||
@@ -976,7 +976,7 @@ struct monst *mtmp;
|
||||
if (is_animal(pm) || attacktype(pm, AT_EXPL) || mindless(mtmp->data)
|
||||
|| pm->mlet == S_GHOST || pm->mlet == S_KOP)
|
||||
return 0;
|
||||
try_again:
|
||||
try_again:
|
||||
switch (rn2(8 + (difficulty > 3) + (difficulty > 6) + (difficulty > 8))) {
|
||||
case 6:
|
||||
case 9:
|
||||
@@ -1772,7 +1772,7 @@ struct monst *mtmp;
|
||||
(coord *) 0);
|
||||
return 2;
|
||||
} else {
|
||||
skipmsg:
|
||||
skipmsg:
|
||||
if (vismon) {
|
||||
pline("%s looks uneasy.", Monnam(mtmp));
|
||||
if (!objects[POT_GAIN_LEVEL].oc_name_known
|
||||
@@ -2354,7 +2354,7 @@ boolean by_you;
|
||||
spells could toss pillar of fire at self--probably too suicidal] */
|
||||
if (!mon->mcan && !mon->mspec_used
|
||||
&& attacktype_fordmg(mptr, AT_BREA, AD_FIRE)) {
|
||||
odummy = g.zeroobj; /* otyp == STRANGE_OBJECT */
|
||||
odummy = cg.zeroobj; /* otyp == STRANGE_OBJECT */
|
||||
return muse_unslime(mon, &odummy, (struct trap *) 0, by_you);
|
||||
}
|
||||
|
||||
@@ -2393,7 +2393,7 @@ boolean by_you;
|
||||
}
|
||||
}
|
||||
if (t && t->ttyp == FIRE_TRAP)
|
||||
return muse_unslime(mon, &g.zeroobj, t, by_you);
|
||||
return muse_unslime(mon, (struct obj *) &cg.zeroobj, t, by_you);
|
||||
|
||||
} /* MUSE */
|
||||
|
||||
|
||||
+3
-3
@@ -511,7 +511,7 @@ doclassdisco()
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
}
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
menulet = 'a';
|
||||
|
||||
/* check whether we've discovered any unique objects */
|
||||
@@ -667,7 +667,7 @@ rename_disco()
|
||||
anything any;
|
||||
menu_item *selected = 0;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
|
||||
@@ -719,7 +719,7 @@ rename_disco()
|
||||
if (dis != STRANGE_OBJECT) {
|
||||
struct obj odummy;
|
||||
|
||||
odummy = g.zeroobj;
|
||||
odummy = cg.zeroobj;
|
||||
odummy.otyp = dis;
|
||||
odummy.oclass = objects[dis].oc_class;
|
||||
odummy.quan = 1L;
|
||||
|
||||
+27
-27
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 objnam.c $NHDT-Date: 1546687293 2019/01/05 11:21:33 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.232 $ */
|
||||
/* NetHack 3.6 objnam.c $NHDT-Date: 1547025168 2019/01/09 09:12:48 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.233 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -700,7 +700,7 @@ unsigned cxn_flags; /* bitmask of CXN_xxx values */
|
||||
|
||||
if (has_oname(obj) && dknown) {
|
||||
Strcat(buf, " named ");
|
||||
nameit:
|
||||
nameit:
|
||||
Strcat(buf, ONAME(obj));
|
||||
}
|
||||
|
||||
@@ -734,7 +734,7 @@ struct obj *obj;
|
||||
|
||||
/* caveat: this makes a lot of assumptions about which fields
|
||||
are required in order for xname() to yield a sensible result */
|
||||
bareobj = g.zeroobj;
|
||||
bareobj = cg.zeroobj;
|
||||
bareobj.otyp = otyp;
|
||||
bareobj.oclass = obj->oclass;
|
||||
bareobj.dknown = obj->dknown;
|
||||
@@ -1078,7 +1078,7 @@ unsigned doname_flags;
|
||||
goto charges;
|
||||
break;
|
||||
case WAND_CLASS:
|
||||
charges:
|
||||
charges:
|
||||
if (known)
|
||||
Sprintf(eos(bp), " (%d:%d)", (int) obj->recharged, obj->spe);
|
||||
break;
|
||||
@@ -1087,7 +1087,7 @@ unsigned doname_flags;
|
||||
Strcat(bp, " (lit)");
|
||||
break;
|
||||
case RING_CLASS:
|
||||
ring:
|
||||
ring:
|
||||
if (obj->owornmask & W_RINGR)
|
||||
Strcat(bp, " (on right ");
|
||||
if (obj->owornmask & W_RINGL)
|
||||
@@ -2030,7 +2030,7 @@ register const char *verb;
|
||||
return strcpy(buf, verb);
|
||||
}
|
||||
|
||||
sing:
|
||||
sing:
|
||||
Strcpy(buf, verb);
|
||||
len = (int) strlen(buf);
|
||||
bspot = buf + len - 1;
|
||||
@@ -2374,7 +2374,7 @@ const char *oldstr;
|
||||
/* Default: append an 's' */
|
||||
Strcasecpy(spot + 1, "s");
|
||||
|
||||
bottom:
|
||||
bottom:
|
||||
if (excess)
|
||||
Strcat(str, excess);
|
||||
return str;
|
||||
@@ -2474,7 +2474,7 @@ const char *oldstr;
|
||||
|| (p - 4 == bp && !strcmpi(p - 4, "lens"))) {
|
||||
goto bottom;
|
||||
}
|
||||
mins:
|
||||
mins:
|
||||
*(p - 1) = '\0'; /* drop s */
|
||||
|
||||
} else { /* input doesn't end in 's' */
|
||||
@@ -2498,7 +2498,7 @@ const char *oldstr;
|
||||
/* here we cannot find the plural suffix */
|
||||
}
|
||||
|
||||
bottom:
|
||||
bottom:
|
||||
/* if we stripped off a suffix (" of bar" from "foo of bar"),
|
||||
put it back now [strcat() isn't actually 100% safe here...] */
|
||||
if (excess)
|
||||
@@ -2813,7 +2813,7 @@ char oclass;
|
||||
* Return something wished for. Specifying a null pointer for
|
||||
* the user request string results in a random object. Otherwise,
|
||||
* if asking explicitly for "nothing" (or "nil") return no_wish;
|
||||
* if not an object return &g.zeroobj; if an error (no matching object),
|
||||
* if not an object return &cg.zeroobj; if an error (no matching object),
|
||||
* return null.
|
||||
*/
|
||||
struct obj *
|
||||
@@ -3371,7 +3371,7 @@ struct obj *no_wish;
|
||||
}
|
||||
}
|
||||
|
||||
retry:
|
||||
retry:
|
||||
/* "grey stone" check must be before general "stone" */
|
||||
for (i = 0; i < SIZE(o_ranges); i++)
|
||||
if (!strcmpi(bp, o_ranges[i].name)) {
|
||||
@@ -3420,7 +3420,7 @@ retry:
|
||||
actualn = bp;
|
||||
if (!dn)
|
||||
dn = actualn; /* ex. "skull cap" */
|
||||
srch:
|
||||
srch:
|
||||
/* check real names of gems first */
|
||||
if (!oclass && actualn) {
|
||||
for (i = g.bases[GEM_CLASS]; i <= LAST_GEM; i++) {
|
||||
@@ -3556,7 +3556,7 @@ srch:
|
||||
* trap objects like beartraps.
|
||||
* Disallow such topology tweaks for WIZKIT startup wishes.
|
||||
*/
|
||||
wiztrap:
|
||||
wiztrap:
|
||||
if (wizard && !g.program_state.wizkit_wishing) {
|
||||
struct rm *lev;
|
||||
int trap, x = u.ux, y = u.uy;
|
||||
@@ -3578,7 +3578,7 @@ wiztrap:
|
||||
(trap != MAGIC_PORTAL) ? "" : " to nowhere");
|
||||
} else
|
||||
pline("Creation of %s failed.", an(tname));
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
|
||||
/* furniture and terrain */
|
||||
@@ -3591,20 +3591,20 @@ wiztrap:
|
||||
lev->blessedftn = 1;
|
||||
pline("A %sfountain.", lev->blessedftn ? "magic " : "");
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
if (!BSTRCMPI(bp, p - 6, "throne")) {
|
||||
lev->typ = THRONE;
|
||||
pline("A throne.");
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
if (!BSTRCMPI(bp, p - 4, "sink")) {
|
||||
lev->typ = SINK;
|
||||
g.level.flags.nsinks++;
|
||||
pline("A sink.");
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
/* ("water" matches "potion of water" rather than terrain) */
|
||||
if (!BSTRCMPI(bp, p - 4, "pool") || !BSTRCMPI(bp, p - 4, "moat")) {
|
||||
@@ -3614,7 +3614,7 @@ wiztrap:
|
||||
/* Must manually make kelp! */
|
||||
water_damage_chain(g.level.objects[x][y], TRUE);
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
if (!BSTRCMPI(bp, p - 4, "lava")) { /* also matches "molten lava" */
|
||||
lev->typ = LAVAPOOL;
|
||||
@@ -3623,7 +3623,7 @@ wiztrap:
|
||||
if (!(Levitation || Flying))
|
||||
(void) lava_effects();
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
|
||||
if (!BSTRCMPI(bp, p - 5, "altar")) {
|
||||
@@ -3643,7 +3643,7 @@ wiztrap:
|
||||
lev->altarmask = Align2amask(al);
|
||||
pline("%s altar.", An(align_str(al)));
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
|
||||
if (!BSTRCMPI(bp, p - 5, "grave")
|
||||
@@ -3652,7 +3652,7 @@ wiztrap:
|
||||
pline("%s.", IS_GRAVE(lev->typ) ? "A grave"
|
||||
: "Can't place a grave here");
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
|
||||
if (!BSTRCMPI(bp, p - 4, "tree")) {
|
||||
@@ -3660,14 +3660,14 @@ wiztrap:
|
||||
pline("A tree.");
|
||||
newsym(x, y);
|
||||
block_point(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
|
||||
if (!BSTRCMPI(bp, p - 4, "bars")) {
|
||||
lev->typ = IRONBARS;
|
||||
pline("Iron bars.");
|
||||
newsym(x, y);
|
||||
return &g.zeroobj;
|
||||
return (struct obj *) &cg.zeroobj;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3683,10 +3683,10 @@ wiztrap:
|
||||
|
||||
if (!oclass)
|
||||
return ((struct obj *) 0);
|
||||
any:
|
||||
any:
|
||||
if (!oclass)
|
||||
oclass = wrpsym[rn2((int) sizeof(wrpsym))];
|
||||
typfnd:
|
||||
oclass = wrpsym[rn2((int) sizeof wrpsym)];
|
||||
typfnd:
|
||||
if (typ)
|
||||
oclass = objects[typ].oc_class;
|
||||
|
||||
@@ -3976,7 +3976,7 @@ typfnd:
|
||||
|| (otmp->oartifact && rn2(nartifact_exist()) > 1)) && !wizard) {
|
||||
artifact_exists(otmp, safe_oname(otmp), FALSE);
|
||||
obfree(otmp, (struct obj *) 0);
|
||||
otmp = &g.zeroobj;
|
||||
otmp = (struct obj *) &cg.zeroobj;
|
||||
pline("For a moment, you feel %s in your %s, but it disappears!",
|
||||
something, makeplural(body_part(HAND)));
|
||||
}
|
||||
|
||||
+28
-28
@@ -1437,7 +1437,7 @@ const char *prompt;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(colornames); i++) {
|
||||
if (!colornames[i].name)
|
||||
break;
|
||||
@@ -1483,7 +1483,7 @@ const char *prompt;
|
||||
default_attr = iflags.menu_headings;
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(attrnames); i++) {
|
||||
if (!attrnames[i].name)
|
||||
break;
|
||||
@@ -1582,7 +1582,7 @@ query_msgtype()
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(msgtype_names); i++)
|
||||
if (msgtype_names[i].descr) {
|
||||
any.a_int = msgtype_names[i].msgtyp + 1;
|
||||
@@ -4225,7 +4225,7 @@ int indexoffset; /* value to add to index in compopt[], or zero
|
||||
anything any;
|
||||
int i;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
if (indexoffset == 0) {
|
||||
any.a_int = 0;
|
||||
value = get_compopt_value(option, buf2);
|
||||
@@ -4262,7 +4262,7 @@ char *bufx;
|
||||
int nset;
|
||||
{
|
||||
char buf[BUFSZ], buf2[BUFSZ];
|
||||
anything any = g.zeroany;
|
||||
anything any = cg.zeroany;
|
||||
|
||||
any.a_int = id;
|
||||
if (!bufx)
|
||||
@@ -4362,7 +4362,7 @@ doset() /* changing options via menu by Per Liboriussen */
|
||||
made_fmtstr = TRUE;
|
||||
}
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
"Booleans (selecting will toggle value):", MENU_UNSELECTED);
|
||||
any.a_int = 0;
|
||||
@@ -4393,7 +4393,7 @@ doset() /* changing options via menu by Per Liboriussen */
|
||||
|
||||
boolcount = i;
|
||||
indexoffset = boolcount;
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
"Compounds (selecting will prompt for new value):",
|
||||
@@ -4422,7 +4422,7 @@ doset() /* changing options via menu by Per Liboriussen */
|
||||
(pass == DISP_IN_GAME) ? 0 : indexoffset);
|
||||
}
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
"Other settings:", MENU_UNSELECTED);
|
||||
@@ -4436,7 +4436,7 @@ doset() /* changing options via menu by Per Liboriussen */
|
||||
}
|
||||
|
||||
#ifdef PREFIXES_IN_USE
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
"Variable playground locations:", MENU_UNSELECTED);
|
||||
@@ -4535,7 +4535,7 @@ int numtotal;
|
||||
opt_idx = 0;
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(action_titles); i++) {
|
||||
char tmpbuf[BUFSZ];
|
||||
|
||||
@@ -4581,7 +4581,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(menutype); i++) {
|
||||
style_name = menutype[i];
|
||||
/* note: separate `style_name' variable used
|
||||
@@ -4601,7 +4601,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; paranoia[i].flagmask != 0; ++i) {
|
||||
if (paranoia[i].flagmask == PARANOID_BONES && !wizard)
|
||||
continue;
|
||||
@@ -4633,7 +4633,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(burdentype); i++) {
|
||||
burden_name = burdentype[i];
|
||||
any.a_int = i + 1;
|
||||
@@ -4664,7 +4664,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < NUM_DISCLOSURE_OPTIONS; i++) {
|
||||
Sprintf(buf, "%-12s[%c%c]", disclosure_names[i],
|
||||
flags.end_disclose[i], disclosure_options[i]);
|
||||
@@ -4692,7 +4692,7 @@ boolean setinitial, setfromfile;
|
||||
disclosure_names[i]);
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
/* 'y','n',and '+' work as alternate selectors; '-' doesn't */
|
||||
any.a_char = DISCLOSE_NO_WITHOUT_PROMPT;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, any.a_char, ATR_NONE,
|
||||
@@ -4741,7 +4741,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(runmodes); i++) {
|
||||
mode_name = runmodes[i];
|
||||
any.a_int = i + 1;
|
||||
@@ -4761,7 +4761,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_char = GPCOORDS_COMPASS;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, GPCOORDS_COMPASS, 0, ATR_NONE,
|
||||
"compass ('east' or '3s' or '2n,4w')",
|
||||
@@ -4820,7 +4820,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_char = (GFILTER_NONE + 1);
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'n',
|
||||
0, ATR_NONE, "no filtering",
|
||||
@@ -4851,7 +4851,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_char = 's';
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 's', 0, ATR_NONE, "single",
|
||||
MENU_UNSELECTED);
|
||||
@@ -4877,7 +4877,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(sortltype); i++) {
|
||||
sortl_name = sortltype[i];
|
||||
any.a_char = *sortl_name;
|
||||
@@ -4904,7 +4904,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = ALIGN_TOP;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 't', 0, ATR_NONE, "top",
|
||||
MENU_UNSELECTED);
|
||||
@@ -4939,7 +4939,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(npchoices); i++) {
|
||||
any.a_int = i + 1;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 'a' + i, 0, ATR_NONE,
|
||||
@@ -5015,7 +5015,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
mt_idx = 0;
|
||||
while (tmp) {
|
||||
mtype = msgtype2name(tmp->msgtype);
|
||||
@@ -5083,7 +5083,7 @@ boolean setinitial, setfromfile;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
mc_idx = 0;
|
||||
while (tmp) {
|
||||
sattr = attr2attrname(tmp->attr);
|
||||
@@ -5161,7 +5161,7 @@ boolean setinitial, setfromfile;
|
||||
if (numapes[pass] == 0)
|
||||
continue;
|
||||
ape = iflags.autopickup_exceptions[pass];
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
(pass == 0) ? "Never pickup" : "Always pickup",
|
||||
MENU_UNSELECTED);
|
||||
@@ -5234,7 +5234,7 @@ boolean setinitial, setfromfile;
|
||||
Sprintf(fmtstr, "%%-%ds %%s", biggest + 5);
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 1;
|
||||
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
"Default Symbols", MENU_UNSELECTED);
|
||||
@@ -6269,7 +6269,7 @@ char *class_select;
|
||||
return 0;
|
||||
accelerator = 0;
|
||||
next_accelerator = 'a';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
while (*class_list) {
|
||||
@@ -6311,7 +6311,7 @@ char *class_select;
|
||||
}
|
||||
if (category == 1 && next_accelerator <= 'z') {
|
||||
/* for objects, add "A - ' ' all classes", after a separator */
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
any.a_int = (int) ' ';
|
||||
Sprintf(buf, "%c %s", (char) any.a_int, "all classes of objects");
|
||||
|
||||
+3
-3
@@ -1091,7 +1091,7 @@ coord *click_cc;
|
||||
winid win;
|
||||
anything any;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any.a_char = '/';
|
||||
@@ -1109,7 +1109,7 @@ coord *click_cc;
|
||||
flags.lootabc ? 0 : any.a_char, 'n', ATR_NONE,
|
||||
"something else (by symbol or name)", MENU_UNSELECTED);
|
||||
if (!u.uswallow && !Hallucination) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
"", MENU_UNSELECTED);
|
||||
/* these options work sensibly for the swallowed case,
|
||||
@@ -1956,7 +1956,7 @@ dohelp()
|
||||
anything any;
|
||||
int sel;
|
||||
|
||||
any = g.zeroany; /* zero all bits */
|
||||
any = cg.zeroany; /* zero all bits */
|
||||
start_menu(tmpwin);
|
||||
|
||||
for (i = 0; help_menu_items[i].text; i++) {
|
||||
|
||||
+20
-20
@@ -869,7 +869,7 @@ boolean FDECL((*allow), (OBJ_P)); /* allow function */
|
||||
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
/*
|
||||
* Run through the list and add the objects to the menu. If
|
||||
* INVORDER_SORT is set, we'll run through the list once for
|
||||
@@ -892,7 +892,7 @@ boolean FDECL((*allow), (OBJ_P)); /* allow function */
|
||||
if ((*allow)(curr)) {
|
||||
/* if sorting, print type name (once only) */
|
||||
if (sorted && !printed_type_name) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
let_to_name(*pack, FALSE,
|
||||
((how != PICK_NONE)
|
||||
@@ -917,14 +917,14 @@ boolean FDECL((*allow), (OBJ_P)); /* allow function */
|
||||
if (engulfer) {
|
||||
char buf[BUFSZ];
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
if (sorted && n > 1) {
|
||||
Sprintf(buf, "%s Creatures",
|
||||
is_animal(u.ustuck->data) ? "Swallowed" : "Engulfed");
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings, buf,
|
||||
MENU_UNSELECTED);
|
||||
}
|
||||
fake_hero_object = g.zeroobj;
|
||||
fake_hero_object = cg.zeroobj;
|
||||
fake_hero_object.quan = 1L; /* not strictly necessary... */
|
||||
any.a_obj = &fake_hero_object;
|
||||
add_menu(win, mon_to_glyph(&g.youmonst), &any,
|
||||
@@ -959,7 +959,7 @@ boolean FDECL((*allow), (OBJ_P)); /* allow function */
|
||||
n = 0;
|
||||
} else if (k < n) {
|
||||
/* other stuff plus fake_hero; last slot is now unused */
|
||||
(*pick_list)[k].item = g.zeroany;
|
||||
(*pick_list)[k].item = cg.zeroany;
|
||||
(*pick_list)[k].count = 0L;
|
||||
n = k;
|
||||
}
|
||||
@@ -1046,20 +1046,20 @@ int how; /* type of query */
|
||||
|
||||
if (qflags & CHOOSE_ALL) {
|
||||
invlet = 'A';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 'A';
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
|
||||
(qflags & WORN_TYPES) ? "Auto-select every item being worn"
|
||||
: "Auto-select every item",
|
||||
MENU_UNSELECTED);
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
}
|
||||
|
||||
if ((qflags & ALL_TYPES) && (ccount > 1)) {
|
||||
invlet = 'a';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = ALL_TYPES_SELECTED;
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
|
||||
(qflags & WORN_TYPES) ? "All worn types" : "All types",
|
||||
@@ -1074,7 +1074,7 @@ int how; /* type of query */
|
||||
if (ofilter && !(*ofilter)(curr))
|
||||
continue;
|
||||
if (!collected_type_name) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = curr->oclass;
|
||||
add_menu(
|
||||
win, NO_GLYPH, &any, invlet++,
|
||||
@@ -1096,14 +1096,14 @@ int how; /* type of query */
|
||||
|
||||
if (do_unpaid || (qflags & BILLED_TYPES) || do_blessed || do_cursed
|
||||
|| do_uncursed || do_buc_unknown) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
|
||||
}
|
||||
|
||||
/* unpaid items if there are any */
|
||||
if (do_unpaid) {
|
||||
invlet = 'u';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 'u';
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, "Unpaid items",
|
||||
MENU_UNSELECTED);
|
||||
@@ -1111,7 +1111,7 @@ int how; /* type of query */
|
||||
/* billed items: checked by caller, so always include if BILLED_TYPES */
|
||||
if (qflags & BILLED_TYPES) {
|
||||
invlet = 'x';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 'x';
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
|
||||
"Unpaid items already used up", MENU_UNSELECTED);
|
||||
@@ -1122,28 +1122,28 @@ int how; /* type of query */
|
||||
reversing the usual sequence of 'U' and 'C' in BUCX */
|
||||
if (do_blessed) {
|
||||
invlet = 'B';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 'B';
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
|
||||
"Items known to be Blessed", MENU_UNSELECTED);
|
||||
}
|
||||
if (do_cursed) {
|
||||
invlet = 'C';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 'C';
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
|
||||
"Items known to be Cursed", MENU_UNSELECTED);
|
||||
}
|
||||
if (do_uncursed) {
|
||||
invlet = 'U';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 'U';
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
|
||||
"Items known to be Uncursed", MENU_UNSELECTED);
|
||||
}
|
||||
if (do_buc_unknown) {
|
||||
invlet = 'X';
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
any.a_int = 'X';
|
||||
add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE,
|
||||
"Items of unknown Bless/Curse status", MENU_UNSELECTED);
|
||||
@@ -1947,7 +1947,7 @@ reverse_loot()
|
||||
coffers->owt = weight(coffers);
|
||||
coffers->cknown = 0;
|
||||
if (!coffers->olocked) {
|
||||
boxdummy = g.zeroobj, boxdummy.otyp = SPE_WIZARD_LOCK;
|
||||
boxdummy = cg.zeroobj, boxdummy.otyp = SPE_WIZARD_LOCK;
|
||||
(void) boxlock(coffers, &boxdummy);
|
||||
}
|
||||
} else if (levl[x][y].looted != T_LOOTED
|
||||
@@ -2846,7 +2846,7 @@ boolean outokay, inokay, alreadyused, more_containers;
|
||||
int n;
|
||||
const char *menuselector = flags.lootabc ? abc_chars : lootchars;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
|
||||
@@ -2943,7 +2943,7 @@ dotip()
|
||||
menu_item *pick_list = (menu_item *) 0;
|
||||
struct obj dummyobj, *otmp;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
|
||||
@@ -2956,7 +2956,7 @@ dotip()
|
||||
doname(cobj), MENU_UNSELECTED);
|
||||
}
|
||||
if (g.invent) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
"", MENU_UNSELECTED);
|
||||
any.a_obj = &dummyobj;
|
||||
|
||||
+1
-1
@@ -2223,7 +2223,7 @@ more_dips:
|
||||
if (!objects[old_otyp].oc_uname
|
||||
&& !objects[old_otyp].oc_name_known && old_dknown) {
|
||||
struct obj fakeobj;
|
||||
fakeobj = g.zeroobj;
|
||||
fakeobj = cg.zeroobj;
|
||||
fakeobj.dknown = 1;
|
||||
fakeobj.otyp = old_otyp;
|
||||
fakeobj.oclass = POTION_CLASS;
|
||||
|
||||
+3
-3
@@ -127,7 +127,7 @@ int nrect;
|
||||
reg->n_monst = 0;
|
||||
reg->max_monst = 0;
|
||||
reg->monsters = (unsigned int *) 0;
|
||||
reg->arg = g.zeroany;
|
||||
reg->arg = cg.zeroany;
|
||||
return reg;
|
||||
}
|
||||
|
||||
@@ -926,7 +926,7 @@ genericptr_t p2 UNUSED;
|
||||
/* If it was a thick cloud, it dissipates a little first */
|
||||
if (damage >= 5) {
|
||||
damage /= 2; /* It dissipates, let's do less damage */
|
||||
reg->arg = g.zeroany;
|
||||
reg->arg = cg.zeroany;
|
||||
reg->arg.a_int = damage;
|
||||
reg->ttl = 2L; /* Here's the trick : reset ttl */
|
||||
return FALSE; /* THEN return FALSE, means "still there" */
|
||||
@@ -1038,7 +1038,7 @@ int damage;
|
||||
set_heros_fault(cloud); /* assume player has created it */
|
||||
cloud->inside_f = INSIDE_GAS_CLOUD;
|
||||
cloud->expire_f = EXPIRE_GAS_CLOUD;
|
||||
cloud->arg = g.zeroany;
|
||||
cloud->arg = cg.zeroany;
|
||||
cloud->arg.a_int = damage;
|
||||
cloud->visible = TRUE;
|
||||
cloud->glyph = cmap_to_glyph(damage ? S_poisoncloud : S_cloud);
|
||||
|
||||
+1
-1
@@ -1333,7 +1333,7 @@ winid bannerwin; /* if not WIN_ERR, clear window and show copyright in menu */
|
||||
if (saved && *saved) {
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany; /* no selection */
|
||||
any = cg.zeroany; /* no selection */
|
||||
if (bannerwin != WIN_ERR) {
|
||||
/* for tty; erase copyright notice and redo it in the menu */
|
||||
clear_nhwindow(bannerwin);
|
||||
|
||||
+1
-1
@@ -1887,7 +1887,7 @@ boolean preselect;
|
||||
break;
|
||||
}
|
||||
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
if (constrainer) {
|
||||
any.a_int = 0;
|
||||
/* use four spaces of padding to fake a grayed out menu choice */
|
||||
|
||||
+2
-2
@@ -1557,7 +1557,7 @@ spellsortmenu()
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
|
||||
for (i = 0; i < SIZE(spl_sortchoices); i++) {
|
||||
if (i == SORTRETAINORDER) {
|
||||
@@ -1640,7 +1640,7 @@ int *spell_no;
|
||||
|
||||
tmpwin = create_nhwindow(NHW_MENU);
|
||||
start_menu(tmpwin);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
|
||||
/*
|
||||
* The correct spacing of the columns when not using
|
||||
|
||||
+2
-2
@@ -126,7 +126,7 @@ unsigned entflags;
|
||||
/* default to player's original monster type */
|
||||
mdat = &mons[u.umonster];
|
||||
}
|
||||
fakemon = g.zeromonst;
|
||||
fakemon = cg.zeromonst;
|
||||
set_mon_data(&fakemon, mdat, -1); /* set up for goodpos */
|
||||
|
||||
good_ptr = good;
|
||||
@@ -548,7 +548,7 @@ dotelecmd()
|
||||
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < SIZE(tports); ++i) {
|
||||
any.a_int = (int) tports[i].menulet;
|
||||
add_menu(win, NO_GLYPH, &any, (char) any.a_int, 0, ATR_NONE,
|
||||
|
||||
+3
-3
@@ -2105,7 +2105,7 @@ timer_element *timer;
|
||||
{
|
||||
anything arg_save;
|
||||
|
||||
arg_save = g.zeroany;
|
||||
arg_save = cg.zeroany;
|
||||
switch (timer->kind) {
|
||||
case TIMER_GLOBAL:
|
||||
case TIMER_LEVEL:
|
||||
@@ -2119,7 +2119,7 @@ timer_element *timer;
|
||||
else {
|
||||
/* replace object pointer with id */
|
||||
arg_save.a_obj = timer->arg.a_obj;
|
||||
timer->arg = g.zeroany;
|
||||
timer->arg = cg.zeroany;
|
||||
timer->arg.a_uint = (arg_save.a_obj)->o_id;
|
||||
timer->needs_fixup = 1;
|
||||
bwrite(fd, (genericptr_t) timer, sizeof(timer_element));
|
||||
@@ -2134,7 +2134,7 @@ timer_element *timer;
|
||||
else {
|
||||
/* replace monster pointer with id */
|
||||
arg_save.a_monst = timer->arg.a_monst;
|
||||
timer->arg = g.zeroany;
|
||||
timer->arg = cg.zeroany;
|
||||
timer->arg.a_uint = (arg_save.a_monst)->m_id;
|
||||
timer->needs_fixup = 1;
|
||||
bwrite(fd, (genericptr_t) timer, sizeof(timer_element));
|
||||
|
||||
+2
-2
@@ -3260,8 +3260,8 @@ domagictrap()
|
||||
struct obj pseudo;
|
||||
long save_conf = HConfusion;
|
||||
|
||||
pseudo = g.zeroobj; /* neither cursed nor blessed,
|
||||
and zero out oextra */
|
||||
pseudo = cg.zeroobj; /* neither cursed nor blessed,
|
||||
and zero out oextra */
|
||||
pseudo.otyp = SCR_REMOVE_CURSE;
|
||||
HConfusion = 0L;
|
||||
(void) seffects(&pseudo);
|
||||
|
||||
+15
-14
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 weapon.c $NHDT-Date: 1545964580 2018/12/28 02:36:20 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.67 $ */
|
||||
/* NetHack 3.6 weapon.c $NHDT-Date: 1547025169 2019/01/09 09:12:49 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.68 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -400,7 +400,7 @@ register struct monst *mtmp;
|
||||
|
||||
char mlet = mtmp->data->mlet;
|
||||
|
||||
g.propellor = &g.zeroobj;
|
||||
g.propellor = (struct obj *) &cg.zeroobj;
|
||||
Oselect(EGG); /* cockatrice egg */
|
||||
if (mlet == S_KOP) /* pies are first choice for Kops */
|
||||
Oselect(CREAM_PIE);
|
||||
@@ -459,32 +459,32 @@ register struct monst *mtmp;
|
||||
}
|
||||
|
||||
/* KMH -- This belongs here so darts will work */
|
||||
g.propellor = &g.zeroobj;
|
||||
g.propellor = (struct obj *) &cg.zeroobj;
|
||||
|
||||
prop = (objects[rwep[i]]).oc_skill;
|
||||
prop = objects[rwep[i]].oc_skill;
|
||||
if (prop < 0) {
|
||||
switch (-prop) {
|
||||
case P_BOW:
|
||||
g.propellor = (oselect(mtmp, YUMI));
|
||||
g.propellor = oselect(mtmp, YUMI);
|
||||
if (!g.propellor)
|
||||
g.propellor = (oselect(mtmp, ELVEN_BOW));
|
||||
g.propellor = oselect(mtmp, ELVEN_BOW);
|
||||
if (!g.propellor)
|
||||
g.propellor = (oselect(mtmp, BOW));
|
||||
g.propellor = oselect(mtmp, BOW);
|
||||
if (!g.propellor)
|
||||
g.propellor = (oselect(mtmp, ORCISH_BOW));
|
||||
g.propellor = oselect(mtmp, ORCISH_BOW);
|
||||
break;
|
||||
case P_SLING:
|
||||
g.propellor = (oselect(mtmp, SLING));
|
||||
g.propellor = oselect(mtmp, SLING);
|
||||
break;
|
||||
case P_CROSSBOW:
|
||||
g.propellor = (oselect(mtmp, CROSSBOW));
|
||||
g.propellor = oselect(mtmp, CROSSBOW);
|
||||
}
|
||||
if ((otmp = MON_WEP(mtmp)) && mwelded(otmp) && otmp != g.propellor
|
||||
&& mtmp->weapon_check == NO_WEAPON_WANTED)
|
||||
g.propellor = 0;
|
||||
}
|
||||
/* propellor = obj, propellor to use
|
||||
* propellor = &g.zeroobj, doesn't need a propellor
|
||||
* propellor = &cg.zeroobj, doesn't need a propellor
|
||||
* propellor = 0, needed one and didn't have one
|
||||
*/
|
||||
if (g.propellor != 0) {
|
||||
@@ -677,8 +677,9 @@ register struct monst *mon;
|
||||
mon_nam(mon));
|
||||
return 0;
|
||||
}
|
||||
if (obj && obj != &g.zeroobj) {
|
||||
if (obj && obj != &cg.zeroobj) {
|
||||
struct obj *mw_tmp = MON_WEP(mon);
|
||||
|
||||
if (mw_tmp && mw_tmp->otyp == obj->otyp) {
|
||||
/* already wielding it */
|
||||
mon->weapon_check = NEED_WEAPON;
|
||||
@@ -1059,7 +1060,7 @@ enhance_weapon_skill()
|
||||
/* start with a legend if any entries will be annotated
|
||||
with "*" or "#" below */
|
||||
if (eventually_advance > 0 || maxxed_cnt > 0) {
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
if (eventually_advance > 0) {
|
||||
Sprintf(buf, "(Skill%s flagged by \"*\" may be enhanced %s.)",
|
||||
plur(eventually_advance),
|
||||
@@ -1088,7 +1089,7 @@ enhance_weapon_skill()
|
||||
for (i = skill_ranges[pass].first; i <= skill_ranges[pass].last;
|
||||
i++) {
|
||||
/* Print headings for skill types */
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
if (i == skill_ranges[pass].first)
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
|
||||
skill_ranges[pass].name, MENU_UNSELECTED);
|
||||
|
||||
+3
-3
@@ -74,7 +74,7 @@ STATIC_DCL int FDECL(ready_weapon, (struct obj *));
|
||||
* functions can be used to put the remainder back in the slot.
|
||||
* 4. Putting an item that was thrown and returned back into the slot.
|
||||
* 5. Emptying the slot, by passing a null object. NEVER pass
|
||||
* g.zeroobj!
|
||||
* cg.zeroobj!
|
||||
*
|
||||
* If the item is being moved from another slot, it is the caller's
|
||||
* responsibility to handle that. It's also the caller's responsibility
|
||||
@@ -285,7 +285,7 @@ dowield()
|
||||
}
|
||||
|
||||
/* Handle no object, or object in other slot */
|
||||
if (wep == &g.zeroobj)
|
||||
if (wep == &cg.zeroobj)
|
||||
wep = (struct obj *) 0;
|
||||
else if (wep == uswapwep)
|
||||
return doswapweapon();
|
||||
@@ -378,7 +378,7 @@ dowieldquiver()
|
||||
if (!newquiver) {
|
||||
/* Cancelled */
|
||||
return 0;
|
||||
} else if (newquiver == &g.zeroobj) { /* no object */
|
||||
} else if (newquiver == &cg.zeroobj) { /* no object */
|
||||
/* Explicitly nothing */
|
||||
if (uquiver) {
|
||||
You("now have no ammunition readied.");
|
||||
|
||||
@@ -5208,7 +5208,7 @@ makewish()
|
||||
int tries = 0;
|
||||
|
||||
promptbuf[0] = '\0';
|
||||
nothing = g.zeroobj; /* lint suppression; only its address matters */
|
||||
nothing = cg.zeroobj; /* lint suppression; only its address matters */
|
||||
if (flags.verbose)
|
||||
You("may wish for an object.");
|
||||
retry:
|
||||
@@ -5226,7 +5226,7 @@ retry:
|
||||
}
|
||||
/*
|
||||
* Note: if they wished for and got a non-object successfully,
|
||||
* otmp == &g.zeroobj. That includes gold, or an artifact that
|
||||
* otmp == &cg.zeroobj. That includes gold, or an artifact that
|
||||
* has been denied. Wishing for "nothing" requires a separate
|
||||
* value to remain distinct.
|
||||
*/
|
||||
@@ -5248,7 +5248,7 @@ retry:
|
||||
/* KMH, conduct */
|
||||
u.uconduct.wishes++;
|
||||
|
||||
if (otmp != &g.zeroobj) {
|
||||
if (otmp != &cg.zeroobj) {
|
||||
const char
|
||||
*verb = ((Is_airlevel(&u.uz) || u.uinwater) ? "slip" : "drop"),
|
||||
*oops_msg = (u.uswallow
|
||||
|
||||
+11
-11
@@ -522,7 +522,7 @@ tty_player_selection()
|
||||
setup_rolemenu(win, TRUE, RACE, GEND, ALGN);
|
||||
/* add miscellaneous menu entries */
|
||||
role_menu_extra(ROLE_RANDOM, win, TRUE);
|
||||
any = g.zeroany; /* separator, not a choice */
|
||||
any = cg.zeroany; /* separator, not a choice */
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "",
|
||||
MENU_UNSELECTED);
|
||||
role_menu_extra(RS_RACE, win, FALSE);
|
||||
@@ -616,7 +616,7 @@ tty_player_selection()
|
||||
role_selection_prolog(RS_RACE, BASE_WINDOW);
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
/* populate the menu with role choices */
|
||||
setup_racemenu(win, TRUE, ROLE, GEND, ALGN);
|
||||
/* add miscellaneous menu entries */
|
||||
@@ -709,7 +709,7 @@ tty_player_selection()
|
||||
role_selection_prolog(RS_GENDER, BASE_WINDOW);
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
/* populate the menu with gender choices */
|
||||
setup_gendmenu(win, TRUE, ROLE, RACE, ALGN);
|
||||
/* add miscellaneous menu entries */
|
||||
@@ -800,7 +800,7 @@ tty_player_selection()
|
||||
role_selection_prolog(RS_ALGNMNT, BASE_WINDOW);
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
setup_algnmenu(win, TRUE, ROLE, RACE, GEND);
|
||||
role_menu_extra(ROLE_RANDOM, win, TRUE);
|
||||
any.a_int = 0; /* separator, not a choice */
|
||||
@@ -880,7 +880,7 @@ tty_player_selection()
|
||||
role_selection_prolog(ROLE_NONE, BASE_WINDOW);
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
any.a_int = 0;
|
||||
if (!roles[ROLE].name.f
|
||||
&& (roles[ROLE].allow & ROLE_GENDMASK)
|
||||
@@ -982,7 +982,7 @@ reset_role_filtering()
|
||||
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
|
||||
/* no extra blank line preceding this entry; end_menu supplies one */
|
||||
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE,
|
||||
@@ -1037,7 +1037,7 @@ int race, gend, algn; /* all ROLE_NONE for !filtering case */
|
||||
boolean role_ok;
|
||||
char thisch, lastch = '\0', rolenamebuf[50];
|
||||
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
for (i = 0; roles[i].name.m; i++) {
|
||||
role_ok = ok_role(i, race, gend, algn);
|
||||
if (filtering && !role_ok)
|
||||
@@ -1080,7 +1080,7 @@ int role, gend, algn;
|
||||
int i;
|
||||
char this_ch;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; races[i].noun; i++) {
|
||||
race_ok = ok_race(role, i, gend, algn);
|
||||
if (filtering && !race_ok)
|
||||
@@ -1113,7 +1113,7 @@ int role, race, algn;
|
||||
int i;
|
||||
char this_ch;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < ROLE_GENDERS; i++) {
|
||||
gend_ok = ok_gend(role, race, i, algn);
|
||||
if (filtering && !gend_ok)
|
||||
@@ -1144,7 +1144,7 @@ int role, race, gend;
|
||||
int i;
|
||||
char this_ch;
|
||||
|
||||
any = g.zeroany;
|
||||
any = cg.zeroany;
|
||||
for (i = 0; i < ROLE_ALIGNS; i++) {
|
||||
algn_ok = ok_align(role, race, gend, i);
|
||||
if (filtering && !algn_ok)
|
||||
@@ -2904,7 +2904,7 @@ const char *prompt; /* prompt to for menu */
|
||||
if (prompt) {
|
||||
anything any;
|
||||
|
||||
any = g.zeroany; /* not selectable */
|
||||
any = cg.zeroany; /* not selectable */
|
||||
tty_add_menu(window, NO_GLYPH, &any, 0, 0, ATR_NONE, "",
|
||||
MENU_UNSELECTED);
|
||||
tty_add_menu(window, NO_GLYPH, &any, 0, 0, ATR_NONE, prompt,
|
||||
|
||||
+4
-4
@@ -403,7 +403,7 @@ prompt_for_player_selection(void)
|
||||
/* Prompt for a role */
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
for (i = 0; roles[i].name.m; i++) {
|
||||
if (ok_role(i, flags.initrace, flags.initgend,
|
||||
flags.initalign)) {
|
||||
@@ -495,7 +495,7 @@ prompt_for_player_selection(void)
|
||||
/* tty_putstr(BASE_WINDOW, 0, "Choosing Race"); */
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
for (i = 0; races[i].noun; i++)
|
||||
if (ok_race(flags.initrole, i, flags.initgend,
|
||||
flags.initalign)) {
|
||||
@@ -569,7 +569,7 @@ prompt_for_player_selection(void)
|
||||
/* tty_putstr(BASE_WINDOW, 0, "Choosing Gender"); */
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
for (i = 0; i < ROLE_GENDERS; i++)
|
||||
if (ok_gend(flags.initrole, flags.initrace, i,
|
||||
flags.initalign)) {
|
||||
@@ -642,7 +642,7 @@ prompt_for_player_selection(void)
|
||||
/* tty_putstr(BASE_WINDOW, 0, "Choosing Alignment"); */
|
||||
win = create_nhwindow(NHW_MENU);
|
||||
start_menu(win);
|
||||
any = g.zeroany; /* zero out all bits */
|
||||
any = cg.zeroany; /* zero out all bits */
|
||||
for (i = 0; i < ROLE_ALIGNS; i++)
|
||||
if (ok_align(flags.initrole, flags.initrace,
|
||||
flags.initgend, i)) {
|
||||
|
||||
Reference in New Issue
Block a user