From cc36d9f42274bac4ed7f7aff413dbb852e126907 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sat, 15 Sep 2018 12:55:32 +0200 Subject: [PATCH] Clean up matching --- Source/player.cpp | 84 +++++++++++++++++------------------------------ 1 file changed, 31 insertions(+), 53 deletions(-) diff --git a/Source/player.cpp b/Source/player.cpp index cfb08dcfa..09dc2351b 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -2154,75 +2154,53 @@ LABEL_9: void __fastcall RemovePlrMissiles(int pnum) { - int v1; // ebx - int v2; // ebp - int v3; // ecx - int v4; // edi - int v5; // esi - int v6; // eax - - v1 = 0; - v2 = pnum; - if ( currlevel && pnum == myplr && (monster[myplr]._mx != 1 || monster[myplr]._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); - v3 = monster[myplr]._my + 112 * monster[myplr]._mx; + dMonster[monster[myplr]._mx][monster[myplr]._my] = 0; monster[myplr]._mDelFlag = 1; - dMonster[0][v3] = 0; DeleteMonsterList(); } - if ( nummissiles > 0 ) - { - do - { - v4 = missileactive[v1]; - v5 = missileactive[v1]; - v6 = missile[v5]._mitype; - if ( v6 == MIS_STONE && missile[v5]._misource == v2 ) - monster[missile[v5]._miVar2]._mmode = missile[v5]._miVar1; - if ( v6 == MIS_MANASHIELD && missile[v5]._misource == v2 ) - { - ClearMissileSpot(v4); - DeleteMissile(v4, v1); - } - if ( missile[v5]._mitype == MIS_ETHEREALIZE && missile[v5]._misource == v2 ) - { - ClearMissileSpot(v4); - DeleteMissile(v4, v1); - } - ++v1; + + for ( int mi = 0; mi < nummissiles; mi++ ) { + int am = missileactive[mi]; + 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); + } + if ( missile[am]._mitype == MIS_ETHEREALIZE && missile[am]._misource == pnum ) { + ClearMissileSpot(am); + DeleteMissile(am, mi); } - while ( v1 < nummissiles ); } } void __fastcall InitLevelChange(int pnum) { - int v1; // esi - int v2; // eax - bool v3; // zf - - v1 = pnum; RemovePlrMissiles(pnum); - if ( v1 == myplr && qtextflag ) - { + if ( pnum == myplr && qtextflag ) { qtextflag = 0; sfx_stop(); } - RemovePlrFromMap(v1); - SetPlayerOld(v1); - if ( v1 == myplr ) + + RemovePlrFromMap(pnum); + SetPlayerOld(pnum); + if ( pnum == myplr ) { dPlayer[plr[myplr].WorldX][plr[myplr].WorldY] = myplr + 1; - else - plr[v1]._pLvlVisited[plr[v1].plrlevel] = 1; - ClrPlrPath(v1); - v2 = v1; - plr[v2].destAction = -1; - v3 = v1 == myplr; - plr[v2]._pLvlChanging = 1; - if ( v3 ) - plr[v2].pLvlLoad = 10; + } else { + plr[pnum]._pLvlVisited[plr[pnum].plrlevel] = 1; + } + + ClrPlrPath(pnum); + plr[pnum].destAction = -1; + plr[pnum]._pLvlChanging = 1; + + if ( pnum == myplr ) { + plr[pnum].pLvlLoad = 10; + } } // 646D00: using guessed type char qtextflag;