Browse Source

Clean up SyncGetItem

pull/88/head
Anders Jenbo 7 years ago
parent
commit
fd1cb84509
  1. 46
      Source/inv.cpp
  2. 2
      Source/inv.h

46
Source/inv.cpp

@ -2046,36 +2046,34 @@ int __fastcall FindGetItem(int indx, WORD ci, int iseed)
return ii;
}
void __fastcall SyncGetItem(int x, int y, int idx, unsigned short ci, int iseed)
void __fastcall SyncGetItem(int x, int y, int idx, WORD ci, int iseed)
{
char v5; // cl
int v6; // esi
int v7; // eax
int v8; // edx
int v9; // ecx
//int v10; // ecx
v5 = dItem[x][y];
if (v5
&& (v6 = v5 - 1, v7 = v6, item[v7].IDidx == idx)
&& item[v7]._iSeed == iseed
&& item[v7]._iCreateInfo == ci) {
FindGetItem(idx, ci, iseed);
int i, ii;
if (dItem[x][y]) {
ii = dItem[x][y] - 1;
if (item[ii].IDidx == idx
&& item[ii]._iSeed == iseed
&& item[ii]._iCreateInfo == ci) {
FindGetItem(idx, ci, iseed);
} else {
ii = FindGetItem(idx, ci, iseed);
}
} else {
v6 = FindGetItem(idx, ci, iseed);
ii = FindGetItem(idx, ci, iseed);
}
if (v6 != -1) {
v8 = 0;
dItem[item[v6]._ix][item[v6]._iy] = 0;
while (v8 < numitems) {
v9 = itemactive[v8];
if (v9 == v6) {
DeleteItem(v9, v8);
if (ii != -1) {
dItem[item[ii]._ix][item[ii]._iy] = 0;
i = 0;
while (i < numitems) {
if (itemactive[i] == ii) {
DeleteItem(itemactive[i], i);
FindGetItem(idx, ci, iseed);
FindGetItem(idx, ci, iseed); /* check idx */
v8 = 0;
i = 0;
} else {
++v8;
i++;
}
}
FindGetItem(idx, ci, iseed);

2
Source/inv.h

@ -29,7 +29,7 @@ void __fastcall CheckQuestItem(int pnum);
void __fastcall InvGetItem(int pnum, int ii);
void __fastcall AutoGetItem(int pnum, int ii);
int __fastcall FindGetItem(int indx, WORD ci, int iseed);
void __fastcall SyncGetItem(int x, int y, int idx, unsigned short ci, int iseed);
void __fastcall SyncGetItem(int x, int y, int idx, WORD ci, int iseed);
int __fastcall CanPut(int i, int j);
int __cdecl TryInvPut();
void __fastcall DrawInvMsg(char *msg);

Loading…
Cancel
Save