zeroX, tc_gbl_data and fqn_prefix moved to instance globals.

This commit is contained in:
Bart House
2018-12-25 08:09:37 -08:00
parent 1c65e6afe0
commit 0763046c38
40 changed files with 266 additions and 261 deletions
+2 -2
View File
@@ -2287,7 +2287,7 @@ struct obj *obj;
return;
consume_obj_charge(obj, TRUE);
if (otmp != &zeroobj) {
if (otmp != &g.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 = zeroany; /* set all bits to zero */
any = g.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
View File
@@ -1437,7 +1437,7 @@ struct obj *obj;
struct obj pseudo;
pseudo =
zeroobj; /* neither cursed nor blessed, zero oextra too */
g.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 = zeroany; /* set all bits to zero */
any = g.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
View File
@@ -925,7 +925,7 @@ init_blstats()
#endif
g.blstats[i][j] = initblstats[j];
g.blstats[i][j].a = zeroany;
g.blstats[i][j].a = g.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';
@@ -1762,7 +1762,7 @@ int arrmin, arrmax;
start_menu(tmpwin);
for (i = arrmin; i < arrmax; i++) {
any = zeroany;
any = g.zeroany;
any.a_int = i + adj;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
arr[i], MENU_UNSELECTED);
@@ -2134,7 +2134,7 @@ query_conditions()
start_menu(tmpwin);
for (i = 0; i < SIZE(valid_conditions); i++) {
any = zeroany;
any = g.zeroany;
any.a_ulong = valid_conditions[i].bitmask;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
valid_conditions[i].id, MENU_UNSELECTED);
@@ -2695,7 +2695,7 @@ status_hilite_menu_choose_field()
&& !g.blstats[0][BL_SCORE].thresholds)
continue;
#endif
any = zeroany;
any = g.zeroany;
any.a_int = (i + 1);
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
initblstats[i].fldname, MENU_UNSELECTED);
@@ -2733,7 +2733,7 @@ int fld;
start_menu(tmpwin);
if (fld != BL_CONDITION) {
any = zeroany;
any = g.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,
@@ -2742,7 +2742,7 @@ int fld;
}
if (fld == BL_CONDITION) {
any = zeroany;
any = g.zeroany;
any.a_int = onlybeh = BL_TH_CONDITION;
add_menu(tmpwin, NO_GLYPH, &any, 'b', 0, ATR_NONE,
"Bitmask of conditions", MENU_UNSELECTED);
@@ -2750,7 +2750,7 @@ int fld;
}
if (fld != BL_CONDITION) {
any = zeroany;
any = g.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,
@@ -2760,7 +2760,7 @@ int fld;
if (fld != BL_CAP && fld != BL_HUNGER
&& (at == ANY_INT || at == ANY_LONG)) {
any = zeroany;
any = g.zeroany;
any.a_int = onlybeh = BL_TH_VAL_ABSOLUTE;
add_menu(tmpwin, NO_GLYPH, &any, 'n', 0, ATR_NONE,
"Number threshold", MENU_UNSELECTED);
@@ -2768,7 +2768,7 @@ int fld;
}
if (initblstats[fld].idxmax >= 0) {
any = zeroany;
any = g.zeroany;
any.a_int = onlybeh = BL_TH_VAL_PERCENTAGE;
add_menu(tmpwin, NO_GLYPH, &any, 'p', 0, ATR_NONE,
"Percentage threshold", MENU_UNSELECTED);
@@ -2777,7 +2777,7 @@ int fld;
if (initblstats[fld].anytype == ANY_STR
|| fld == BL_CAP || fld == BL_HUNGER) {
any = zeroany;
any = g.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,
@@ -2825,7 +2825,7 @@ boolean ltok, gtok;
(fld == BL_AC) ? "Better (lower)" : "Less", str);
else
Sprintf(buf, "Value goes down");
any = zeroany;
any = g.zeroany;
any.a_int = 10 + LT_VALUE;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
buf, MENU_UNSELECTED);
@@ -2833,7 +2833,7 @@ boolean ltok, gtok;
if (str) {
Sprintf(buf, "%s or %s",
str, (fld == BL_AC) ? "better (lower)" : "less");
any = zeroany;
any = g.zeroany;
any.a_int = 10 + LE_VALUE;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
buf, MENU_UNSELECTED);
@@ -2844,7 +2844,7 @@ boolean ltok, gtok;
Sprintf(buf, "Exactly %s", str);
else
Sprintf(buf, "Value changes");
any = zeroany;
any = g.zeroany;
any.a_int = 10 + EQ_VALUE;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
buf, MENU_UNSELECTED);
@@ -2853,7 +2853,7 @@ boolean ltok, gtok;
if (str) {
Sprintf(buf, "%s or %s",
str, (fld == BL_AC) ? "worse (higher)" : "more");
any = zeroany;
any = g.zeroany;
any.a_int = 10 + GE_VALUE;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
buf, MENU_UNSELECTED);
@@ -2864,7 +2864,7 @@ boolean ltok, gtok;
(fld == BL_AC) ? "Worse (higher)" : "More", str);
else
Sprintf(buf, "Value goes up");
any = zeroany;
any = g.zeroany;
any.a_int = 10 + GT_VALUE;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
buf, MENU_UNSELECTED);
@@ -2996,7 +2996,7 @@ choose_value:
: (lt_gt_eq == EQ_VALUE) ? "="
: ""; /* didn't specify lt_gt_eq with number */
aval = zeroany;
aval = g.zeroany;
dt = percent ? ANY_INT : initblstats[fld].anytype;
(void) s_to_anything(&aval, numstart, dt);
@@ -3366,7 +3366,7 @@ int fld;
hlstr = status_hilite_str;
while (hlstr) {
if (hlstr->fld == fld) {
any = zeroany;
any = g.zeroany;
any.a_int = hlstr->id;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
hlstr->str, MENU_UNSELECTED);
@@ -3374,17 +3374,17 @@ int fld;
hlstr = hlstr->next;
}
} else {
any = zeroany;
any = g.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 = zeroany;
any = g.zeroany;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
if (count) {
any = zeroany;
any = g.zeroany;
any.a_int = -1;
add_menu(tmpwin, NO_GLYPH, &any, 'X', 0, ATR_NONE,
"Remove selected hilites", MENU_UNSELECTED);
@@ -3400,7 +3400,7 @@ int fld;
} else
#endif
{
any = zeroany;
any = g.zeroany;
any.a_int = -2;
add_menu(tmpwin, NO_GLYPH, &any, 'Z', 0, ATR_NONE,
"Add a new hilite", MENU_UNSELECTED);
@@ -3496,12 +3496,12 @@ shlmenu_redo:
status_hilite_linestr_gather();
countall = status_hilite_linestr_countfield(BL_FLUSH);
if (countall) {
any = zeroany;
any = g.zeroany;
any.a_int = -1;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE,
"View all hilites in config format", MENU_UNSELECTED);
any = zeroany;
any = g.zeroany;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
}
@@ -3517,7 +3517,7 @@ shlmenu_redo:
if (initblstats[i].fld == BL_SCORE && !count)
continue;
#endif
any = zeroany;
any = g.zeroany;
any.a_int = i + 1;
Sprintf(buf, "%-18s", initblstats[i].fldname);
if (count)
+8 -8
View File
@@ -372,7 +372,7 @@ doextlist(VOID_ARGS)
while (redisplay) {
redisplay = FALSE;
any = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.zeroany;
any.a_nfunc = func;
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, text, MENU_UNSELECTED);
}
+35 -34
View File
@@ -42,27 +42,21 @@ const schar xdir[10] = { -1, -1, 0, 1, 1, 1, 0, -1, 0, 0 };
const schar ydir[10] = { 0, -1, -1, -1, 0, 1, 1, 1, 0, 0 };
const schar zdir[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, -1 };
NEARDATA struct flag flags = DUMMY;
NEARDATA struct flag flags;
#ifdef SYSFLAGS
NEARDATA struct sysflag sysflags = DUMMY;
NEARDATA struct sysflag sysflags;
#endif
NEARDATA struct instance_flags iflags = DUMMY;
NEARDATA struct you u = DUMMY;
NEARDATA time_t ubirthday = DUMMY;
NEARDATA struct u_realtime urealtime = DUMMY;
NEARDATA struct instance_flags iflags;
NEARDATA struct you u;
NEARDATA time_t ubirthday;
NEARDATA struct u_realtime urealtime;
NEARDATA struct obj
*uwep = (struct obj *) 0, *uarm = (struct obj *) 0,
*uswapwep = (struct obj *) 0,
*uquiver = (struct obj *) 0, /* quiver */
*uarmu = (struct obj *) 0, /* under-wear, so to speak */
*uskin = (struct obj *) 0, /* dragon armor, if a dragon */
*uarmc = (struct obj *) 0, *uarmh = (struct obj *) 0,
*uarms = (struct obj *) 0, *uarmg = (struct obj *) 0,
*uarmf = (struct obj *) 0, *uamul = (struct obj *) 0,
*uright = (struct obj *) 0, *uleft = (struct obj *) 0,
*ublindf = (struct obj *) 0, *uchain = (struct obj *) 0,
*uball = (struct obj *) 0;
NEARDATA struct obj *uwep, *uarm, *uswapwep,
*uquiver, /* quiver */
*uarmu, /* under-wear, so to speak */
*uskin, /* dragon armor, if a dragon */
*uarmc, *uarmh, *uarms, *uarmg,*uarmf, *uamul,
*uright, *uleft, *ublindf, *uchain, *uball;
#ifdef TEXTCOLOR
/*
@@ -86,13 +80,8 @@ const int shield_static[SHIELD_COUNT] = {
S_ss1, S_ss2, S_ss3, S_ss2, S_ss1, S_ss2, S_ss4,
};
/* used to zero all elements of a struct obj and a struct monst */
NEARDATA struct obj zeroobj = DUMMY;
NEARDATA struct monst zeromonst = DUMMY;
/* used to zero out union any; initializer deliberately omitted */
NEARDATA anything zeroany;
NEARDATA struct c_color_names c_color_names = {
NEARDATA const struct c_color_names c_color_names = {
"black", "amber", "golden", "light blue", "red", "green",
"silver", "blue", "purple", "white", "orange"
};
@@ -116,7 +105,7 @@ const char *c_obj_colors[] = {
"white", /* CLR_WHITE */
};
struct c_common_strings c_common_strings = { "Nothing happens.",
const struct c_common_strings c_common_strings = { "Nothing happens.",
"That's enough tries!",
"That is a silly thing to %s.",
"shudder for a moment.",
@@ -141,16 +130,8 @@ NEARDATA winid WIN_MESSAGE = WIN_ERR;
NEARDATA winid WIN_STATUS = WIN_ERR;
NEARDATA winid WIN_MAP = WIN_ERR, WIN_INVEN = WIN_ERR;
/* Windowing stuff that's really tty oriented, but present for all ports */
struct tc_gbl_data tc_gbl_data = { 0, 0, 0, 0 }; /* AS,AE, LI,CO */
char *fqn_prefix[PREFIX_COUNT] = { (char *) 0, (char *) 0, (char *) 0,
(char *) 0, (char *) 0, (char *) 0,
(char *) 0, (char *) 0, (char *) 0,
(char *) 0 };
#ifdef PREFIXES_IN_USE
char *fqn_prefix_names[PREFIX_COUNT] = {
const char *fqn_prefix_names[PREFIX_COUNT] = {
"hackdir", "leveldir", "savedir", "bonesdir", "datadir",
"scoredir", "lockdir", "sysconfdir", "configdir", "troubledir"
};
@@ -312,6 +293,11 @@ const struct instance_globals g_init = {
DUMMY, /* youmonst */
NULL, /* invent */
DUMMY, /* context */
DUMMY, /* fqn_prefix */
DUMMY, /* tc_gbl_data */
DUMMY, /* zeroobj */
DUMMY, /* zeromonst */
DUMMY, /* zeronay */
/* dig.c */
UNDEFINED_VALUE, /* did_dig_msg */
@@ -608,6 +594,8 @@ const struct instance_globals g_init = {
struct instance_globals g;
#define ZERO(x) memset(&x, 0, sizeof(x))
void
decl_globals_init()
{
@@ -629,6 +617,19 @@ decl_globals_init()
g.subrooms = &g.rooms[MAXNROFROOMS + 1];
ZERO(flags);
#ifdef SYSFLAGS
ZERO(sysflags);
#endif
ZERO(iflags);
ZERO(u);
ZERO(ubirthday);
ZERO(urealtime);
uwep = uarm = uswapwep = uquiver = uarmu = uskin = uarmc = NULL;
uarmh = uarms = uarmg = uarmf = uamul = uright = uleft = NULL;
ublindf = uchain = uball = NULL;
}
/*decl.c*/
+4 -4
View File
@@ -404,7 +404,7 @@ outgoldmap:
continue; /* probably overkill here */
temp = 0;
if (findgold(mtmp->minvent) || monsndx(mtmp->data) == PM_GOLD_GOLEM) {
gold = zeroobj; /* ensure oextra is cleared too */
gold = g.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 = zeroobj;
temp = g.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 = zeroobj; /* ensure oextra is cleared too */
gold = g.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 = zeroobj;
obj = g.zeroobj;
if (trap) {
obj.ox = trap->tx;
obj.oy = trap->ty;
+1 -1
View File
@@ -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 = zeroobj;
obj = g.zeroobj;
obj.ox = x;
obj.oy = y;
obj.otyp = mon->mappearance;
+2 -2
View File
@@ -582,7 +582,7 @@ int gloc;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
/* gather_locs returns array[0] == you. skip it. */
for (i = 1; i < gcount; i++) {
@@ -1332,7 +1332,7 @@ docallcmd()
win = create_nhwindow(NHW_MENU);
start_menu(win);
any = zeroany;
any = g.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
View File
@@ -26,7 +26,7 @@ struct monst *mon;
{
struct obj *obj, *wep, dummy, *pickaxe, *unihorn, *key;
dummy = zeroobj;
dummy = g.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;
+5 -5
View File
@@ -726,8 +726,8 @@ init_dungeons()
Strcat(tbuf, "\" from ");
#ifdef PREFIXES_IN_USE
Strcat(tbuf, "\n\"");
if (fqn_prefix[DATAPREFIX])
Strcat(tbuf, fqn_prefix[DATAPREFIX]);
if (g.fqn_prefix[DATAPREFIX])
Strcat(tbuf, g.fqn_prefix[DATAPREFIX]);
#else
Strcat(tbuf, "\"");
#endif
@@ -737,7 +737,7 @@ init_dungeons()
#endif
#ifdef WIN32
interject_assistance(1, INTERJECT_PANIC, (genericptr_t) tbuf,
(genericptr_t) fqn_prefix[DATAPREFIX]);
(genericptr_t) g.fqn_prefix[DATAPREFIX]);
#endif
panic1(tbuf);
}
@@ -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 = zeroany;
any = g.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 = zeroany;
any = g.zeroany;
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings, buf,
MENU_UNSELECTED);
} else
+1 -1
View File
@@ -1739,7 +1739,7 @@ set_vanq_order()
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany; /* zero out all bits */
any = g.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
View File
@@ -539,10 +539,10 @@ doengrave()
*/
otmp = getobj(styluses, "write with");
if (!otmp) /* otmp == zeroobj if fingers */
if (!otmp) /* otmp == g.zeroobj if fingers */
return 0;
if (otmp == &zeroobj) {
if (otmp == &g.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 == &zeroobj) { /* using only finger */
if (otmp == &g.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 != &zeroobj)
if (otmp != &g.zeroobj)
You("%s the %s with %s.", everb, eloc, doname(otmp));
else
You("%s the %s with your %s.", everb, eloc, body_part(FINGERTIP));
+11 -11
View File
@@ -346,19 +346,19 @@ int buffnum UNUSED_if_not_PREFIXES_IN_USE;
#else
if (!basenam || whichprefix < 0 || whichprefix >= PREFIX_COUNT)
return basenam;
if (!fqn_prefix[whichprefix])
if (!g.fqn_prefix[whichprefix])
return basenam;
if (buffnum < 0 || buffnum >= FQN_NUMBUF) {
impossible("Invalid fqn_filename_buffer specified: %d", buffnum);
buffnum = 0;
}
if (strlen(fqn_prefix[whichprefix]) + strlen(basenam)
if (strlen(g.fqn_prefix[whichprefix]) + strlen(basenam)
>= FQN_MAX_FILENAME) {
impossible("fqname too long: %s + %s", fqn_prefix[whichprefix],
impossible("fqname too long: %s + %s", g.fqn_prefix[whichprefix],
basenam);
return basenam; /* XXX */
}
Strcpy(fqn_filename_buffer[buffnum], fqn_prefix[whichprefix]);
Strcpy(fqn_filename_buffer[buffnum], g.fqn_prefix[whichprefix]);
return strcat(fqn_filename_buffer[buffnum], basenam);
#endif
}
@@ -399,7 +399,7 @@ char *reasonbuf; /* reasonbuf must be at least BUFSZ, supplied by caller */
if (!(details = strerror(errno)))
#endif
details = "";
Sprintf(panicbuf2, "\"%s\", (%d) %s", fqn_prefix[prefcnt], errno,
Sprintf(panicbuf2, "\"%s\", (%d) %s", g.fqn_prefix[prefcnt], errno,
details);
paniclog(panicbuf1, panicbuf2);
failcount++;
@@ -2123,9 +2123,9 @@ int prefixid;
if ((ptr = index(bufp, ';')) != 0)
*ptr = '\0';
if (strlen(bufp) > 0) {
fqn_prefix[prefixid] = (char *) alloc(strlen(bufp) + 2);
Strcpy(fqn_prefix[prefixid], bufp);
append_slash(fqn_prefix[prefixid]);
g.fqn_prefix[prefixid] = (char *) alloc(strlen(bufp) + 2);
Strcpy(g.fqn_prefix[prefixid], bufp);
append_slash(g.fqn_prefix[prefixid]);
}
}
#endif
@@ -2269,7 +2269,7 @@ char *origbuf;
/* Go through possible variables */
/* some of these (at least LEVELS and SAVE) should now set the
* appropriate fqn_prefix[] rather than specialized variables
* appropriate g.fqn_prefix[] rather than specialized variables
*/
if (match_varname(buf, "OPTIONS", 4)) {
/* hack: un-mungspaces to allow consecutive spaces in
@@ -2929,7 +2929,7 @@ STATIC_DCL void
wizkit_addinv(obj)
struct obj *obj;
{
if (!obj || obj == &zeroobj)
if (!obj || obj == &g.zeroobj)
return;
/* subset of starting inventory pre-ID */
@@ -2959,7 +2959,7 @@ char *buf;
struct obj *otmp = readobjnam(buf, (struct obj *) 0);
if (otmp) {
if (otmp != &zeroobj)
if (otmp != &g.zeroobj)
wizkit_addinv(otmp);
} else {
/* .60 limits output line width to 79 chars */
+4 -4
View File
@@ -28,7 +28,7 @@ anything *
uint_to_any(ui)
unsigned ui;
{
g.tmp_anything = zeroany;
g.tmp_anything = g.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 = zeroany;
g.tmp_anything = g.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 = zeroany;
g.tmp_anything = g.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 = zeroany;
g.tmp_anything = g.zeroany;
g.tmp_anything.a_obj = obj;
return &g.tmp_anything;
}
+10 -10
View File
@@ -1376,7 +1376,7 @@ const char *action;
* getobj returns:
* struct obj *xxx: object to do something with.
* (struct obj *) 0 error return: no object.
* &zeroobj explicitly no object (as in w-).
* &g.zeroobj explicitly no object (as in w-).
!!!! test if gold can be used in unusual ways (eaten etc.)
!!!! may be able to remove "usegold"
*/
@@ -1664,7 +1664,7 @@ register const char *let, *word;
You("mime %s something%s%s.", ing_suffix(bp), suf ? " " : "",
suf ? suf : "");
}
return (allownone ? &zeroobj : (struct obj *) 0);
return (allownone ? &g.zeroobj : (struct obj *) 0);
}
redo_menu:
/* since gold is now kept in inventory, we need to do processing for
@@ -1697,7 +1697,7 @@ redo_menu:
if (!ilet)
continue;
if (ilet == HANDS_SYM)
return &zeroobj;
return &g.zeroobj;
if (ilet == '\033') {
if (flags.verbose)
pline1(Never_mind);
@@ -2587,7 +2587,7 @@ long *out_cnt;
(boolean FDECL((*), (OBJ_P))) 0);
start_menu(win);
any = zeroany;
any = g.zeroany;
if (wizard && iflags.override_ID) {
int unid_cnt;
char prompt[QBUFSZ];
@@ -2635,7 +2635,7 @@ nextclass:
if (!flags.sortpack || otmp->oclass == *invlet) {
if (wizid && !not_fully_identified(otmp))
continue;
any = zeroany; /* all bits zero */
any = g.zeroany; /* all bits zero */
ilet = otmp->invlet;
if (flags.sortpack && !classcount) {
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
@@ -2661,7 +2661,7 @@ nextclass:
}
}
if (iflags.force_invmenu && lets && want_reply) {
any = zeroany;
any = g.zeroany;
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
"Special", MENU_UNSELECTED);
any.a_char = '*';
@@ -2674,7 +2674,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 = zeroany;
any = g.zeroany;
add_menu(win, NO_GLYPH, &any, 0, 0, 0,
not_carrying_anything, MENU_UNSELECTED);
want_reply = FALSE;
@@ -2746,7 +2746,7 @@ char avoidlet;
win = create_nhwindow(NHW_MENU);
start_menu(win);
while (!invdone) {
any = zeroany; /* set all bits to zero */
any = g.zeroany; /* set all bits to zero */
classcount = 0;
for (otmp = g.invent; otmp; otmp = otmp->nobj) {
ilet = otmp->invlet;
@@ -2754,7 +2754,7 @@ char avoidlet;
continue;
if (!flags.sortpack || otmp->oclass == *invlet) {
if (flags.sortpack && !classcount) {
any = zeroany; /* zero */
any = g.zeroany; /* zero */
add_menu(win, NO_GLYPH, &any, 0, 0,
iflags.menu_headings,
let_to_name(*invlet, FALSE, FALSE),
@@ -4170,7 +4170,7 @@ const char *hdr, *txt;
anything any;
menu_item *selected;
any = zeroany;
any = g.zeroany;
win = create_nhwindow(NHW_MENU);
start_menu(win);
add_menu(win, NO_GLYPH, &any, 0, 0, iflags.menu_headings, hdr,
+3 -3
View File
@@ -89,7 +89,7 @@ anything *id;
light_source *curr, *prev;
anything tmp_id;
tmp_id = zeroany;
tmp_id = g.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 = zeroany;
ls->id = g.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 = zeroany;
ls->id = g.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
View File
@@ -1181,7 +1181,7 @@ int mmflags;
}
(void) propagate(mndx, countbirth, FALSE);
mtmp = newmonst();
*mtmp = zeromonst; /* clear all entries in structure */
*mtmp = g.zeromonst; /* clear all entries in structure */
if (mmflags & MM_EGD)
newegd(mtmp);
+2 -2
View File
@@ -112,7 +112,7 @@ struct obj *otmp;
if (!OMONST(otmp)) {
struct monst *m = newmonst();
*m = zeromonst;
*m = g.zeromonst;
OMONST(otmp) = m;
}
}
@@ -760,7 +760,7 @@ boolean artif;
char let = objects[otyp].oc_class;
otmp = newobj();
*otmp = zeroobj;
*otmp = g.zeroobj;
otmp->age = g.monstermoves;
otmp->o_id = g.context.ident++;
if (!otmp->o_id)
+1 -1
View File
@@ -334,7 +334,7 @@ boolean special;
int pm, x, y;
struct monst fakemon;
fakemon = zeromonst;
fakemon = g.zeromonst;
while (num) {
int tryct = 0;
+2 -2
View File
@@ -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 = zeroobj; /* otyp == STRANGE_OBJECT */
odummy = g.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, &zeroobj, t, by_you);
return muse_unslime(mon, &g.zeroobj, t, by_you);
} /* MUSE */
+3 -3
View File
@@ -511,7 +511,7 @@ doclassdisco()
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
}
any = zeroany;
any = g.zeroany;
menulet = 'a';
/* check whether we've discovered any unique objects */
@@ -667,7 +667,7 @@ rename_disco()
anything any;
menu_item *selected = 0;
any = zeroany;
any = g.zeroany;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
@@ -719,7 +719,7 @@ rename_disco()
if (dis != STRANGE_OBJECT) {
struct obj odummy;
odummy = zeroobj;
odummy = g.zeroobj;
odummy.otyp = dis;
odummy.oclass = objects[dis].oc_class;
odummy.quan = 1L;
+13 -13
View File
@@ -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 = zeroobj;
bareobj = g.zeroobj;
bareobj.otyp = otyp;
bareobj.oclass = obj->oclass;
bareobj.dknown = obj->dknown;
@@ -2806,7 +2806,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 &zeroobj; if an error (no matching object),
* if not an object return &g.zeroobj; if an error (no matching object),
* return null.
*/
struct obj *
@@ -3571,7 +3571,7 @@ wiztrap:
(trap != MAGIC_PORTAL) ? "" : " to nowhere");
} else
pline("Creation of %s failed.", an(tname));
return &zeroobj;
return &g.zeroobj;
}
/* furniture and terrain */
@@ -3584,20 +3584,20 @@ wiztrap:
lev->blessedftn = 1;
pline("A %sfountain.", lev->blessedftn ? "magic " : "");
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
if (!BSTRCMPI(bp, p - 6, "throne")) {
lev->typ = THRONE;
pline("A throne.");
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
if (!BSTRCMPI(bp, p - 4, "sink")) {
lev->typ = SINK;
g.level.flags.nsinks++;
pline("A sink.");
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
/* ("water" matches "potion of water" rather than terrain) */
if (!BSTRCMPI(bp, p - 4, "pool") || !BSTRCMPI(bp, p - 4, "moat")) {
@@ -3607,7 +3607,7 @@ wiztrap:
/* Must manually make kelp! */
water_damage_chain(g.level.objects[x][y], TRUE);
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
if (!BSTRCMPI(bp, p - 4, "lava")) { /* also matches "molten lava" */
lev->typ = LAVAPOOL;
@@ -3616,7 +3616,7 @@ wiztrap:
if (!(Levitation || Flying))
(void) lava_effects();
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
if (!BSTRCMPI(bp, p - 5, "altar")) {
@@ -3636,7 +3636,7 @@ wiztrap:
lev->altarmask = Align2amask(al);
pline("%s altar.", An(align_str(al)));
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
if (!BSTRCMPI(bp, p - 5, "grave")
@@ -3645,7 +3645,7 @@ wiztrap:
pline("%s.", IS_GRAVE(lev->typ) ? "A grave"
: "Can't place a grave here");
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
if (!BSTRCMPI(bp, p - 4, "tree")) {
@@ -3653,14 +3653,14 @@ wiztrap:
pline("A tree.");
newsym(x, y);
block_point(x, y);
return &zeroobj;
return &g.zeroobj;
}
if (!BSTRCMPI(bp, p - 4, "bars")) {
lev->typ = IRONBARS;
pline("Iron bars.");
newsym(x, y);
return &zeroobj;
return &g.zeroobj;
}
}
@@ -3969,7 +3969,7 @@ typfnd:
|| (otmp->oartifact && rn2(nartifact_exist()) > 1)) && !wizard) {
artifact_exists(otmp, safe_oname(otmp), FALSE);
obfree(otmp, (struct obj *) 0);
otmp = &zeroobj;
otmp = &g.zeroobj;
pline("For a moment, you feel %s in your %s, but it disappears!",
something, makeplural(body_part(HAND)));
}
+30 -30
View File
@@ -1447,7 +1447,7 @@ const char *prompt;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(colornames); i++) {
if (!colornames[i].name)
break;
@@ -1493,7 +1493,7 @@ const char *prompt;
default_attr = iflags.menu_headings;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(attrnames); i++) {
if (!attrnames[i].name)
break;
@@ -1592,7 +1592,7 @@ query_msgtype()
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(msgtype_names); i++)
if (msgtype_names[i].descr) {
any.a_int = msgtype_names[i].msgtyp + 1;
@@ -4231,7 +4231,7 @@ int indexoffset; /* value to add to index in compopt[], or zero
anything any;
int i;
any = zeroany;
any = g.zeroany;
if (indexoffset == 0) {
any.a_int = 0;
value = get_compopt_value(option, buf2);
@@ -4268,7 +4268,7 @@ char *bufx;
int nset;
{
char buf[BUFSZ], buf2[BUFSZ];
anything any = zeroany;
anything any = g.zeroany;
any.a_int = id;
if (!bufx)
@@ -4371,7 +4371,7 @@ doset() /* changing options via menu by Per Liboriussen */
made_fmtstr = TRUE;
}
any = zeroany;
any = g.zeroany;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
"Booleans (selecting will toggle value):", MENU_UNSELECTED);
any.a_int = 0;
@@ -4402,7 +4402,7 @@ doset() /* changing options via menu by Per Liboriussen */
boolcount = i;
indexoffset = boolcount;
any = zeroany;
any = g.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):",
@@ -4431,7 +4431,7 @@ doset() /* changing options via menu by Per Liboriussen */
(pass == DISP_IN_GAME) ? 0 : indexoffset);
}
any = zeroany;
any = g.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);
@@ -4445,7 +4445,7 @@ doset() /* changing options via menu by Per Liboriussen */
}
#ifdef PREFIXES_IN_USE
any = zeroany;
any = g.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);
@@ -4544,7 +4544,7 @@ int numtotal;
opt_idx = 0;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(action_titles); i++) {
char tmpbuf[BUFSZ];
@@ -4590,7 +4590,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(menutype); i++) {
style_name = menutype[i];
/* note: separate `style_name' variable used
@@ -4610,7 +4610,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; paranoia[i].flagmask != 0; ++i) {
if (paranoia[i].flagmask == PARANOID_BONES && !wizard)
continue;
@@ -4642,7 +4642,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(burdentype); i++) {
burden_name = burdentype[i];
any.a_int = i + 1;
@@ -4673,7 +4673,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < NUM_DISCLOSURE_OPTIONS; i++) {
Sprintf(buf, "%-12s[%c%c]", disclosure_names[i],
flags.end_disclose[i], disclosure_options[i]);
@@ -4701,7 +4701,7 @@ boolean setinitial, setfromfile;
disclosure_names[i]);
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.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,
@@ -4750,7 +4750,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(runmodes); i++) {
mode_name = runmodes[i];
any.a_int = i + 1;
@@ -4770,7 +4770,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
any.a_char = GPCOORDS_COMPASS;
add_menu(tmpwin, NO_GLYPH, &any, GPCOORDS_COMPASS,
0, ATR_NONE, "compass ('east' or '3s' or '2n,4w')",
@@ -4829,7 +4829,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
any.a_char = (GFILTER_NONE + 1);
add_menu(tmpwin, NO_GLYPH, &any, 'n',
0, ATR_NONE, "no filtering",
@@ -4860,7 +4860,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
any.a_char = 's';
add_menu(tmpwin, NO_GLYPH, &any, 's', 0, ATR_NONE, "single",
MENU_UNSELECTED);
@@ -4886,7 +4886,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(sortltype); i++) {
sortl_name = sortltype[i];
any.a_char = *sortl_name;
@@ -4913,7 +4913,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
any.a_int = ALIGN_TOP;
add_menu(tmpwin, NO_GLYPH, &any, 't', 0, ATR_NONE, "top",
MENU_UNSELECTED);
@@ -4948,7 +4948,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
for (i = 0; i < SIZE(npchoices); i++) {
any.a_int = i + 1;
add_menu(tmpwin, NO_GLYPH, &any, 'a' + i, 0, ATR_NONE,
@@ -5024,7 +5024,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
mt_idx = 0;
while (tmp) {
mtype = msgtype2name(tmp->msgtype);
@@ -5092,7 +5092,7 @@ boolean setinitial, setfromfile;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
mc_idx = 0;
while (tmp) {
sattr = attr2attrname(tmp->attr);
@@ -5167,7 +5167,7 @@ boolean setinitial, setfromfile;
if (numapes[pass] == 0)
continue;
ape = iflags.autopickup_exceptions[pass];
any = zeroany;
any = g.zeroany;
add_menu(tmpwin, NO_GLYPH, &any, 0, 0, iflags.menu_headings,
(pass == 0) ? "Never pickup" : "Always pickup",
MENU_UNSELECTED);
@@ -5246,7 +5246,7 @@ boolean setinitial, setfromfile;
Sprintf(fmtstr, "%%-%ds %%s", biggest + 5);
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany;
any = g.zeroany;
any.a_int = 1;
add_menu(tmpwin, NO_GLYPH, &any, let++, 0, ATR_NONE,
"Default Symbols", MENU_UNSELECTED);
@@ -5747,8 +5747,8 @@ char *buf;
#ifdef PREFIXES_IN_USE
} else {
for (i = 0; i < PREFIX_COUNT; ++i)
if (!strcmp(optname, fqn_prefix_names[i]) && fqn_prefix[i])
Sprintf(buf, "%s", fqn_prefix[i]);
if (!strcmp(optname, fqn_prefix_names[i]) && g.fqn_prefix[i])
Sprintf(buf, "%s", g.fqn_prefix[i]);
#endif
}
@@ -6291,7 +6291,7 @@ char *class_select;
return 0;
accelerator = 0;
next_accelerator = 'a';
any = zeroany;
any = g.zeroany;
win = create_nhwindow(NHW_MENU);
start_menu(win);
while (*class_list) {
@@ -6333,7 +6333,7 @@ char *class_select;
}
if (category == 1 && next_accelerator <= 'z') {
/* for objects, add "A - ' ' all classes", after a separator */
any = zeroany;
any = g.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
View File
@@ -1090,7 +1090,7 @@ coord *click_cc;
winid win;
anything any;
any = zeroany;
any = g.zeroany;
win = create_nhwindow(NHW_MENU);
start_menu(win);
any.a_char = '/';
@@ -1108,7 +1108,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 = zeroany;
any = g.zeroany;
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE,
"", MENU_UNSELECTED);
/* these options work sensibly for the swallowed case,
@@ -1955,7 +1955,7 @@ dohelp()
anything any;
int sel;
any = zeroany; /* zero all bits */
any = g.zeroany; /* zero all bits */
start_menu(tmpwin);
for (i = 0; help_menu_items[i].text; i++) {
+20 -20
View File
@@ -869,7 +869,7 @@ boolean FDECL((*allow), (OBJ_P)); /* allow function */
win = create_nhwindow(NHW_MENU);
start_menu(win);
any = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroobj;
fake_hero_object = g.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 = zeroany;
(*pick_list)[k].item = g.zeroany;
(*pick_list)[k].count = 0L;
n = k;
}
@@ -1046,20 +1046,20 @@ int how; /* type of query */
if (qflags & CHOOSE_ALL) {
invlet = 'A';
any = zeroany;
any = g.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 = zeroany;
any = g.zeroany;
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED);
}
if ((qflags & ALL_TYPES) && (ccount > 1)) {
invlet = 'a';
any = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroany;
any = g.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 = zeroobj, boxdummy.otyp = SPE_WIZARD_LOCK;
boxdummy = g.zeroobj, boxdummy.otyp = SPE_WIZARD_LOCK;
(void) boxlock(coffers, &boxdummy);
}
} else if (levl[x][y].looted != T_LOOTED
@@ -2833,7 +2833,7 @@ boolean outokay, inokay, alreadyused, more_containers;
int n;
const char *menuselector = flags.lootabc ? abc_chars : lootchars;
any = zeroany;
any = g.zeroany;
win = create_nhwindow(NHW_MENU);
start_menu(win);
@@ -2930,7 +2930,7 @@ dotip()
menu_item *pick_list = (menu_item *) 0;
struct obj dummyobj, *otmp;
any = zeroany;
any = g.zeroany;
win = create_nhwindow(NHW_MENU);
start_menu(win);
@@ -2943,7 +2943,7 @@ dotip()
doname(cobj), MENU_UNSELECTED);
}
if (g.invent) {
any = zeroany;
any = g.zeroany;
add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE,
"", MENU_UNSELECTED);
any.a_obj = &dummyobj;
+1 -1
View File
@@ -2223,7 +2223,7 @@ more_dips:
if (!objects[old_otyp].oc_uname
&& !objects[old_otyp].oc_name_known && old_dknown) {
struct obj fakeobj;
fakeobj = zeroobj;
fakeobj = g.zeroobj;
fakeobj.dknown = 1;
fakeobj.otyp = old_otyp;
fakeobj.oclass = POTION_CLASS;
+3 -3
View File
@@ -131,7 +131,7 @@ int nrect;
reg->n_monst = 0;
reg->max_monst = 0;
reg->monsters = (unsigned int *) 0;
reg->arg = zeroany;
reg->arg = g.zeroany;
return reg;
}
@@ -930,7 +930,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 = zeroany;
reg->arg = g.zeroany;
reg->arg.a_int = damage;
reg->ttl = 2L; /* Here's the trick : reset ttl */
return FALSE; /* THEN return FALSE, means "still there" */
@@ -1042,7 +1042,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 = zeroany;
cloud->arg = g.zeroany;
cloud->arg.a_int = damage;
cloud->visible = TRUE;
cloud->glyph = cmap_to_glyph(damage ? S_poisoncloud : S_cloud);
+1 -1
View File
@@ -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 = zeroany; /* no selection */
any = g.zeroany; /* no selection */
if (bannerwin != WIN_ERR) {
/* for tty; erase copyright notice and redo it in the menu */
clear_nhwindow(bannerwin);
+1 -1
View File
@@ -1951,7 +1951,7 @@ boolean preselect;
break;
}
any = zeroany; /* zero out all bits */
any = g.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
View File
@@ -1497,7 +1497,7 @@ spellsortmenu()
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany; /* zero out all bits */
any = g.zeroany; /* zero out all bits */
for (i = 0; i < SIZE(spl_sortchoices); i++) {
if (i == SORTRETAINORDER) {
@@ -1580,7 +1580,7 @@ int *spell_no;
tmpwin = create_nhwindow(NHW_MENU);
start_menu(tmpwin);
any = zeroany; /* zero out all bits */
any = g.zeroany; /* zero out all bits */
/*
* The correct spacing of the columns when not using
+1 -1
View File
@@ -129,7 +129,7 @@ unsigned entflags;
/* default to player's original monster type */
mdat = &mons[u.umonster];
}
fakemon = zeromonst;
fakemon = g.zeromonst;
set_mon_data(&fakemon, mdat, -1); /* set up for goodpos */
good_ptr = good;
+3 -3
View File
@@ -2105,7 +2105,7 @@ timer_element *timer;
{
anything arg_save;
arg_save = zeroany;
arg_save = g.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 = zeroany;
timer->arg = g.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 = zeroany;
timer->arg = g.zeroany;
timer->arg.a_uint = (arg_save.a_monst)->m_id;
timer->needs_fixup = 1;
bwrite(fd, (genericptr_t) timer, sizeof(timer_element));
+1 -1
View File
@@ -3260,7 +3260,7 @@ domagictrap()
struct obj pseudo;
long save_conf = HConfusion;
pseudo = zeroobj; /* neither cursed nor blessed,
pseudo = g.zeroobj; /* neither cursed nor blessed,
and zero out oextra */
pseudo.otyp = SCR_REMOVE_CURSE;
HConfusion = 0L;
+6 -6
View File
@@ -399,7 +399,7 @@ register struct monst *mtmp;
char mlet = mtmp->data->mlet;
g.propellor = &zeroobj;
g.propellor = &g.zeroobj;
Oselect(EGG); /* cockatrice egg */
if (mlet == S_KOP) /* pies are first choice for Kops */
Oselect(CREAM_PIE);
@@ -458,7 +458,7 @@ register struct monst *mtmp;
}
/* KMH -- This belongs here so darts will work */
g.propellor = &zeroobj;
g.propellor = &g.zeroobj;
prop = (objects[rwep[i]]).oc_skill;
if (prop < 0) {
@@ -483,7 +483,7 @@ register struct monst *mtmp;
g.propellor = 0;
}
/* propellor = obj, propellor to use
* propellor = &zeroobj, doesn't need a propellor
* propellor = &g.zeroobj, doesn't need a propellor
* propellor = 0, needed one and didn't have one
*/
if (g.propellor != 0) {
@@ -663,7 +663,7 @@ register struct monst *mon;
mon_nam(mon));
return 0;
}
if (obj && obj != &zeroobj) {
if (obj && obj != &g.zeroobj) {
struct obj *mw_tmp = MON_WEP(mon);
if (mw_tmp && mw_tmp->otyp == obj->otyp) {
/* already wielding it */
@@ -1045,7 +1045,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 = zeroany;
any = g.zeroany;
if (eventually_advance > 0) {
Sprintf(buf, "(Skill%s flagged by \"*\" may be enhanced %s.)",
plur(eventually_advance),
@@ -1074,7 +1074,7 @@ enhance_weapon_skill()
for (i = skill_ranges[pass].first; i <= skill_ranges[pass].last;
i++) {
/* Print headings for skill types */
any = zeroany;
any = g.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
View File
@@ -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
* zeroobj!
* g.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 == &zeroobj)
if (wep == &g.zeroobj)
wep = (struct obj *) 0;
else if (wep == uswapwep)
return doswapweapon();
@@ -378,7 +378,7 @@ dowieldquiver()
if (!newquiver) {
/* Cancelled */
return 0;
} else if (newquiver == &zeroobj) { /* no object */
} else if (newquiver == &g.zeroobj) { /* no object */
/* Explicitly nothing */
if (uquiver) {
You("now have no ammunition readied.");
+3 -3
View File
@@ -5208,7 +5208,7 @@ makewish()
int tries = 0;
promptbuf[0] = '\0';
nothing = zeroobj; /* lint suppression; only its address matters */
nothing = g.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 == &zeroobj. That includes gold, or an artifact that
* otmp == &g.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 != &zeroobj) {
if (otmp != &g.zeroobj) {
const char
*verb = ((Is_airlevel(&u.uz) || u.uinwater) ? "slip" : "drop"),
*oops_msg = (u.uswallow