Browse Source

MI_Etherealize bin exact

pull/44/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
66d403b599
  1. 62
      Source/missiles.cpp

62
Source/missiles.cpp

@ -4078,52 +4078,34 @@ LABEL_33:
void __fastcall MI_Etherealize(int i)
{
int v1; // ebx
int v2; // esi
int v3; // edi
int v4; // edi
int v5; // edx
int v6; // eax
int v7; // ecx
int v8; // edx
BOOLEAN v9; // zf
char v10; // al
int src;
v1 = i;
v2 = i;
v3 = missile[i]._misource;
--missile[v2]._mirange;
v4 = v3;
v5 = plr[v4]._pxoff;
v6 = plr[v4].WorldX;
v7 = plr[v4].WorldY;
missile[v2]._mix = v6;
missile[v2]._mitxoff = v5 << 16;
v8 = plr[v4]._pyoff << 16;
v9 = plr[v4]._pmode == PM_WALK3;
missile[v2]._miy = v7;
missile[v2]._mityoff = v8;
if (v9) {
missile[v2]._misx = plr[v4]._px;
missile[v2]._misy = plr[v4]._py;
src = missile[i]._misource;
missile[i]._mirange--;
missile[i]._mix = plr[src].WorldX;
missile[i]._miy = plr[src].WorldY;
missile[i]._mitxoff = plr[src]._pxoff << 16;
missile[i]._mityoff = plr[src]._pyoff << 16;
if (plr[src]._pmode == PM_WALK3) {
missile[i]._misx = plr[src]._px;
missile[i]._misy = plr[src]._py;
} else {
missile[v2]._misx = v6;
missile[v2]._misy = v7;
missile[i]._misx = missile[i]._mix;
missile[i]._misy = missile[i]._miy;
}
GetMissilePos(v1);
if (plr[v4]._pmode == PM_WALK3) {
if (plr[v4]._pdir == 2)
++missile[v2]._mix;
GetMissilePos(i);
if (plr[src]._pmode == PM_WALK3) {
if (plr[src]._pdir == 2)
missile[i]._mix++;
else
++missile[v2]._miy;
missile[i]._miy++;
}
_LOBYTE(plr[v4]._pSpellFlags) |= 1u;
v10 = plr[v4]._pSpellFlags;
if (!missile[v2]._mirange || plr[v4]._pHitPoints <= 0) {
missile[v2]._miDelFlag = TRUE;
_LOBYTE(plr[v4]._pSpellFlags) = v10 & 0xFE;
plr[src]._pSpellFlags |= 1;
if (!missile[i]._mirange || plr[src]._pHitPoints <= 0) {
missile[i]._miDelFlag = TRUE;
plr[src]._pSpellFlags &= ~0x1;
}
PutMissile(v1);
PutMissile(i);
}
void __fastcall MI_Firemove(int i)

Loading…
Cancel
Save