diff --git a/Source/items.cpp b/Source/items.cpp index 0a66ab354..cbec8f07d 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -4014,8 +4014,8 @@ void RecreateSmithItem(int ii, int idx, int lvl, int iseed) itype = RndSmithItem(lvl) - 1; GetItemAttrs(ii, itype, lvl); - item[ii]._iCreateInfo = lvl | 0x400; item[ii]._iSeed = iseed; + item[ii]._iCreateInfo = lvl | 0x400; item[ii]._iIdentified = TRUE; } @@ -4083,8 +4083,8 @@ void RecreateHealerItem(int ii, int idx, int lvl, int iseed) GetItemAttrs(ii, itype, lvl); } - item[ii]._iCreateInfo = lvl | 0x4000; item[ii]._iSeed = iseed; + item[ii]._iCreateInfo = lvl | 0x4000; item[ii]._iIdentified = TRUE; } @@ -4134,8 +4134,8 @@ int ItemNoFlippy() int r; r = itemactive[numitems - 1]; - item[r]._iAnimFlag = FALSE; item[r]._iAnimFrame = item[r]._iAnimLen; + item[r]._iAnimFlag = FALSE; item[r]._iSelFlag = 1; return r; diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 9175734e6..7f77e3832 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1630,22 +1630,22 @@ void AddFlash(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, i { int i; - if (!mienemy && id != -1) { - missile[mi]._midam = 0; - for (i = 0; i <= plr[id]._pLevel; i++) { - missile[mi]._midam += random(55, 20) + 1; - } - for (i = 0; i < missile[mi]._mispllvl; i++) { - missile[mi]._midam += missile[mi]._midam >> 3; - } - missile[mi]._midam += missile[mi]._midam >> 1; - UseMana(id, SPL_FLASH); - } else { - if (!mienemy) { - missile[mi]._midam = currlevel >> 1; + if (!mienemy) { + if (id != -1) { + missile[mi]._midam = 0; + for (i = 0; i <= plr[id]._pLevel; i++) { + missile[mi]._midam += random(55, 20) + 1; + } + for (i = missile[mi]._mispllvl; i > 0; i--) { + missile[mi]._midam += missile[mi]._midam >> 3; + } + missile[mi]._midam += missile[mi]._midam >> 1; + UseMana(id, SPL_FLASH); } else { - missile[mi]._midam = monster[id].mLevel << 1; + missile[mi]._midam = currlevel >> 1; } + } else { + missile[mi]._midam = monster[id].mLevel << 1; } missile[mi]._mirange = 19; } @@ -2572,6 +2572,7 @@ void MI_Golem(int i) { int CrawlNum[6] = { 0, 3, 12, 45, 94, 159 }; int tx, ty, dp, l, m, src, k, tid; + char *ct; src = missile[i]._misource; if (monster[src]._mx == 1 && !monster[src]._my) { @@ -2579,8 +2580,9 @@ void MI_Golem(int i) k = CrawlNum[l]; tid = k + 2; for (m = (BYTE)CrawlTable[k]; m > 0; m--) { - tx = missile[i]._miVar4 + CrawlTable[tid - 1]; - ty = missile[i]._miVar5 + CrawlTable[tid]; + ct = &CrawlTable[tid]; + tx = missile[i]._miVar4 + *(ct - 1); + ty = missile[i]._miVar5 + *ct; if (0 < tx && tx < MAXDUNX && 0 < ty && ty < MAXDUNY) { dp = dPiece[tx][ty]; if (LineClear(missile[i]._miVar1, missile[i]._miVar2, tx, ty)) { @@ -2674,7 +2676,7 @@ void MI_LArrow(int i) if (missile[i]._mix != missile[i]._miVar1 || missile[i]._miy != missile[i]._miVar2) { missile[i]._miVar1 = missile[i]._mix; missile[i]._miVar2 = missile[i]._miy; - ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, 5); + ChangeLight(missile[i]._mlid, missile[i]._miVar1, missile[i]._miVar2, 5); } } } @@ -2887,8 +2889,8 @@ void MI_Fireball(int i) { int dam, id, px, py, mx, my; - dam = missile[i]._midam; id = missile[i]._misource; + dam = missile[i]._midam; missile[i]._mirange--; if (missile[i]._micaster == 0) { @@ -2954,7 +2956,7 @@ void MI_Fireball(int i) } else if (missile[i]._mix != missile[i]._miVar1 || missile[i]._miy != missile[i]._miVar2) { missile[i]._miVar1 = missile[i]._mix; missile[i]._miVar2 = missile[i]._miy; - ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, 8); + ChangeLight(missile[i]._mlid, missile[i]._miVar1, missile[i]._miVar2, 8); } } diff --git a/Source/mpqapi.cpp b/Source/mpqapi.cpp index dc58bfe35..ddf9bd850 100644 --- a/Source/mpqapi.cpp +++ b/Source/mpqapi.cpp @@ -266,17 +266,12 @@ _BLOCKENTRY *mpqapi_add_file(const char *pszName, _BLOCKENTRY *pBlk, int block_i h3 = Hash(pszName, 2); if (mpqapi_get_hash_index(h1, h2, h3, 0) != -1) app_fatal("Hash collision between \"%s\" and existing file\n", pszName); - i = 2048; hIdx = h1 & 0x7FF; - while (1) { - i--; + i = 2048; + while (i--) { if (sgpHashTbl[hIdx].block == -1 || sgpHashTbl[hIdx].block == -2) break; hIdx = (hIdx + 1) & 0x7FF; - if (!i) { - i = -1; - break; - } } if (i < 0) app_fatal("Out of hash space"); diff --git a/Source/objects.cpp b/Source/objects.cpp index dfd48b9af..985bff5f5 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -4069,13 +4069,13 @@ void BreakCrux(int i) int j, oi; BOOL triggered; - object[i]._oBreak = -1; - object[i]._oSelFlag = 0; object[i]._oAnimFlag = 1; object[i]._oAnimFrame = 1; object[i]._oAnimDelay = 1; object[i]._oSolidFlag = TRUE; object[i]._oMissFlag = TRUE; + object[i]._oBreak = -1; + object[i]._oSelFlag = 0; triggered = TRUE; for (j = 0; j < nobjects; j++) { oi = objectactive[j]; diff --git a/Source/player.cpp b/Source/player.cpp index cf3d9ecef..51881091d 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -939,7 +939,7 @@ void AddPlrExperience(int pnum, int lvl, int exp) void AddPlrMonstExper(int lvl, int exp, char pmask) { - int totplrs, i; + int totplrs, i, e; totplrs = 0; for (i = 0; i < MAX_PLRS; i++) { @@ -949,9 +949,9 @@ void AddPlrMonstExper(int lvl, int exp, char pmask) } if (totplrs) { - exp = exp / totplrs; + e = exp / totplrs; if (pmask & (1 << myplr)) - AddPlrExperience(myplr, lvl, exp); + AddPlrExperience(myplr, lvl, e); } } @@ -1294,7 +1294,6 @@ void PM_ChangeLightOff(int pnum) } l = &LightList[plr[pnum]._plid]; - ymul = -1; x = 2 * plr[pnum]._pyoff + plr[pnum]._pxoff; y = 2 * plr[pnum]._pyoff - plr[pnum]._pxoff; if (x < 0) { @@ -1304,6 +1303,7 @@ void PM_ChangeLightOff(int pnum) xmul = 1; } if (y < 0) { + ymul = -1; y = -y; } else { ymul = 1; @@ -2099,28 +2099,31 @@ void SyncPlrKill(int pnum, int earflag) void RemovePlrMissiles(int pnum) { - int mi, am; + int i, am; + int mx, my; if (currlevel != 0 && pnum == myplr && (monster[myplr]._mx != 1 || monster[myplr]._my != 0)) { M_StartKill(myplr, myplr); - AddDead(monster[myplr]._mx, monster[myplr]._my, monster[myplr].MType->mdeadval, (direction)monster[myplr]._mdir); - dMonster[monster[myplr]._mx][monster[myplr]._my] = 0; + AddDead(monster[myplr]._mx, monster[myplr]._my, (monster[myplr].MType)->mdeadval, monster[myplr]._mdir); + mx = monster[myplr]._mx; + my = monster[myplr]._my; + dMonster[mx][my] = 0; monster[myplr]._mDelFlag = TRUE; DeleteMonsterList(); } - for (mi = 0; mi < nummissiles; mi++) { - am = missileactive[mi]; + for (i = 0; i < nummissiles; i++) { + am = missileactive[i]; if (missile[am]._mitype == MIS_STONE && missile[am]._misource == pnum) { monster[missile[am]._miVar2]._mmode = missile[am]._miVar1; } if (missile[am]._mitype == MIS_MANASHIELD && missile[am]._misource == pnum) { ClearMissileSpot(am); - DeleteMissile(am, mi); + DeleteMissile(am, i); } if (missile[am]._mitype == MIS_ETHEREALIZE && missile[am]._misource == pnum) { ClearMissileSpot(am); - DeleteMissile(am, mi); + DeleteMissile(am, i); } } } diff --git a/Source/plrmsg.cpp b/Source/plrmsg.cpp index 5369377f5..09c6fe840 100644 --- a/Source/plrmsg.cpp +++ b/Source/plrmsg.cpp @@ -110,8 +110,8 @@ void PrintPlrMsg(DWORD x, DWORD y, DWORD width, const char *str, BYTE col) while (*str) { BYTE c; int screen = PitchTbl[y] + x; - const char *sstr = str; DWORD len = 0; + const char *sstr = str; const char *endstr = sstr; while (1) { diff --git a/Source/portal.cpp b/Source/portal.cpp index 296fea10f..edf94618d 100644 --- a/Source/portal.cpp +++ b/Source/portal.cpp @@ -18,12 +18,12 @@ void InitPortals() void SetPortalStats(int i, BOOL o, int x, int y, int lvl, int lvltype) { - portal[i].setlvl = FALSE; + portal[i].open = o; portal[i].x = x; portal[i].y = y; - portal[i].open = o; portal[i].level = lvl; portal[i].ltype = lvltype; + portal[i].setlvl = FALSE; } void AddWarpMissile(int i, int x, int y)