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) void __fastcall MI_Etherealize(int i)
{ {
int v1; // ebx int src;
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
v1 = i; src = missile[i]._misource;
v2 = i; missile[i]._mirange--;
v3 = missile[i]._misource; missile[i]._mix = plr[src].WorldX;
--missile[v2]._mirange; missile[i]._miy = plr[src].WorldY;
v4 = v3; missile[i]._mitxoff = plr[src]._pxoff << 16;
v5 = plr[v4]._pxoff; missile[i]._mityoff = plr[src]._pyoff << 16;
v6 = plr[v4].WorldX; if (plr[src]._pmode == PM_WALK3) {
v7 = plr[v4].WorldY; missile[i]._misx = plr[src]._px;
missile[v2]._mix = v6; missile[i]._misy = plr[src]._py;
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;
} else { } else {
missile[v2]._misx = v6; missile[i]._misx = missile[i]._mix;
missile[v2]._misy = v7; missile[i]._misy = missile[i]._miy;
} }
GetMissilePos(v1); GetMissilePos(i);
if (plr[v4]._pmode == PM_WALK3) { if (plr[src]._pmode == PM_WALK3) {
if (plr[v4]._pdir == 2) if (plr[src]._pdir == 2)
++missile[v2]._mix; missile[i]._mix++;
else else
++missile[v2]._miy; missile[i]._miy++;
} }
_LOBYTE(plr[v4]._pSpellFlags) |= 1u; plr[src]._pSpellFlags |= 1;
v10 = plr[v4]._pSpellFlags; if (!missile[i]._mirange || plr[src]._pHitPoints <= 0) {
if (!missile[v2]._mirange || plr[v4]._pHitPoints <= 0) { missile[i]._miDelFlag = TRUE;
missile[v2]._miDelFlag = TRUE; plr[src]._pSpellFlags &= ~0x1;
_LOBYTE(plr[v4]._pSpellFlags) = v10 & 0xFE;
} }
PutMissile(v1); PutMissile(i);
} }
void __fastcall MI_Firemove(int i) void __fastcall MI_Firemove(int i)

Loading…
Cancel
Save