diff --git a/include/decl.h b/include/decl.h index 83a435248..fc5d26704 100644 --- a/include/decl.h +++ b/include/decl.h @@ -176,10 +176,6 @@ E NEARDATA struct obj *uarm, *uarmc, *uarmh, *uarms, *uarmg, *uarmf, E NEARDATA struct obj *uchain; /* defined only when punished */ E NEARDATA struct obj *uball; -E NEARDATA struct obj zeroobj; /* for init; &zeroobj used as special value */ - -E NEARDATA anything zeroany; /* init'd and defined in decl.c */ - #include "you.h" E NEARDATA struct you u; E NEARDATA time_t ubirthday; @@ -190,19 +186,20 @@ E NEARDATA struct u_realtime urealtime; #include "pm.h" #endif -E NEARDATA struct monst zeromonst; /* for init of new or temp monsters */ - struct mvitals { uchar born; uchar died; uchar mvflags; }; -E NEARDATA struct c_color_names { +struct c_color_names { const char *const c_black, *const c_amber, *const c_golden, *const c_light_blue, *const c_red, *const c_green, *const c_silver, *const c_blue, *const c_purple, *const c_white, *const c_orange; -} c_color_names; +}; + +E NEARDATA const struct c_color_names c_color_names; + #define NH_BLACK c_color_names.c_black #define NH_AMBER c_color_names.c_amber #define NH_GOLDEN c_color_names.c_golden @@ -218,12 +215,15 @@ E NEARDATA struct c_color_names { /* The names of the colors used for gems, etc. */ E const char *c_obj_colors[]; -E struct c_common_strings { +struct c_common_strings { const char *const c_nothing_happens, *const c_thats_enough_tries, *const c_silly_thing_to, *const c_shudder_for_moment, *const c_something, *const c_Something, *const c_You_can_move_again, *const c_Never_mind, *c_vision_clears, *const c_the_your[2]; -} c_common_strings; +}; + +E const struct c_common_strings c_common_strings; + #define nothing_happens c_common_strings.c_nothing_happens #define thats_enough_tries c_common_strings.c_thats_enough_tries #define silly_thing_to c_common_strings.c_silly_thing_to @@ -271,10 +271,10 @@ E struct tc_gbl_data { /* also declared in tcap.h */ char *tc_AS, *tc_AE; /* graphics start and end (tty font swapping) */ int tc_LI, tc_CO; /* lines and columns */ } tc_gbl_data; -#define AS tc_gbl_data.tc_AS -#define AE tc_gbl_data.tc_AE -#define LI tc_gbl_data.tc_LI -#define CO tc_gbl_data.tc_CO +#define AS g.tc_gbl_data.tc_AS +#define AE g.tc_gbl_data.tc_AE +#define LI g.tc_gbl_data.tc_LI +#define CO g.tc_gbl_data.tc_CO #endif /* xxxexplain[] is in drawing.c */ @@ -308,9 +308,8 @@ E const char *const monexplain[], invisexplain[], *const oclass_names[]; #define PREFIXES_IN_USE #endif -E char *fqn_prefix[PREFIX_COUNT]; #ifdef PREFIXES_IN_USE -E char *fqn_prefix_names[PREFIX_COUNT]; +E const char *fqn_prefix_names[PREFIX_COUNT]; #endif E NEARDATA struct savefile_info sfcap, sfrestinfo, sfsaveinfo; @@ -699,7 +698,12 @@ struct instance_globals { struct monst youmonst; struct obj *invent; struct context_info context; - + 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 */ /* dig.c */ diff --git a/src/apply.c b/src/apply.c index 0b2664c0a..c66eadde2 100644 --- a/src/apply.c +++ b/src/apply.c @@ -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++; diff --git a/src/artifact.c b/src/artifact.c index dcea036d8..cf8c4651d 100644 --- a/src/artifact.c +++ b/src/artifact.c @@ -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++) { diff --git a/src/botl.c b/src/botl.c index ed233f8f6..b37a6cc2a 100644 --- a/src/botl.c +++ b/src/botl.c @@ -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) diff --git a/src/cmd.c b/src/cmd.c index 25cab2ca5..fcaea4670 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -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); } diff --git a/src/decl.c b/src/decl.c index d84a60fc3..878f8da9a 100644 --- a/src/decl.c +++ b/src/decl.c @@ -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*/ diff --git a/src/detect.c b/src/detect.c index df61ef992..e060b36b5 100644 --- a/src/detect.c +++ b/src/detect.c @@ -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; diff --git a/src/display.c b/src/display.c index 1dd377e54..0ba3f4c01 100644 --- a/src/display.c +++ b/src/display.c @@ -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; diff --git a/src/do_name.c b/src/do_name.c index 35a6a8ad8..56f997d4c 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -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); diff --git a/src/dogmove.c b/src/dogmove.c index cb1a26bd3..45c1305c7 100644 --- a/src/dogmove.c +++ b/src/dogmove.c @@ -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; diff --git a/src/dungeon.c b/src/dungeon.c index e0afc7d77..f8df0ebcb 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -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 diff --git a/src/end.c b/src/end.c index 37becf57a..d8edcb030 100644 --- a/src/end.c +++ b/src/end.c @@ -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; diff --git a/src/engrave.c b/src/engrave.c index 2bd8d0abf..041d8713f 100644 --- a/src/engrave.c +++ b/src/engrave.c @@ -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)); diff --git a/src/files.c b/src/files.c index b942d0b06..90950a064 100644 --- a/src/files.c +++ b/src/files.c @@ -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 */ diff --git a/src/hack.c b/src/hack.c index 144a04e05..2409c9f8a 100644 --- a/src/hack.c +++ b/src/hack.c @@ -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; } diff --git a/src/invent.c b/src/invent.c index dd3017da2..d4d9a48c1 100644 --- a/src/invent.c +++ b/src/invent.c @@ -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, diff --git a/src/light.c b/src/light.c index 0abc99646..23308e180 100644 --- a/src/light.c +++ b/src/light.c @@ -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!", diff --git a/src/makemon.c b/src/makemon.c index 3c5de25fe..b7d0d4bfe 100644 --- a/src/makemon.c +++ b/src/makemon.c @@ -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); diff --git a/src/mkobj.c b/src/mkobj.c index 955a709be..9a060b375 100644 --- a/src/mkobj.c +++ b/src/mkobj.c @@ -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) diff --git a/src/mplayer.c b/src/mplayer.c index dfb97ab85..78aeb2640 100644 --- a/src/mplayer.c +++ b/src/mplayer.c @@ -334,7 +334,7 @@ boolean special; int pm, x, y; struct monst fakemon; - fakemon = zeromonst; + fakemon = g.zeromonst; while (num) { int tryct = 0; diff --git a/src/muse.c b/src/muse.c index 979a7b65a..ee57b1884 100644 --- a/src/muse.c +++ b/src/muse.c @@ -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 */ diff --git a/src/o_init.c b/src/o_init.c index a844b2e95..482010ae3 100644 --- a/src/o_init.c +++ b/src/o_init.c @@ -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; diff --git a/src/objnam.c b/src/objnam.c index 556b26cbe..cfa65b4b3 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -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))); } diff --git a/src/options.c b/src/options.c index 8e30441bc..e64eaed13 100644 --- a/src/options.c +++ b/src/options.c @@ -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"); diff --git a/src/pager.c b/src/pager.c index 6c301f1ea..9dba075a0 100644 --- a/src/pager.c +++ b/src/pager.c @@ -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++) { diff --git a/src/pickup.c b/src/pickup.c index 316f594de..85c290b22 100644 --- a/src/pickup.c +++ b/src/pickup.c @@ -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; diff --git a/src/potion.c b/src/potion.c index df093da10..563a3cba1 100644 --- a/src/potion.c +++ b/src/potion.c @@ -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; diff --git a/src/region.c b/src/region.c index ed82995c1..2614ecc74 100644 --- a/src/region.c +++ b/src/region.c @@ -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); diff --git a/src/restore.c b/src/restore.c index 261e7ddb2..92dd89421 100644 --- a/src/restore.c +++ b/src/restore.c @@ -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); diff --git a/src/role.c b/src/role.c index 6d162c2c0..1e3465d62 100644 --- a/src/role.c +++ b/src/role.c @@ -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 */ diff --git a/src/spell.c b/src/spell.c index a9db647bf..41511b0fa 100644 --- a/src/spell.c +++ b/src/spell.c @@ -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 diff --git a/src/teleport.c b/src/teleport.c index a00745668..ec3b822c2 100644 --- a/src/teleport.c +++ b/src/teleport.c @@ -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; diff --git a/src/timeout.c b/src/timeout.c index ee3bac5d7..76ffcba03 100644 --- a/src/timeout.c +++ b/src/timeout.c @@ -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)); diff --git a/src/trap.c b/src/trap.c index 1762b3420..3de6b5aad 100644 --- a/src/trap.c +++ b/src/trap.c @@ -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; diff --git a/src/weapon.c b/src/weapon.c index e8bc49133..4b353469b 100644 --- a/src/weapon.c +++ b/src/weapon.c @@ -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); diff --git a/src/wield.c b/src/wield.c index 0fbdfaf57..fbb323ef2 100644 --- a/src/wield.c +++ b/src/wield.c @@ -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."); diff --git a/src/zap.c b/src/zap.c index 94083e639..a6ff212a0 100644 --- a/src/zap.c +++ b/src/zap.c @@ -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 diff --git a/sys/winnt/windmain.c b/sys/winnt/windmain.c index dbf0ae0a1..959005d62 100644 --- a/sys/winnt/windmain.c +++ b/sys/winnt/windmain.c @@ -162,22 +162,22 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/ (void) strncpy(g.hackdir, dir, PATHLEN - 1); g.hackdir[PATHLEN - 1] = '\0'; - fqn_prefix[0] = (char *) alloc(strlen(g.hackdir) + 2); - Strcpy(fqn_prefix[0], g.hackdir); - append_slash(fqn_prefix[0]); + g.fqn_prefix[0] = (char *) alloc(strlen(g.hackdir) + 2); + Strcpy(g.fqn_prefix[0], g.hackdir); + append_slash(g.fqn_prefix[0]); for (prefcnt = 1; prefcnt < PREFIX_COUNT; prefcnt++) - fqn_prefix[prefcnt] = fqn_prefix[0]; + g.fqn_prefix[prefcnt] = g.fqn_prefix[0]; /* sysconf should be searched for in this location */ envp = nh_getenv("COMMONPROGRAMFILES"); if (envp) { if ((sptr = index(envp, ';')) != 0) *sptr = '\0'; if (strlen(envp) > 0) { - fqn_prefix[SYSCONFPREFIX] = + g.fqn_prefix[SYSCONFPREFIX] = (char *) alloc(strlen(envp) + 10); - Strcpy(fqn_prefix[SYSCONFPREFIX], envp); - append_slash(fqn_prefix[SYSCONFPREFIX]); - Strcat(fqn_prefix[SYSCONFPREFIX], "NetHack\\"); + Strcpy(g.fqn_prefix[SYSCONFPREFIX], envp); + append_slash(g.fqn_prefix[SYSCONFPREFIX]); + Strcat(g.fqn_prefix[SYSCONFPREFIX], "NetHack\\"); } } @@ -198,7 +198,7 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/ /* No SYSCF_FILE where there should be one, and without an installer, a user may not be able to place one there. So, let's try somewhere else... */ - fqn_prefix[SYSCONFPREFIX] = fqn_prefix[0]; + g.fqn_prefix[SYSCONFPREFIX] = g.fqn_prefix[0]; /* Is there a SYSCF_FILE there? */ fd = open(fqname(SYSCF_FILE, SYSCONFPREFIX, 0), O_RDONLY); @@ -216,10 +216,10 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/ if ((sptr = index(envp, ';')) != 0) *sptr = '\0'; if (strlen(envp) > 0) { - fqn_prefix[CONFIGPREFIX] = + g.fqn_prefix[CONFIGPREFIX] = (char *) alloc(strlen(envp) + 2); - Strcpy(fqn_prefix[CONFIGPREFIX], envp); - append_slash(fqn_prefix[CONFIGPREFIX]); + Strcpy(g.fqn_prefix[CONFIGPREFIX], envp); + append_slash(g.fqn_prefix[CONFIGPREFIX]); } } } @@ -900,7 +900,7 @@ gotlock: #endif Sprintf(oops, "cannot creat file (%s.)\n%s\n%s\"%s\" exists?\n", fq_lock, strerror(ern), " Are you sure that the directory", - fqn_prefix[LEVELPREFIX]); + g.fqn_prefix[LEVELPREFIX]); raw_print(oops); } else { if (write(fd, (char *) &g.hackpid, sizeof(g.hackpid)) diff --git a/win/tty/wintty.c b/win/tty/wintty.c index bacea857a..57b4c7399 100644 --- a/win/tty/wintty.c +++ b/win/tty/wintty.c @@ -524,7 +524,7 @@ makepicks: setup_rolemenu(win, TRUE, RACE, GEND, ALGN); /* add miscellaneous menu entries */ role_menu_extra(ROLE_RANDOM, win, TRUE); - any = zeroany; /* separator, not a choice */ + any = g.zeroany; /* separator, not a choice */ add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED); role_menu_extra(RS_RACE, win, FALSE); @@ -618,7 +618,7 @@ makepicks: role_selection_prolog(RS_RACE, BASE_WINDOW); win = create_nhwindow(NHW_MENU); start_menu(win); - any = zeroany; /* zero out all bits */ + any = g.zeroany; /* zero out all bits */ /* populate the menu with role choices */ setup_racemenu(win, TRUE, ROLE, GEND, ALGN); /* add miscellaneous menu entries */ @@ -711,7 +711,7 @@ makepicks: role_selection_prolog(RS_GENDER, BASE_WINDOW); win = create_nhwindow(NHW_MENU); start_menu(win); - any = zeroany; /* zero out all bits */ + any = g.zeroany; /* zero out all bits */ /* populate the menu with gender choices */ setup_gendmenu(win, TRUE, ROLE, RACE, ALGN); /* add miscellaneous menu entries */ @@ -802,7 +802,7 @@ makepicks: role_selection_prolog(RS_ALGNMNT, BASE_WINDOW); win = create_nhwindow(NHW_MENU); start_menu(win); - any = zeroany; /* zero out all bits */ + any = g.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 */ @@ -882,7 +882,7 @@ makepicks: role_selection_prolog(ROLE_NONE, BASE_WINDOW); win = create_nhwindow(NHW_MENU); start_menu(win); - any = zeroany; /* zero out all bits */ + any = g.zeroany; /* zero out all bits */ any.a_int = 0; if (!roles[ROLE].name.f && (roles[ROLE].allow & ROLE_GENDMASK) @@ -984,7 +984,7 @@ reset_role_filtering() win = create_nhwindow(NHW_MENU); start_menu(win); - any = zeroany; + any = g.zeroany; /* no extra blank line preceding this entry; end_menu supplies one */ add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, @@ -1039,7 +1039,7 @@ int race, gend, algn; /* all ROLE_NONE for !filtering case */ boolean role_ok; char thisch, lastch = '\0', rolenamebuf[50]; - any = zeroany; /* zero out all bits */ + any = g.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) @@ -1082,7 +1082,7 @@ int role, gend, algn; int i; char this_ch; - any = zeroany; + any = g.zeroany; for (i = 0; races[i].noun; i++) { race_ok = ok_race(role, i, gend, algn); if (filtering && !race_ok) @@ -1115,7 +1115,7 @@ int role, race, algn; int i; char this_ch; - any = zeroany; + any = g.zeroany; for (i = 0; i < ROLE_GENDERS; i++) { gend_ok = ok_gend(role, race, i, algn); if (filtering && !gend_ok) @@ -1146,7 +1146,7 @@ int role, race, gend; int i; char this_ch; - any = zeroany; + any = g.zeroany; for (i = 0; i < ROLE_ALIGNS; i++) { algn_ok = ok_align(role, race, gend, i); if (filtering && !algn_ok) @@ -2901,7 +2901,7 @@ const char *prompt; /* prompt to for menu */ if (prompt) { anything any; - any = zeroany; /* not selectable */ + any = g.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, diff --git a/win/win32/mswproc.c b/win/win32/mswproc.c index 4973c0d18..c8ebe8be4 100644 --- a/win/win32/mswproc.c +++ b/win/win32/mswproc.c @@ -403,7 +403,7 @@ prompt_for_player_selection(void) /* Prompt for a role */ win = create_nhwindow(NHW_MENU); start_menu(win); - any = zeroany; /* zero out all bits */ + any = g.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 = zeroany; /* zero out all bits */ + any = g.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 = zeroany; /* zero out all bits */ + any = g.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 = zeroany; /* zero out all bits */ + any = g.zeroany; /* zero out all bits */ for (i = 0; i < ROLE_ALIGNS; i++) if (ok_align(flags.initrole, flags.initrace, flags.initgend, i)) {