Browse Source

Clean up SpawnRock

pull/100/head
Anders Jenbo 7 years ago
parent
commit
bc9238f68d
  1. 69
      Source/items.cpp

69
Source/items.cpp

@ -2929,51 +2929,30 @@ void SpawnQuestItem(int itemid, int x, int y, int randarea, int selflag)
void SpawnRock()
{
BOOL v0; // edx
int v1; // eax
int v2; // ecx
BOOL v3; // ebx
int v4; // ebx
int v5; // ecx
int v6; // esi
int *v7; // edx
int v8; // eax
int v9; // edi
int v10; // ST04_4
//int v11; // [esp+8h] [ebp-4h]
v0 = 0;
v1 = 0;
if (nobjects > 0) {
v2 = 0; //v11; /* chceck */
while (!v0) {
v2 = objectactive[v1];
v3 = object[objectactive[v1++]]._otype == OBJ_STAND;
v0 = v3;
if (v1 >= nobjects) {
if (!v3)
return;
break;
}
}
v4 = itemavail[0];
v5 = v2;
v6 = itemavail[0];
v7 = &itemavail[MAXITEMS - numitems - 1];
itemactive[numitems] = itemavail[0];
v8 = object[v5]._ox;
item[v6]._ix = v8;
v9 = object[v5]._oy;
itemavail[0] = *v7;
dItem[v8][v9] = v4 + 1;
v10 = currlevel;
item[v6]._iy = v9;
GetItemAttrs(v4, IDI_ROCK, v10);
SetupItem(v4);
++numitems;
item[v6]._iSelFlag = 2;
item[v6]._iPostDraw = TRUE;
item[v6]._iAnimFrame = 11;
int i, ii;
int xx, yy;
int ostand;
ostand = FALSE;
for (i = 0; i < nobjects && !ostand; i++) {
ii = objectactive[i];
ostand = object[ii]._otype == OBJ_STAND;
}
if (ostand) {
i = itemavail[0];
itemavail[0] = itemavail[127 - numitems - 1];
itemactive[numitems] = i;
xx = object[ii]._ox;
yy = object[ii]._oy;
item[i]._ix = xx;
item[i]._iy = yy;
dItem[xx][item[i]._iy] = i + 1;
GetItemAttrs(i, 7, currlevel);
SetupItem(i);
item[i]._iSelFlag = 2;
item[i]._iPostDraw = 1;
item[i]._iAnimFrame = 11;
numitems++;
}
}

Loading…
Cancel
Save