Browse Source

♻️ Pluralize global 'item' array variable

pull/1280/head
Juliano Leal Goncalves 5 years ago committed by Anders Jenbo
parent
commit
9021f8daa5
  1. 8
      Source/cursor.cpp
  2. 6
      Source/diablo.cpp
  3. 86
      Source/inv.cpp
  4. 948
      Source/items.cpp
  5. 2
      Source/items.h
  6. 10
      Source/loadsave.cpp
  7. 196
      Source/msg.cpp
  8. 22
      Source/pack.cpp
  9. 18
      Source/player.cpp
  10. 2
      Source/scrollrt.cpp
  11. 44
      Source/sync.cpp
  12. 2
      Source/themes.cpp
  13. 4
      SourceX/controls/plrctrls.cpp
  14. 4
      SourceX/qol.cpp

8
Source/cursor.cpp

@ -610,7 +610,7 @@ void CheckCursMove()
if (pcursplr == -1 && pcursobj == -1 && pcursmonst == -1) {
if (!flipflag && mx + 1 < MAXDUNX && dItem[mx + 1][my] > 0) {
bv = dItem[mx + 1][my] - 1;
if (item[bv]._iSelFlag >= 2) {
if (items[bv]._iSelFlag >= 2) {
cursmx = mx + 1;
cursmy = my;
pcursitem = bv;
@ -618,7 +618,7 @@ void CheckCursMove()
}
if (flipflag && my + 1 < MAXDUNY && dItem[mx][my + 1] > 0) {
bv = dItem[mx][my + 1] - 1;
if (item[bv]._iSelFlag >= 2) {
if (items[bv]._iSelFlag >= 2) {
cursmx = mx;
cursmy = my + 1;
pcursitem = bv;
@ -626,7 +626,7 @@ void CheckCursMove()
}
if (dItem[mx][my] > 0) {
bv = dItem[mx][my] - 1;
if (item[bv]._iSelFlag == 1 || item[bv]._iSelFlag == 3) {
if (items[bv]._iSelFlag == 1 || items[bv]._iSelFlag == 3) {
cursmx = mx;
cursmy = my;
pcursitem = bv;
@ -634,7 +634,7 @@ void CheckCursMove()
}
if (mx + 1 < MAXDUNX && my + 1 < MAXDUNY && dItem[mx + 1][my + 1] > 0) {
bv = dItem[mx + 1][my + 1] - 1;
if (item[bv]._iSelFlag >= 2) {
if (items[bv]._iSelFlag >= 2) {
cursmx = mx + 1;
cursmy = my + 1;
pcursitem = bv;

6
Source/diablo.cpp

@ -1088,9 +1088,9 @@ static void PressKey(int vkey)
sprintf(
tempstr,
"IDX = %i : Seed = %i : CF = %i",
item[pcursitem].IDidx,
item[pcursitem]._iSeed,
item[pcursitem]._iCreateInfo);
items[pcursitem].IDidx,
items[pcursitem]._iSeed,
items[pcursitem]._iCreateInfo);
NetSendCmdString(1 << myplr, tempstr);
}
sprintf(tempstr, "Numitems : %i", numitems);

86
Source/inv.cpp

@ -1520,11 +1520,11 @@ void CheckInvSwap(int pnum, BYTE bLoc, int idx, WORD wCI, int seed, BOOL bId, ui
{
PlayerStruct *p;
memset(&item[MAXITEMS], 0, sizeof(*item));
memset(&items[MAXITEMS], 0, sizeof(*items));
RecreateItem(MAXITEMS, idx, wCI, seed, 0, (dwBuff & CF_HELLFIRE) != 0);
p = &plr[pnum];
p->HoldItem = item[MAXITEMS];
p->HoldItem = items[MAXITEMS];
if (bId) {
p->HoldItem._iIdentified = TRUE;
@ -2085,21 +2085,21 @@ void CheckQuestItem(int pnum)
break;
}
item_num = itemactive[0];
tmp = item[item_num];
memset(&item[item_num], 0, sizeof(*item));
tmp = items[item_num];
memset(&items[item_num], 0, sizeof(*items));
GetItemAttrs(item_num, IDI_FULLNOTE, 16);
SetupItem(item_num);
plr[pnum].HoldItem = item[item_num];
item[item_num] = tmp;
plr[pnum].HoldItem = items[item_num];
items[item_num] = tmp;
}
}
}
void CleanupItems(int ii)
{
dItem[item[ii]._ix][item[ii]._iy] = 0;
dItem[items[ii]._ix][items[ii]._iy] = 0;
if (currlevel == 21 & item[ii]._ix == CornerStone.x && item[ii]._iy == CornerStone.y) {
if (currlevel == 21 & items[ii]._ix == CornerStone.x && items[ii]._iy == CornerStone.y) {
CornerStone.item._itype = ITYPE_NONE;
CornerStone.item._iSelFlag = 0;
CornerStone.item._ix = 0;
@ -2128,14 +2128,14 @@ void InvGetItem(int pnum, int ii)
dropGoldValue = 0;
}
if (dItem[item[ii]._ix][item[ii]._iy] == 0)
if (dItem[items[ii]._ix][items[ii]._iy] == 0)
return;
if (myplr == pnum && pcurs >= CURSOR_FIRSTITEM)
NetSendCmdPItem(TRUE, CMD_SYNCPUTITEM, plr[myplr]._px, plr[myplr]._py);
item[ii]._iCreateInfo &= ~CF_PREGEN;
plr[pnum].HoldItem = item[ii];
items[ii]._iCreateInfo &= ~CF_PREGEN;
plr[pnum].HoldItem = items[ii];
CheckQuestItem(pnum);
CheckBookLevel(pnum);
CheckItemStats(pnum);
@ -2163,11 +2163,11 @@ void AutoGetItem(int pnum, int ii)
dropGoldValue = 0;
}
if (dItem[item[ii]._ix][item[ii]._iy] == 0)
if (dItem[items[ii]._ix][items[ii]._iy] == 0)
return;
item[ii]._iCreateInfo &= ~CF_PREGEN;
plr[pnum].HoldItem = item[ii]; /// BUGFIX: overwrites cursor item, allowing for belt dupe bug
items[ii]._iCreateInfo &= ~CF_PREGEN;
plr[pnum].HoldItem = items[ii]; /// BUGFIX: overwrites cursor item, allowing for belt dupe bug
CheckQuestItem(pnum);
CheckBookLevel(pnum);
CheckItemStats(pnum);
@ -2175,8 +2175,8 @@ void AutoGetItem(int pnum, int ii)
if (plr[pnum].HoldItem._itype == ITYPE_GOLD) {
done = GoldAutoPlace(pnum);
if (!done) {
item[ii]._ivalue = plr[pnum].HoldItem._ivalue;
SetPlrHandGoldCurs(&item[ii]);
items[ii]._ivalue = plr[pnum].HoldItem._ivalue;
SetPlrHandGoldCurs(&items[ii]);
}
} else {
done = AutoEquipEnabled(plr[pnum], plr[pnum].HoldItem) && AutoEquip(pnum, plr[pnum].HoldItem);
@ -2208,9 +2208,9 @@ void AutoGetItem(int pnum, int ii)
PlaySFX(random_(0, 3) + PS_WARR14);
}
}
plr[pnum].HoldItem = item[ii];
plr[pnum].HoldItem = items[ii];
RespawnItem(ii, TRUE);
NetSendCmdPItem(TRUE, CMD_RESPAWNITEM, item[ii]._ix, item[ii]._iy);
NetSendCmdPItem(TRUE, CMD_RESPAWNITEM, items[ii]._ix, items[ii]._iy);
plr[pnum].HoldItem._itype = ITYPE_NONE;
}
@ -2223,7 +2223,7 @@ int FindGetItem(int idx, WORD ci, int iseed)
int i = 0;
while (1) {
ii = itemactive[i];
if (item[ii].IDidx == idx && item[ii]._iSeed == iseed && item[ii]._iCreateInfo == ci)
if (items[ii].IDidx == idx && items[ii]._iSeed == iseed && items[ii]._iCreateInfo == ci)
break;
i++;
@ -2241,9 +2241,9 @@ void SyncGetItem(int x, int y, int idx, WORD ci, int iseed)
if (dItem[x][y]) {
ii = dItem[x][y] - 1;
if (item[ii].IDidx == idx
&& item[ii]._iSeed == iseed
&& item[ii]._iCreateInfo == ci) {
if (items[ii].IDidx == idx
&& items[ii]._iSeed == iseed
&& items[ii]._iCreateInfo == ci) {
FindGetItem(idx, ci, iseed);
} else {
ii = FindGetItem(idx, ci, iseed);
@ -2406,13 +2406,13 @@ int InvPutItem(int pnum, int x, int y)
int ii = AllocateItem();
dItem[x][y] = ii + 1;
item[ii] = plr[pnum].HoldItem;
item[ii]._ix = x;
item[ii]._iy = y;
items[ii] = plr[pnum].HoldItem;
items[ii]._ix = x;
items[ii]._iy = y;
RespawnItem(ii, TRUE);
if (currlevel == 21 && x == CornerStone.x && y == CornerStone.y) {
CornerStone.item = item[ii];
CornerStone.item = items[ii];
InitQTextMsg(TEXT_CORNSTN);
quests[Q_CORNSTN]._qlog = 0;
quests[Q_CORNSTN]._qactive = QUEST_DONE;
@ -2480,26 +2480,26 @@ int SyncPutItem(int pnum, int x, int y, int idx, WORD icreateinfo, int iseed, in
} else {
RecreateItem(ii, idx, icreateinfo, iseed, ivalue, (ibuff & CF_HELLFIRE) != 0);
if (Id)
item[ii]._iIdentified = TRUE;
item[ii]._iDurability = dur;
item[ii]._iMaxDur = mdur;
item[ii]._iCharges = ch;
item[ii]._iMaxCharges = mch;
item[ii]._iPLToHit = to_hit;
item[ii]._iMaxDam = max_dam;
item[ii]._iMinStr = min_str;
item[ii]._iMinMag = min_mag;
item[ii]._iMinDex = min_dex;
item[ii]._iAC = ac;
item[ii].dwBuff = ibuff;
}
item[ii]._ix = x;
item[ii]._iy = y;
items[ii]._iIdentified = TRUE;
items[ii]._iDurability = dur;
items[ii]._iMaxDur = mdur;
items[ii]._iCharges = ch;
items[ii]._iMaxCharges = mch;
items[ii]._iPLToHit = to_hit;
items[ii]._iMaxDam = max_dam;
items[ii]._iMinStr = min_str;
items[ii]._iMinMag = min_mag;
items[ii]._iMinDex = min_dex;
items[ii]._iAC = ac;
items[ii].dwBuff = ibuff;
}
items[ii]._ix = x;
items[ii]._iy = y;
RespawnItem(ii, TRUE);
if (currlevel == 21 && x == CornerStone.x && y == CornerStone.y) {
CornerStone.item = item[ii];
CornerStone.item = items[ii];
InitQTextMsg(TEXT_CORNSTN);
quests[Q_CORNSTN]._qlog = 0;
quests[Q_CORNSTN]._qactive = QUEST_DONE;

948
Source/items.cpp

File diff suppressed because it is too large Load Diff

2
Source/items.h

@ -266,7 +266,7 @@ typedef struct CornerStoneStruct {
extern int itemactive[MAXITEMS];
extern BOOL uitemflag;
extern int itemavail[MAXITEMS];
extern ItemStruct item[MAXITEMS + 1];
extern ItemStruct items[MAXITEMS + 1];
extern CornerStoneStruct CornerStone;
extern BOOL UniqueItemFlag[128];
extern int numitems;

10
Source/loadsave.cpp

@ -714,7 +714,7 @@ static void LoadObject(LoadHelper *file, int i)
static void LoadItem(LoadHelper *file, int i)
{
LoadItemData(file, &item[i]);
LoadItemData(file, &items[i]);
GetItemFrm(i);
}
@ -967,8 +967,8 @@ void RemoveEmptyLevelItems()
{
for (int i = numitems; i >= 0; i--) {
int ii = itemactive[i];
if (item[ii].isEmpty()) {
dItem[item[ii]._ix][item[ii]._iy] = 0;
if (items[ii].isEmpty()) {
dItem[items[ii]._ix][items[ii]._iy] = 0;
DeleteItem(ii, i);
}
}
@ -1840,7 +1840,7 @@ void SaveGame()
for (int i = 0; i < MAXITEMS; i++)
file.writeLE<Sint8>(itemavail[i]);
for (int i = 0; i < numitems; i++)
SaveItem(&file, &item[itemactive[i]]);
SaveItem(&file, &items[itemactive[i]]);
for (int i = 0; i < 128; i++)
file.writeLE<Sint8>(UniqueItemFlag[i]);
@ -1949,7 +1949,7 @@ void SaveLevel()
file.writeLE<Sint8>(itemavail[i]);
for (int i = 0; i < numitems; i++)
SaveItem(&file, &item[itemactive[i]]);
SaveItem(&file, &items[itemactive[i]]);
for (int j = 0; j < MAXDUNY; j++) {
for (int i = 0; i < MAXDUNX; i++)

196
Source/msg.cpp

@ -625,9 +625,9 @@ void DeltaAddItem(int ii)
TCmdPItem *pD = sgLevels[currlevel].item;
for (i = 0; i < MAXITEMS; i++, pD++) {
if (pD->bCmd != 0xFF
&& pD->wIndx == item[ii].IDidx
&& pD->wCI == item[ii]._iCreateInfo
&& pD->dwSeed == item[ii]._iSeed
&& pD->wIndx == items[ii].IDidx
&& pD->wCI == items[ii]._iCreateInfo
&& pD->dwSeed == items[ii]._iSeed
&& (pD->bCmd == CMD_WALKXY || pD->bCmd == CMD_STAND)) {
return;
}
@ -638,24 +638,24 @@ void DeltaAddItem(int ii)
if (pD->bCmd == 0xFF) {
sgbDeltaChanged = TRUE;
pD->bCmd = CMD_STAND;
pD->x = item[ii]._ix;
pD->y = item[ii]._iy;
pD->wIndx = item[ii].IDidx;
pD->wCI = item[ii]._iCreateInfo;
pD->dwSeed = item[ii]._iSeed;
pD->bId = item[ii]._iIdentified;
pD->bDur = item[ii]._iDurability;
pD->bMDur = item[ii]._iMaxDur;
pD->bCh = item[ii]._iCharges;
pD->bMCh = item[ii]._iMaxCharges;
pD->wValue = item[ii]._ivalue;
pD->wToHit = item[ii]._iPLToHit;
pD->wMaxDam = item[ii]._iMaxDam;
pD->bMinStr = item[ii]._iMinStr;
pD->bMinMag = item[ii]._iMinMag;
pD->bMinDex = item[ii]._iMinDex;
pD->bAC = item[ii]._iAC;
pD->dwBuff = item[ii].dwBuff;
pD->x = items[ii]._ix;
pD->y = items[ii]._iy;
pD->wIndx = items[ii].IDidx;
pD->wCI = items[ii]._iCreateInfo;
pD->dwSeed = items[ii]._iSeed;
pD->bId = items[ii]._iIdentified;
pD->bDur = items[ii]._iDurability;
pD->bMDur = items[ii]._iMaxDur;
pD->bCh = items[ii]._iCharges;
pD->bMCh = items[ii]._iMaxCharges;
pD->wValue = items[ii]._ivalue;
pD->wToHit = items[ii]._iPLToHit;
pD->wMaxDam = items[ii]._iMaxDam;
pD->bMinStr = items[ii]._iMinStr;
pD->bMinMag = items[ii]._iMinMag;
pD->bMinDex = items[ii]._iMinDex;
pD->bAC = items[ii]._iAC;
pD->dwBuff = items[ii].dwBuff;
return;
}
}
@ -737,8 +737,8 @@ void DeltaLoadLevel()
sgLevels[currlevel].item[i].wCI,
sgLevels[currlevel].item[i].dwSeed);
if (ii != -1) {
if (dItem[item[ii]._ix][item[ii]._iy] == ii + 1)
dItem[item[ii]._ix][item[ii]._iy] = 0;
if (dItem[items[ii]._ix][items[ii]._iy] == ii + 1)
dItem[items[ii]._ix][items[ii]._iy] = 0;
DeleteItem(ii, i);
}
}
@ -766,18 +766,18 @@ void DeltaLoadLevel()
sgLevels[currlevel].item[i].wValue,
(sgLevels[currlevel].item[i].dwBuff & CF_HELLFIRE) != 0);
if (sgLevels[currlevel].item[i].bId)
item[ii]._iIdentified = TRUE;
item[ii]._iDurability = sgLevels[currlevel].item[i].bDur;
item[ii]._iMaxDur = sgLevels[currlevel].item[i].bMDur;
item[ii]._iCharges = sgLevels[currlevel].item[i].bCh;
item[ii]._iMaxCharges = sgLevels[currlevel].item[i].bMCh;
item[ii]._iPLToHit = sgLevels[currlevel].item[i].wToHit;
item[ii]._iMaxDam = sgLevels[currlevel].item[i].wMaxDam;
item[ii]._iMinStr = sgLevels[currlevel].item[i].bMinStr;
item[ii]._iMinMag = sgLevels[currlevel].item[i].bMinMag;
item[ii]._iMinDex = sgLevels[currlevel].item[i].bMinDex;
item[ii]._iAC = sgLevels[currlevel].item[i].bAC;
item[ii].dwBuff = sgLevels[currlevel].item[i].dwBuff;
items[ii]._iIdentified = TRUE;
items[ii]._iDurability = sgLevels[currlevel].item[i].bDur;
items[ii]._iMaxDur = sgLevels[currlevel].item[i].bMDur;
items[ii]._iCharges = sgLevels[currlevel].item[i].bCh;
items[ii]._iMaxCharges = sgLevels[currlevel].item[i].bMCh;
items[ii]._iPLToHit = sgLevels[currlevel].item[i].wToHit;
items[ii]._iMaxDam = sgLevels[currlevel].item[i].wMaxDam;
items[ii]._iMinStr = sgLevels[currlevel].item[i].bMinStr;
items[ii]._iMinMag = sgLevels[currlevel].item[i].bMinMag;
items[ii]._iMinDex = sgLevels[currlevel].item[i].bMinDex;
items[ii]._iAC = sgLevels[currlevel].item[i].bAC;
items[ii].dwBuff = sgLevels[currlevel].item[i].dwBuff;
}
x = sgLevels[currlevel].item[i].x;
y = sgLevels[currlevel].item[i].y;
@ -797,9 +797,9 @@ void DeltaLoadLevel()
}
}
}
item[ii]._ix = x;
item[ii]._iy = y;
dItem[item[ii]._ix][item[ii]._iy] = ii + 1;
items[ii]._ix = x;
items[ii]._iy = y;
dItem[items[ii]._ix][items[ii]._iy] = ii + 1;
RespawnItem(ii, FALSE);
}
}
@ -976,36 +976,36 @@ void NetSendCmdGItem(BOOL bHiPri, BYTE bCmd, BYTE mast, BYTE pnum, BYTE ii)
cmd.bLevel = currlevel;
cmd.bCursitem = ii;
cmd.dwTime = 0;
cmd.x = item[ii]._ix;
cmd.y = item[ii]._iy;
cmd.wIndx = item[ii].IDidx;
if (item[ii].IDidx == IDI_EAR) {
cmd.wCI = item[ii]._iName[8] | (item[ii]._iName[7] << 8);
cmd.dwSeed = item[ii]._iName[12] | ((item[ii]._iName[11] | ((item[ii]._iName[10] | (item[ii]._iName[9] << 8)) << 8)) << 8);
cmd.bId = item[ii]._iName[13];
cmd.bDur = item[ii]._iName[14];
cmd.bMDur = item[ii]._iName[15];
cmd.bCh = item[ii]._iName[16];
cmd.bMCh = item[ii]._iName[17];
cmd.wValue = item[ii]._ivalue | (item[ii]._iName[18] << 8) | ((item[ii]._iCurs - ICURS_EAR_SORCERER) << 6);
cmd.dwBuff = item[ii]._iName[22] | ((item[ii]._iName[21] | ((item[ii]._iName[20] | (item[ii]._iName[19] << 8)) << 8)) << 8);
cmd.x = items[ii]._ix;
cmd.y = items[ii]._iy;
cmd.wIndx = items[ii].IDidx;
if (items[ii].IDidx == IDI_EAR) {
cmd.wCI = items[ii]._iName[8] | (items[ii]._iName[7] << 8);
cmd.dwSeed = items[ii]._iName[12] | ((items[ii]._iName[11] | ((items[ii]._iName[10] | (items[ii]._iName[9] << 8)) << 8)) << 8);
cmd.bId = items[ii]._iName[13];
cmd.bDur = items[ii]._iName[14];
cmd.bMDur = items[ii]._iName[15];
cmd.bCh = items[ii]._iName[16];
cmd.bMCh = items[ii]._iName[17];
cmd.wValue = items[ii]._ivalue | (items[ii]._iName[18] << 8) | ((items[ii]._iCurs - ICURS_EAR_SORCERER) << 6);
cmd.dwBuff = items[ii]._iName[22] | ((items[ii]._iName[21] | ((items[ii]._iName[20] | (items[ii]._iName[19] << 8)) << 8)) << 8);
} else {
cmd.wCI = item[ii]._iCreateInfo;
cmd.dwSeed = item[ii]._iSeed;
cmd.bId = item[ii]._iIdentified;
cmd.bDur = item[ii]._iDurability;
cmd.bMDur = item[ii]._iMaxDur;
cmd.bCh = item[ii]._iCharges;
cmd.bMCh = item[ii]._iMaxCharges;
cmd.wValue = item[ii]._ivalue;
cmd.wToHit = item[ii]._iPLToHit;
cmd.wMaxDam = item[ii]._iMaxDam;
cmd.bMinStr = item[ii]._iMinStr;
cmd.bMinMag = item[ii]._iMinMag;
cmd.bMinDex = item[ii]._iMinDex;
cmd.bAC = item[ii]._iAC;
cmd.dwBuff = item[ii].dwBuff;
cmd.wCI = items[ii]._iCreateInfo;
cmd.dwSeed = items[ii]._iSeed;
cmd.bId = items[ii]._iIdentified;
cmd.bDur = items[ii]._iDurability;
cmd.bMDur = items[ii]._iMaxDur;
cmd.bCh = items[ii]._iCharges;
cmd.bMCh = items[ii]._iMaxCharges;
cmd.wValue = items[ii]._ivalue;
cmd.wToHit = items[ii]._iPLToHit;
cmd.wMaxDam = items[ii]._iMaxDam;
cmd.bMinStr = items[ii]._iMinStr;
cmd.bMinMag = items[ii]._iMinMag;
cmd.bMinDex = items[ii]._iMinDex;
cmd.bAC = items[ii]._iAC;
cmd.dwBuff = items[ii].dwBuff;
}
if (bHiPri)
@ -1147,36 +1147,36 @@ void NetSendCmdDItem(BOOL bHiPri, int ii)
TCmdPItem cmd;
cmd.bCmd = CMD_DROPITEM;
cmd.x = item[ii]._ix;
cmd.y = item[ii]._iy;
cmd.wIndx = item[ii].IDidx;
if (item[ii].IDidx == IDI_EAR) {
cmd.wCI = item[ii]._iName[8] | (item[ii]._iName[7] << 8);
cmd.dwSeed = item[ii]._iName[12] | ((item[ii]._iName[11] | ((item[ii]._iName[10] | (item[ii]._iName[9] << 8)) << 8)) << 8);
cmd.bId = item[ii]._iName[13];
cmd.bDur = item[ii]._iName[14];
cmd.bMDur = item[ii]._iName[15];
cmd.bCh = item[ii]._iName[16];
cmd.bMCh = item[ii]._iName[17];
cmd.wValue = item[ii]._ivalue | (item[ii]._iName[18] << 8) | ((item[ii]._iCurs - ICURS_EAR_SORCERER) << 6);
cmd.dwBuff = item[ii]._iName[22] | ((item[ii]._iName[21] | ((item[ii]._iName[20] | (item[ii]._iName[19] << 8)) << 8)) << 8);
cmd.x = items[ii]._ix;
cmd.y = items[ii]._iy;
cmd.wIndx = items[ii].IDidx;
if (items[ii].IDidx == IDI_EAR) {
cmd.wCI = items[ii]._iName[8] | (items[ii]._iName[7] << 8);
cmd.dwSeed = items[ii]._iName[12] | ((items[ii]._iName[11] | ((items[ii]._iName[10] | (items[ii]._iName[9] << 8)) << 8)) << 8);
cmd.bId = items[ii]._iName[13];
cmd.bDur = items[ii]._iName[14];
cmd.bMDur = items[ii]._iName[15];
cmd.bCh = items[ii]._iName[16];
cmd.bMCh = items[ii]._iName[17];
cmd.wValue = items[ii]._ivalue | (items[ii]._iName[18] << 8) | ((items[ii]._iCurs - ICURS_EAR_SORCERER) << 6);
cmd.dwBuff = items[ii]._iName[22] | ((items[ii]._iName[21] | ((items[ii]._iName[20] | (items[ii]._iName[19] << 8)) << 8)) << 8);
} else {
cmd.wCI = item[ii]._iCreateInfo;
cmd.dwSeed = item[ii]._iSeed;
cmd.bId = item[ii]._iIdentified;
cmd.bDur = item[ii]._iDurability;
cmd.bMDur = item[ii]._iMaxDur;
cmd.bCh = item[ii]._iCharges;
cmd.bMCh = item[ii]._iMaxCharges;
cmd.wValue = item[ii]._ivalue;
cmd.wToHit = item[ii]._iPLToHit;
cmd.wMaxDam = item[ii]._iMaxDam;
cmd.bMinStr = item[ii]._iMinStr;
cmd.bMinMag = item[ii]._iMinMag;
cmd.bMinDex = item[ii]._iMinDex;
cmd.bAC = item[ii]._iAC;
cmd.dwBuff = item[ii].dwBuff;
cmd.wCI = items[ii]._iCreateInfo;
cmd.dwSeed = items[ii]._iSeed;
cmd.bId = items[ii]._iIdentified;
cmd.bDur = items[ii]._iDurability;
cmd.bMDur = items[ii]._iMaxDur;
cmd.bCh = items[ii]._iCharges;
cmd.bMCh = items[ii]._iMaxCharges;
cmd.wValue = items[ii]._ivalue;
cmd.wToHit = items[ii]._iPLToHit;
cmd.wMaxDam = items[ii]._iMaxDam;
cmd.bMinStr = items[ii]._iMinStr;
cmd.bMinMag = items[ii]._iMinMag;
cmd.bMinDex = items[ii]._iMinDex;
cmd.bAC = items[ii]._iAC;
cmd.dwBuff = items[ii].dwBuff;
}
if (bHiPri)
@ -1527,7 +1527,7 @@ static DWORD On_PUTITEM(TCmd *pCmd, int pnum)
ii = SyncPutItem(pnum, p->x, p->y, p->wIndx, p->wCI, p->dwSeed, p->bId, p->bDur, p->bMDur, p->bCh, p->bMCh, p->wValue, p->dwBuff, p->wToHit, p->wMaxDam, p->bMinStr, p->bMinMag, p->bMinDex, p->bAC);
if (ii != -1) {
PutItemRecord(p->dwSeed, p->wCI, p->wIndx);
delta_put_item(p, item[ii]._ix, item[ii]._iy, plr[pnum].plrlevel);
delta_put_item(p, items[ii]._ix, items[ii]._iy, plr[pnum].plrlevel);
check_update_plr(pnum);
}
return sizeof(*p);
@ -1550,7 +1550,7 @@ static DWORD On_SYNCPUTITEM(TCmd *pCmd, int pnum)
int ii = SyncPutItem(pnum, p->x, p->y, p->wIndx, p->wCI, p->dwSeed, p->bId, p->bDur, p->bMDur, p->bCh, p->bMCh, p->wValue, p->dwBuff, p->wToHit, p->wMaxDam, p->bMinStr, p->bMinMag, p->bMinDex, p->bAC);
if (ii != -1) {
PutItemRecord(p->dwSeed, p->wCI, p->wIndx);
delta_put_item(p, item[ii]._ix, item[ii]._iy, plr[pnum].plrlevel);
delta_put_item(p, items[ii]._ix, items[ii]._iy, plr[pnum].plrlevel);
check_update_plr(pnum);
}
return sizeof(*p);

22
Source/pack.cpp

@ -162,23 +162,23 @@ void UnPackItem(const PkItemStruct *is, ItemStruct *id, bool isHellfire)
SwapLE16(is->wValue),
SwapLE32(is->dwBuff));
} else {
memset(&item[MAXITEMS], 0, sizeof(*item));
memset(&items[MAXITEMS], 0, sizeof(*items));
RecreateItem(MAXITEMS, idx, SwapLE16(is->iCreateInfo), SwapLE32(is->iSeed), SwapLE16(is->wValue), isHellfire);
item[MAXITEMS]._iMagical = is->bId >> 1;
item[MAXITEMS]._iIdentified = is->bId & 1;
item[MAXITEMS]._iDurability = is->bDur;
item[MAXITEMS]._iMaxDur = is->bMDur;
item[MAXITEMS]._iCharges = is->bCh;
item[MAXITEMS]._iMaxCharges = is->bMCh;
items[MAXITEMS]._iMagical = is->bId >> 1;
items[MAXITEMS]._iIdentified = is->bId & 1;
items[MAXITEMS]._iDurability = is->bDur;
items[MAXITEMS]._iMaxDur = is->bMDur;
items[MAXITEMS]._iCharges = is->bCh;
items[MAXITEMS]._iMaxCharges = is->bMCh;
RemoveInvalidItem(&item[MAXITEMS]);
RemoveInvalidItem(&items[MAXITEMS]);
if (isHellfire)
item[MAXITEMS].dwBuff |= CF_HELLFIRE;
items[MAXITEMS].dwBuff |= CF_HELLFIRE;
else
item[MAXITEMS].dwBuff &= ~CF_HELLFIRE;
items[MAXITEMS].dwBuff &= ~CF_HELLFIRE;
}
*id = item[MAXITEMS];
*id = items[MAXITEMS];
}
void VerifyGoldSeeds(PlayerStruct *pPlayer)

18
Source/player.cpp

@ -1677,9 +1677,9 @@ void RespawnDeadItem(ItemStruct *itm, int x, int y)
dItem[x][y] = ii + 1;
item[ii] = *itm;
item[ii]._ix = x;
item[ii]._iy = y;
items[ii] = *itm;
items[ii]._ix = x;
items[ii]._iy = y;
RespawnItem(ii, TRUE);
itm->_itype = ITYPE_NONE;
@ -3322,19 +3322,19 @@ void CheckNewPath(int pnum)
case ACTION_PICKUPITEM:
if (pnum == myplr) {
i = plr[pnum].destParam1;
x = abs(plr[pnum]._px - item[i]._ix);
y = abs(plr[pnum]._py - item[i]._iy);
if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND && !item[i]._iRequest) {
x = abs(plr[pnum]._px - items[i]._ix);
y = abs(plr[pnum]._py - items[i]._iy);
if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND && !items[i]._iRequest) {
NetSendCmdGItem(TRUE, CMD_REQUESTGITEM, myplr, myplr, i);
item[i]._iRequest = TRUE;
items[i]._iRequest = TRUE;
}
}
break;
case ACTION_PICKUPAITEM:
if (pnum == myplr) {
i = plr[pnum].destParam1;
x = abs(plr[pnum]._px - item[i]._ix);
y = abs(plr[pnum]._py - item[i]._iy);
x = abs(plr[pnum]._px - items[i]._ix);
y = abs(plr[pnum]._py - items[i]._iy);
if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND) {
NetSendCmdGItem(TRUE, CMD_REQUESTAGITEM, myplr, myplr, i);
}

2
Source/scrollrt.cpp

@ -590,7 +590,7 @@ static void DrawItem(CelOutputBuffer out, int x, int y, int sx, int sy, BOOL pre
if (bItem > MAXITEMS || bItem <= 0)
return;
ItemStruct *pItem = &item[bItem - 1];
ItemStruct *pItem = &items[bItem - 1];
if (pItem->_iPostDraw == pre)
return;

44
Source/sync.cpp

@ -105,29 +105,29 @@ static void SyncPlrInv(TSyncHeader *pHdr)
}
ii = itemactive[sgnSyncItem++];
pHdr->bItemI = ii;
pHdr->bItemX = item[ii]._ix;
pHdr->bItemY = item[ii]._iy;
pHdr->wItemIndx = item[ii].IDidx;
if (item[ii].IDidx == IDI_EAR) {
pHdr->wItemCI = (item[ii]._iName[7] << 8) | item[ii]._iName[8];
pHdr->dwItemSeed = (item[ii]._iName[9] << 24) | (item[ii]._iName[10] << 16) | (item[ii]._iName[11] << 8) | item[ii]._iName[12];
pHdr->bItemId = item[ii]._iName[13];
pHdr->bItemDur = item[ii]._iName[14];
pHdr->bItemMDur = item[ii]._iName[15];
pHdr->bItemCh = item[ii]._iName[16];
pHdr->bItemMCh = item[ii]._iName[17];
pHdr->wItemVal = (item[ii]._iName[18] << 8) | ((item[ii]._iCurs - ICURS_EAR_SORCERER) << 6) | item[ii]._ivalue;
pHdr->dwItemBuff = (item[ii]._iName[19] << 24) | (item[ii]._iName[20] << 16) | (item[ii]._iName[21] << 8) | item[ii]._iName[22];
pHdr->bItemX = items[ii]._ix;
pHdr->bItemY = items[ii]._iy;
pHdr->wItemIndx = items[ii].IDidx;
if (items[ii].IDidx == IDI_EAR) {
pHdr->wItemCI = (items[ii]._iName[7] << 8) | items[ii]._iName[8];
pHdr->dwItemSeed = (items[ii]._iName[9] << 24) | (items[ii]._iName[10] << 16) | (items[ii]._iName[11] << 8) | items[ii]._iName[12];
pHdr->bItemId = items[ii]._iName[13];
pHdr->bItemDur = items[ii]._iName[14];
pHdr->bItemMDur = items[ii]._iName[15];
pHdr->bItemCh = items[ii]._iName[16];
pHdr->bItemMCh = items[ii]._iName[17];
pHdr->wItemVal = (items[ii]._iName[18] << 8) | ((items[ii]._iCurs - ICURS_EAR_SORCERER) << 6) | items[ii]._ivalue;
pHdr->dwItemBuff = (items[ii]._iName[19] << 24) | (items[ii]._iName[20] << 16) | (items[ii]._iName[21] << 8) | items[ii]._iName[22];
} else {
pHdr->wItemCI = item[ii]._iCreateInfo;
pHdr->dwItemSeed = item[ii]._iSeed;
pHdr->bItemId = item[ii]._iIdentified;
pHdr->bItemDur = item[ii]._iDurability;
pHdr->bItemMDur = item[ii]._iMaxDur;
pHdr->bItemCh = item[ii]._iCharges;
pHdr->bItemMCh = item[ii]._iMaxCharges;
if (item[ii].IDidx == IDI_GOLD) {
pHdr->wItemVal = item[ii]._ivalue;
pHdr->wItemCI = items[ii]._iCreateInfo;
pHdr->dwItemSeed = items[ii]._iSeed;
pHdr->bItemId = items[ii]._iIdentified;
pHdr->bItemDur = items[ii]._iDurability;
pHdr->bItemMDur = items[ii]._iMaxDur;
pHdr->bItemCh = items[ii]._iCharges;
pHdr->bItemMCh = items[ii]._iMaxCharges;
if (items[ii].IDidx == IDI_GOLD) {
pHdr->wItemVal = items[ii]._ivalue;
}
}
} else {

2
Source/themes.cpp

@ -699,7 +699,7 @@ void Theme_Treasure(int t)
if (rv == 0 || rv >= treasrnd[leveltype - 1] - 2) {
i = ItemNoFlippy();
if (rv >= treasrnd[leveltype - 1] - 2 && leveltype != DTYPE_CATHEDRAL) {
item[i]._ivalue >>= 1;
items[i]._ivalue >>= 1;
}
}
}

4
SourceX/controls/plrctrls.cpp

@ -113,8 +113,8 @@ void FindItemOrObject()
if (dItem[mx + xx][my + yy] <= 0)
continue;
int i = dItem[mx + xx][my + yy] - 1;
if (item[i].isEmpty()
|| item[i]._iSelFlag == 0)
if (items[i].isEmpty()
|| items[i]._iSelFlag == 0)
continue;
int newRotations = GetRotaryDistance(mx + xx, my + yy);
if (rotations < newRotations)

4
SourceX/qol.cpp

@ -228,9 +228,9 @@ void AutoGoldPickup(int pnum)
int y = plr[pnum]._py + pathydir[dir];
if (dItem[x][y] != 0) {
int itemIndex = dItem[x][y] - 1;
if (item[itemIndex]._itype == ITYPE_GOLD) {
if (items[itemIndex]._itype == ITYPE_GOLD) {
NetSendCmdGItem(TRUE, CMD_REQUESTAGITEM, pnum, pnum, itemIndex);
item[itemIndex]._iRequest = TRUE;
items[itemIndex]._iRequest = TRUE;
PlaySFX(IS_IGRAB);
}
}

Loading…
Cancel
Save