Browse Source

Clean up matching

pull/4/head
Anders Jenbo 8 years ago
parent
commit
cc36d9f422
  1. 84
      Source/player.cpp

84
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;

Loading…
Cancel
Save