Browse Source

Clean up GetSuperItemSpace

pull/88/head
Anders Jenbo 7 years ago
parent
commit
fac74ca4bc
  1. 51
      Source/items.cpp

51
Source/items.cpp

@ -1511,47 +1511,24 @@ BOOL GetItemSpace(int x, int y, char inum)
void GetSuperItemSpace(int x, int y, char inum)
{
signed int v4; // edi
signed int v5; // ebx
int v6; // edx
int v7; // esi
int v9; // eax
int v10; // [esp+Ch] [ebp-10h]
int v11; // [esp+10h] [ebp-Ch]
signed int v12; // [esp+14h] [ebp-8h]
signed int v13; // [esp+18h] [ebp-4h]
int xx, yy;
int i, j, k;
v11 = y;
v10 = x;
if (!GetItemSpace(x, y, inum)) {
v13 = 2;
v4 = -2;
do {
v5 = v4;
if (v4 <= v13) {
while (2) {
v12 = v4;
v6 = v5 + v11;
v7 = v4 + v10;
do {
if (ItemSpaceOk(v7, v6)) {
v9 = inum;
item[v9]._ix = v7;
item[v9]._iy = v6;
dItem[v7][v6] = inum + 1;
return;
}
++v12;
++v7;
} while (v12 <= v13);
if (++v5 <= v13)
continue;
break;
for (k = 2; k < 50; k++) {
for (j = -k; j <= k; j++) {
yy = y + j;
for (i = -k; i <= k; i++) {
xx = i + x;
if (ItemSpaceOk(xx, yy)) {
item[inum]._ix = xx;
item[inum]._iy = yy;
dItem[xx][yy] = inum + 1;
return;
}
}
}
++v13;
--v4;
} while (v4 > -50);
}
}
}

Loading…
Cancel
Save