From 1368c4d499f90222fc7b4e3f540ac4ec6fdd2c58 Mon Sep 17 00:00:00 2001 From: Vladimir Olteanu Date: Mon, 14 Jun 2021 14:28:57 +0300 Subject: [PATCH] Cleanup MI_Wave --- Source/missiles.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 5e3f23c61..aa1ef7d3a 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -4633,29 +4633,23 @@ void MI_Apoca(int i) void MI_Wave(int i) { - int j, id, pn; - bool f1, f2; - int v1, v2; - - f1 = false; - f2 = false; + bool f1 = false; + bool f2 = false; assert((DWORD)i < MAXMISSILES); - id = missile[i]._misource; + int id = missile[i]._misource; Point src = missile[i].position.tile; - v1 = missile[i]._miVar1; - v2 = missile[i]._miVar2; - Direction sd = GetDirection(src, { v1, v2 }); + Direction sd = GetDirection(src, { missile[i]._miVar1, missile[i]._miVar2 }); Direction dira = left[left[sd]]; Direction dirb = right[right[sd]]; Point na = src + sd; - pn = dPiece[na.x][na.y]; + int pn = dPiece[na.x][na.y]; assert((DWORD)pn <= MAXTILES); if (!nMissileTable[pn]) { AddMissile(na, na + sd, plr[id]._pdir, MIS_FIREMOVE, TARGET_MONSTERS, id, 0, missile[i]._mispllvl); na += dira; Point nb = src + sd + dirb; - for (j = 0; j < (missile[i]._mispllvl / 2) + 2; j++) { + for (int j = 0; j < (missile[i]._mispllvl / 2) + 2; j++) { pn = dPiece[na.x][na.y]; // BUGFIX: dPiece is accessed before check against dungeon size and 0 assert((DWORD)pn <= MAXTILES); if (nMissileTable[pn] || f1 || !InDungeonBounds(na)) {