Browse Source

Clean up HealerBuyItem

pull/88/head
Anders Jenbo 7 years ago
parent
commit
10477d080e
  1. 69
      Source/stores.cpp

69
Source/stores.cpp

@ -2901,68 +2901,49 @@ void BoyBuyItem()
void HealerBuyItem()
{
int idx; // esi
BOOLEAN v1; // sf
//unsigned char v2; // of
int v3; // eax
int v4; // ecx
BOOLEAN v5; // sf
//unsigned char v6; // of
int v7; // eax
ItemStruct *v8; // edx
ItemStruct *v9; // edi
BOOLEAN v10; // zf
int idx;
BOOL ok;
idx = stextvhold + ((stextlhold - stextup) >> 2);
ok = FALSE;
if (gbMaxPlayers == 1) {
//v2 = __OFSUB__(idx, 2);
v1 = idx - 2 < 0;
if (idx < 2)
ok = TRUE;
} else {
//v2 = __OFSUB__(idx, 3);
v1 = idx - 3 < 0;
if (idx < 3)
ok = TRUE;
}
if (v1) { //if (v1 ^ v2) {
v3 = GetRndSeed();
v4 = myplr;
plr[myplr].HoldItem._iSeed = v3;
} else {
v4 = myplr;
if (ok) {
plr[myplr].HoldItem._iSeed = GetRndSeed();
}
TakePlrsMoney(plr[v4].HoldItem._iIvalue);
TakePlrsMoney(plr[myplr].HoldItem._iIvalue);
if (plr[myplr].HoldItem._iMagical == ITEM_QUALITY_NORMAL)
plr[myplr].HoldItem._iIdentified = FALSE;
StoreAutoPlace();
ok = FALSE;
if (gbMaxPlayers == 1) {
//v6 = __OFSUB__(idx, 2);
v5 = idx - 2 < 0;
if (idx >= 2)
ok = TRUE;
} else {
//v6 = __OFSUB__(idx, 3);
v5 = idx - 3 < 0;
if (idx >= 3)
ok = TRUE;
}
if (!v5) { //if (!(v5 ^ v6)) {
v7 = stextvhold + ((stextlhold - stextup) >> 2);
if (v7 == 19) {
if (ok) {
idx = stextvhold + ((stextlhold - stextup) >> 2);
if (idx == 19) {
healitem[19]._itype = -1;
} else {
if (healitem[v7 + 1]._itype != -1) {
v8 = &healitem[v7];
do {
v9 = v8;
++v8;
++v7;
v10 = v8[1]._itype == -1;
qmemcpy(v9, v8, sizeof(ItemStruct));
} while (!v10);
for (; healitem[idx + 1]._itype != -1; idx++) {
healitem[idx] = healitem[idx + 1];
}
healitem[v7]._itype = -1;
healitem[idx]._itype = -1;
}
CalcPlrInv(myplr, 1u);
CalcPlrInv(myplr, TRUE);
}
}
// 679660: using guessed type char gbMaxPlayers;
// 69F108: using guessed type int stextup;
// 69F110: using guessed type int stextlhold;
// 6A8A24: using guessed type int stextvhold;
void S_BBuyEnter()
{

Loading…
Cancel
Save