Browse Source

Clean up S_ScrollWBuy

pull/90/head^2^2
Anders Jenbo 7 years ago
parent
commit
ecbdea2d29
  1. 142
      Source/stores.cpp

142
Source/stores.cpp

@ -463,33 +463,34 @@ void S_StartSmith()
void S_ScrollSBuy(int idx)
{
int y;
char clr;
int l, ls;
char iclr;
ls = idx;
ClearSText(5, 21);
stextup = 5;
for (y = 5; y < 20; y += 4) {
if (smithitem[idx]._itype != -1) {
clr = COL_WHITE;
if (smithitem[idx]._iMagical) {
clr = COL_BLUE;
for (l = 5; l < 20; l += 4) {
if (smithitem[ls]._itype != ITYPE_NONE) {
iclr = COL_WHITE;
if (smithitem[ls]._iMagical) {
iclr = COL_BLUE;
}
if (!smithitem[idx]._iStatFlag) {
clr = COL_RED;
if (!smithitem[ls]._iStatFlag) {
iclr = COL_RED;
}
if (smithitem[idx]._iMagical) {
AddSText(20, y, 0, smithitem[idx]._iIName, clr, 1);
if (smithitem[ls]._iMagical) {
AddSText(20, l, 0, smithitem[ls]._iIName, iclr, 1);
} else {
AddSText(20, y, 0, smithitem[idx]._iName, clr, 1);
AddSText(20, l, 0, smithitem[ls]._iName, iclr, 1);
}
AddSTextVal(y, smithitem[idx]._iIvalue);
PrintStoreItem(&smithitem[idx], y + 1, clr);
stextdown = y;
idx++;
AddSTextVal(l, smithitem[ls]._iIvalue);
PrintStoreItem(&smithitem[ls], l + 1, iclr);
stextdown = l;
ls++;
}
}
@ -716,29 +717,35 @@ BOOL SmithSellOk(int i)
void S_ScrollSSell(int idx)
{
char clr;
int y;
int l;
char iclr;
ClearSText(5, 21);
stextup = 5;
for (y = 5; y < 20; y += 4) {
for (l = 5; l < 20; l += 4) {
if (idx >= storenumh)
break;
if (storehold[idx]._itype != -1) {
clr = 0;
if (storehold[idx]._iMagical)
clr = 1;
if (!storehold[idx]._iStatFlag)
clr = 2;
if (storehold[idx]._itype != ITYPE_NONE) {
iclr = COL_WHITE;
if (storehold[idx]._iMagical) {
iclr = COL_BLUE;
}
if (!storehold[idx]._iStatFlag) {
iclr = COL_RED;
}
if (storehold[idx]._iMagical && storehold[idx]._iIdentified) {
AddSText(20, y, 0, storehold[idx]._iIName, clr, 1);
AddSTextVal(y, storehold[idx]._iIvalue);
AddSText(20, l, 0, storehold[idx]._iIName, iclr, 1);
AddSTextVal(l, storehold[idx]._iIvalue);
} else {
AddSText(20, y, 0, storehold[idx]._iName, clr, 1);
AddSTextVal(y, storehold[idx]._ivalue);
AddSText(20, l, 0, storehold[idx]._iName, iclr, 1);
AddSTextVal(l, storehold[idx]._ivalue);
}
PrintStoreItem(&storehold[idx], y + 1, clr);
stextdown = y;
PrintStoreItem(&storehold[idx], l + 1, iclr);
stextdown = l;
}
idx++;
}
@ -959,41 +966,40 @@ void S_StartWitch()
void S_ScrollWBuy(int idx)
{
int v1; // esi
int v2; // edi
char *v3; // esi
char *v4; // eax
int iclr; // [esp+Ch] [ebp-4h]
int l, ls;
char iclr;
v1 = idx;
v2 = 5;
ls = idx;
ClearSText(5, 21);
v3 = &witchitem[v1]._iMagical;
stextup = 5;
do {
if (*((_DWORD *)v3 - 13) != -1) {
_LOBYTE(iclr) = 0;
if (*v3)
_LOBYTE(iclr) = 1;
if (!*((_DWORD *)v3 + 74))
_LOBYTE(iclr) = 2;
v4 = v3 + 65;
if (!*v3)
v4 = v3 + 1;
AddSText(20, v2, 0, v4, iclr, 1);
AddSTextVal(v2, *((_DWORD *)v3 + 35));
PrintStoreItem((ItemStruct *)(v3 - 60), v2 + 1, iclr);
stextdown = v2;
v3 += 368;
for (l = 5; l < 20; l += 4) {
if (witchitem[ls]._itype != ITYPE_NONE) {
iclr = COL_WHITE;
if (witchitem[ls]._iMagical) {
iclr = COL_BLUE;
}
if (!witchitem[ls]._iStatFlag) {
iclr = COL_RED;
}
if (witchitem[ls]._iMagical) {
AddSText(20, l, 0, witchitem[ls]._iIName, iclr, 1);
} else {
AddSText(20, l, 0, witchitem[ls]._iName, iclr, 1);
}
AddSTextVal(l, witchitem[ls]._iIvalue);
PrintStoreItem(&witchitem[ls], l + 1, iclr);
stextdown = l;
ls++;
}
v2 += 4;
} while (v2 < 20);
}
if (!stext[stextsel]._ssel && stextsel != 22)
stextsel = stextdown;
}
// 69F108: using guessed type int stextup;
// 6A8A28: using guessed type int stextsel;
// 6AA700: using guessed type int stextdown;
void S_StartWBuy()
{
@ -1353,20 +1359,22 @@ void S_StartHealer()
void S_ScrollHBuy(int idx)
{
int i;
int l;
char iclr;
ClearSText(5, 21);
stextup = 5;
for (i = 5; i < 20; i += 4) {
if (healitem[idx]._itype != -1) {
for (l = 5; l < 20; l += 4) {
if (healitem[idx]._itype != ITYPE_NONE) {
iclr = COL_WHITE;
if (!healitem[idx]._iStatFlag)
if (!healitem[idx]._iStatFlag) {
iclr = COL_RED;
AddSText(20, i, 0, healitem[idx]._iName, iclr, 1);
AddSTextVal(i, healitem[idx]._iIvalue);
PrintStoreItem(&healitem[idx], i + 1, iclr);
stextdown = i;
}
AddSText(20, l, 0, healitem[idx]._iName, iclr, 1);
AddSTextVal(l, healitem[idx]._iIvalue);
PrintStoreItem(&healitem[idx], l + 1, iclr);
stextdown = l;
idx++;
}
}

Loading…
Cancel
Save