From 96c61630191e5b4d9748e538d5e8a06c755ea072 Mon Sep 17 00:00:00 2001 From: "nethack.allison" Date: Tue, 11 Jul 2006 12:38:16 +0000 Subject: [PATCH] cast int64 to smaller types (trunk only) The devteam feedback was to place casts in the code in question. This puts explicit casts on some code that was being compiled into 'int64' then stuffed into smaller types with VC2005. --- src/artifact.c | 2 +- src/end.c | 2 +- src/mklev.c | 2 +- src/mkmaze.c | 2 +- src/mkroom.c | 6 +++--- src/mon.c | 4 ++-- src/options.c | 6 +++--- src/priest.c | 2 +- src/shknam.c | 8 ++++---- src/sounds.c | 2 +- src/timeout.c | 2 +- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/artifact.c b/src/artifact.c index ce628966c..b0d3d610e 100644 --- a/src/artifact.c +++ b/src/artifact.c @@ -212,7 +212,7 @@ register boolean mod; if (otmp && *name) for (a = artilist+1; a->otyp; a++) if (a->otyp == otmp->otyp && !strcmp(a->name, name)) { - register int m = a - artilist; + register int m = (int)(a - artilist); otmp->oartifact = (char)(mod ? m : 0); otmp->age = 0; if(otmp->otyp == RIN_INCREASE_DAMAGE) diff --git a/src/end.c b/src/end.c index e6d02c0ac..382a0eb1d 100644 --- a/src/end.c +++ b/src/end.c @@ -327,7 +327,7 @@ char *defquery; char *dop = index(disclosure_options, category); if (dop && defquery) { - idx = dop - disclosure_options; + idx = (int)(dop - disclosure_options); if (idx < 0 || idx > (NUM_DISCLOSURE_OPTIONS - 1)) { impossible( "should_query_disclose_option: bad disclosure index %d %c", diff --git a/src/mklev.c b/src/mklev.c index ad2553f7d..a363c4295 100644 --- a/src/mklev.c +++ b/src/mklev.c @@ -957,7 +957,7 @@ topologize(croom) register struct mkroom *croom; #endif { - register int x, y, roomno = (croom - rooms) + ROOMOFFSET; + register int x, y, roomno = (int)((croom - rooms) + ROOMOFFSET); register int lowx = croom->lx, lowy = croom->ly; register int hix = croom->hx, hiy = croom->hy; #ifdef SPECIALIZATION diff --git a/src/mkmaze.c b/src/mkmaze.c index 24497f3e3..e35ec97dd 100644 --- a/src/mkmaze.c +++ b/src/mkmaze.c @@ -534,7 +534,7 @@ register const char *s; char *ep = getenv("SPLEVTYPE"); /* not nh_getenv */ if (ep) { /* rindex always succeeds due to code in prior block */ - int len = (rindex(protofile, '-') - protofile) + 1; + int len = (int)((rindex(protofile, '-') - protofile) + 1); while (ep && *ep) { if (!strncmp(ep, protofile, len)) { diff --git a/src/mkroom.c b/src/mkroom.c index 0d17f0a6d..8cbbe4f84 100644 --- a/src/mkroom.c +++ b/src/mkroom.c @@ -227,7 +227,7 @@ struct mkroom *sroom; struct monst *mon; register int sx,sy,i; int sh, tx, ty, goldlim, type = sroom->rtype; - int rmno = (sroom - rooms) + ROOMOFFSET; + int rmno = (int)((sroom - rooms) + ROOMOFFSET); coord mm; #ifdef GCC_WARN @@ -518,7 +518,7 @@ mktemple() * In temples, shrines are blessed altars * located in the center of the room */ - shrine_spot = shrine_pos((sroom - rooms) + ROOMOFFSET); + shrine_spot = shrine_pos((int)((sroom - rooms) + ROOMOFFSET)); lev = &levl[shrine_spot->x][shrine_spot->y]; lev->typ = ALTAR; lev->altarmask = induced_align(80); @@ -596,7 +596,7 @@ coord *c; int i; if (croom->irregular) { - i = (croom - rooms) + ROOMOFFSET; + i = (int)((croom - rooms) + ROOMOFFSET); while(try_cnt++ < 100) { c->x = somex(croom); diff --git a/src/mon.c b/src/mon.c index e4d1b1261..0dc07c45e 100644 --- a/src/mon.c +++ b/src/mon.c @@ -2500,9 +2500,9 @@ struct monst *mon; struct obj *m_armr = which_armor(mon, W_ARM); if (m_armr && Is_dragon_scales(m_armr)) - mndx = Dragon_scales_to_pm(m_armr) - mons; + mndx = (int)(Dragon_scales_to_pm(m_armr) - mons); else if (m_armr && Is_dragon_mail(m_armr)) - mndx = Dragon_mail_to_pm(m_armr) - mons; + mndx = (int)(Dragon_mail_to_pm(m_armr) - mons); } break; } diff --git a/src/options.c b/src/options.c index d6358723e..cddb16faf 100644 --- a/src/options.c +++ b/src/options.c @@ -702,7 +702,7 @@ char *tp; cp++; if (*cp == 'x' || *cp == 'X') for (++cp; (dp = index(hex, *cp)) && (dcount++ < 2); cp++) - cval = (cval * 16) + (dp - hex) / 2; + cval = (int)((cval * 16) + (dp - hex) / 2); else if (*cp == 'o' || *cp == 'O') for (++cp; (index("01234567",*cp)) && (dcount++ < 3); cp++) cval = (cval * 8) + (*cp - '0'); @@ -1933,7 +1933,7 @@ goodfruit: if (c == 'k') c = 'v'; /* killed -> vanquished */ dop = index(disclosure_options, c); if (dop) { - idx = dop - disclosure_options; + idx = (int)(dop - disclosure_options); if (idx < 0 || idx > NUM_DISCLOSURE_OPTIONS - 1) { impossible("bad disclosure index %d %c", idx, c); @@ -2538,7 +2538,7 @@ map_menu_cmd(ch) { char *found = index(mapped_menu_cmds, ch); if (found) { - int idx = found - mapped_menu_cmds; + int idx = (int)(found - mapped_menu_cmds); ch = mapped_menu_op[idx]; } return ch; diff --git a/src/priest.c b/src/priest.c index ee43c80e0..f791b01e0 100644 --- a/src/priest.c +++ b/src/priest.c @@ -223,7 +223,7 @@ boolean sanctum; /* is it the seat of the high priest? */ priest = makemon(&mons[sanctum ? PM_HIGH_PRIEST : PM_ALIGNED_PRIEST], sx + 1, sy, MM_EPRI); if (priest) { - EPRI(priest)->shroom = (sroom - rooms) + ROOMOFFSET; + EPRI(priest)->shroom = (schar)((sroom - rooms) + ROOMOFFSET); EPRI(priest)->shralign = Amask2align(levl[sx][sy].altarmask); EPRI(priest)->shrpos.x = sx; EPRI(priest)->shrpos.y = sy; diff --git a/src/shknam.c b/src/shknam.c index 87e9b77ff..e41ff1acb 100644 --- a/src/shknam.c +++ b/src/shknam.c @@ -370,7 +370,7 @@ int sx, sy; mtmp->mappearance = STRANGE_OBJECT; } } else { - atype = get_shop_item(shp - shtypes); + atype = get_shop_item((int)(shp - shtypes)); if (atype == VEGETARIAN_CLASS) mkveggy_at(sx, sy); else if (atype < 0) @@ -486,7 +486,7 @@ struct mkroom *sroom; /* check that the shopkeeper placement is sane */ if(sroom->irregular) { - int rmno = (sroom - rooms) + ROOMOFFSET; + int rmno = (int)((sroom - rooms) + ROOMOFFSET); if (isok(sx-1,sy) && !levl[sx-1][sy].edge && (int) levl[sx-1][sy].roomno == rmno) sx--; else if (isok(sx+1,sy) && !levl[sx+1][sy].edge && @@ -534,7 +534,7 @@ struct mkroom *sroom; set_malign(shk); shk->msleeping = 0; shk->mtrapseen = ~0; /* we know all the traps already */ - ESHK(shk)->shoproom = (sroom - rooms) + ROOMOFFSET; + ESHK(shk)->shoproom = (schar)((sroom - rooms) + ROOMOFFSET); sroom->resident = shk; ESHK(shk)->shoptype = sroom->rtype; assign_level(&(ESHK(shk)->shoplevel), &u.uz); @@ -574,7 +574,7 @@ register struct mkroom *sroom; */ register int sx, sy, sh; char buf[BUFSZ]; - int rmno = (sroom - rooms) + ROOMOFFSET; + int rmno = (int)((sroom - rooms) + ROOMOFFSET); const struct shclass *shp = &shtypes[shp_indx]; /* first, try to place a shopkeeper in the room */ diff --git a/src/sounds.c b/src/sounds.c index cfe7a9d06..75ca7c282 100644 --- a/src/sounds.c +++ b/src/sounds.c @@ -224,7 +224,7 @@ dosounds() return; } if (tended_shop(sroom) && - !index(u.ushops, ROOM_INDEX(sroom) + ROOMOFFSET)) { + !index(u.ushops, (int)(ROOM_INDEX(sroom) + ROOMOFFSET))) { static const char * const shop_msg[3] = { "someone cursing shoplifters.", "the chime of a cash register.", diff --git a/src/timeout.c b/src/timeout.c index 70d321537..cac960036 100644 --- a/src/timeout.c +++ b/src/timeout.c @@ -227,7 +227,7 @@ nh_timeout() for(upp = u.uprops; upp < u.uprops+SIZE(u.uprops); upp++) if((upp->intrinsic & TIMEOUT) && !(--upp->intrinsic & TIMEOUT)) { - kptr = find_delayed_killer(upp - u.uprops); + kptr = find_delayed_killer((int)(upp - u.uprops)); switch(upp - u.uprops){ case STONED: if (kptr && kptr->name[0]) { -- 2.40.0