Browse Source

Rename item globals

pull/2319/head
Anders Jenbo 5 years ago
parent
commit
c8870dbd1f
  1. 4
      Source/controls/plrctrls.cpp
  2. 10
      Source/cursor.cpp
  3. 8
      Source/diablo.cpp
  4. 84
      Source/inv.cpp
  5. 4
      Source/itemdat.cpp
  6. 4
      Source/itemdat.h
  7. 974
      Source/items.cpp
  8. 10
      Source/items.h
  9. 50
      Source/loadsave.cpp
  10. 208
      Source/msg.cpp
  11. 10
      Source/objects.cpp
  12. 22
      Source/pack.cpp
  13. 20
      Source/player.cpp
  14. 4
      Source/qol/autopickup.cpp
  15. 4
      Source/qol/itemlabels.cpp
  16. 4
      Source/scrollrt.cpp
  17. 50
      Source/sync.cpp
  18. 2
      Source/themes.cpp

4
Source/controls/plrctrls.cpp

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

10
Source/cursor.cpp

@ -384,7 +384,7 @@ void CheckCursMove()
}
pcursinvitem = -1;
pcursplr = -1;
uitemflag = false;
ShowUniqueItemInfoBox = false;
panelflag = false;
trigflag = false;
@ -666,7 +666,7 @@ void CheckCursMove()
if (pcursplr == -1 && pcursobj == -1 && pcursmonst == -1) {
if (!flipflag && mx + 1 < MAXDUNX && dItem[mx + 1][my] > 0) {
int8_t bv = dItem[mx + 1][my] - 1;
if (items[bv]._iSelFlag >= 2) {
if (Items[bv]._iSelFlag >= 2) {
cursmx = mx + 1;
cursmy = my;
pcursitem = bv;
@ -674,7 +674,7 @@ void CheckCursMove()
}
if (flipflag && my + 1 < MAXDUNY && dItem[mx][my + 1] > 0) {
int8_t bv = dItem[mx][my + 1] - 1;
if (items[bv]._iSelFlag >= 2) {
if (Items[bv]._iSelFlag >= 2) {
cursmx = mx;
cursmy = my + 1;
pcursitem = bv;
@ -682,7 +682,7 @@ void CheckCursMove()
}
if (dItem[mx][my] > 0) {
int8_t bv = dItem[mx][my] - 1;
if (items[bv]._iSelFlag == 1 || items[bv]._iSelFlag == 3) {
if (Items[bv]._iSelFlag == 1 || Items[bv]._iSelFlag == 3) {
cursmx = mx;
cursmy = my;
pcursitem = bv;
@ -690,7 +690,7 @@ void CheckCursMove()
}
if (mx + 1 < MAXDUNX && my + 1 < MAXDUNY && dItem[mx + 1][my + 1] > 0) {
int8_t bv = dItem[mx + 1][my + 1] - 1;
if (items[bv]._iSelFlag >= 2) {
if (Items[bv]._iSelFlag >= 2) {
cursmx = mx + 1;
cursmy = my + 1;
pcursitem = bv;

8
Source/diablo.cpp

@ -1846,12 +1846,12 @@ void itemInfoKeyPressed()
sprintf(
tempstr,
"IDX = %i : Seed = %i : CF = %i",
items[pcursitem].IDidx,
items[pcursitem]._iSeed,
items[pcursitem]._iCreateInfo);
Items[pcursitem].IDidx,
Items[pcursitem]._iSeed,
Items[pcursitem]._iCreateInfo);
NetSendCmdString(1 << myplr, tempstr);
}
sprintf(tempstr, "Numitems : %i", numitems);
sprintf(tempstr, "Numitems : %i", ActiveItemCount);
NetSendCmdString(1 << myplr, tempstr);
}
#endif

84
Source/inv.cpp

@ -1131,12 +1131,12 @@ void CheckInvPaste(int pnum, Point cursorPosition)
void CheckInvSwap(int pnum, BYTE bLoc, int idx, uint16_t wCI, int seed, bool bId, uint32_t dwBuff)
{
memset(&items[MAXITEMS], 0, sizeof(*items));
memset(&Items[MAXITEMS], 0, sizeof(*Items));
RecreateItem(MAXITEMS, idx, wCI, seed, 0, (dwBuff & CF_HELLFIRE) != 0);
auto &player = plr[pnum];
player.HoldItem = items[MAXITEMS];
player.HoldItem = Items[MAXITEMS];
if (bId) {
player.HoldItem._iIdentified = true;
@ -1455,13 +1455,13 @@ static void CheckNaKrulNotes(PlayerStruct &player)
}
}
int itemNum = itemactive[0];
ItemStruct tmp = items[itemNum];
memset(&items[itemNum], 0, sizeof(*items));
int itemNum = ActiveItems[0];
ItemStruct tmp = Items[itemNum];
memset(&Items[itemNum], 0, sizeof(*Items));
GetItemAttrs(itemNum, IDI_FULLNOTE, 16);
SetupItem(itemNum);
player.HoldItem = items[itemNum];
items[itemNum] = tmp;
player.HoldItem = Items[itemNum];
Items[itemNum] = tmp;
}
static void CheckQuestItem(PlayerStruct &player)
@ -1527,9 +1527,9 @@ void CleanupItems(ItemStruct *item, int ii)
}
int i = 0;
while (i < numitems) {
if (itemactive[i] == ii) {
DeleteItem(itemactive[i], i);
while (i < ActiveItemCount) {
if (ActiveItems[i] == ii) {
DeleteItem(ActiveItems[i], i);
i = 0;
continue;
}
@ -1608,7 +1608,7 @@ void AutoGetItem(int pnum, ItemStruct *item, int ii)
}
if (done) {
CleanupItems(&items[ii], ii);
CleanupItems(&Items[ii], ii);
return;
}
@ -1623,19 +1623,19 @@ void AutoGetItem(int pnum, ItemStruct *item, int ii)
int FindGetItem(int idx, uint16_t ci, int iseed)
{
if (numitems <= 0)
if (ActiveItemCount <= 0)
return -1;
int ii;
int i = 0;
while (true) {
ii = itemactive[i];
if (items[ii].IDidx == idx && items[ii]._iSeed == iseed && items[ii]._iCreateInfo == ci)
ii = ActiveItems[i];
if (Items[ii].IDidx == idx && Items[ii]._iSeed == iseed && Items[ii]._iCreateInfo == ci)
break;
i++;
if (i >= numitems)
if (i >= ActiveItemCount)
return -1;
}
@ -1648,9 +1648,9 @@ void SyncGetItem(Point position, int idx, uint16_t ci, int iseed)
if (dItem[position.x][position.y] != 0) {
ii = dItem[position.x][position.y] - 1;
if (items[ii].IDidx == idx
&& items[ii]._iSeed == iseed
&& items[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);
@ -1662,7 +1662,7 @@ void SyncGetItem(Point position, int idx, uint16_t ci, int iseed)
if (ii == -1)
return;
CleanupItems(&items[ii], ii);
CleanupItems(&Items[ii], ii);
assert(FindGetItem(idx, ci, iseed) == -1);
}
@ -1703,7 +1703,7 @@ bool CanPut(Point position)
bool TryInvPut()
{
if (numitems >= MAXITEMS)
if (ActiveItemCount >= MAXITEMS)
return false;
auto &myPlayer = plr[myplr];
@ -1726,7 +1726,7 @@ bool TryInvPut()
static bool PutItem(PlayerStruct &player, Point &position)
{
if (numitems >= MAXITEMS)
if (ActiveItemCount >= MAXITEMS)
return false;
Direction d = GetDirection(player.position.tile, position);
@ -1795,12 +1795,12 @@ int InvPutItem(PlayerStruct &player, Point position)
int ii = AllocateItem();
dItem[position.x][position.y] = ii + 1;
items[ii] = player.HoldItem;
items[ii].position = position;
RespawnItem(&items[ii], true);
Items[ii] = player.HoldItem;
Items[ii].position = position;
RespawnItem(&Items[ii], true);
if (currlevel == 21 && position == CornerStone.position) {
CornerStone.item = items[ii];
CornerStone.item = Items[ii];
InitQTextMsg(TEXT_CORNSTN);
quests[Q_CORNSTN]._qlog = false;
quests[Q_CORNSTN]._qactive = QUEST_DONE;
@ -1826,25 +1826,25 @@ int SyncPutItem(PlayerStruct &player, Point position, int idx, uint16_t icreatei
} else {
RecreateItem(ii, idx, icreateinfo, iseed, ivalue, (ibuff & CF_HELLFIRE) != 0);
if (id != 0)
items[ii]._iIdentified = true;
items[ii]._iDurability = dur;
items[ii]._iMaxDur = mdur;
items[ii]._iCharges = ch;
items[ii]._iMaxCharges = mch;
items[ii]._iPLToHit = toHit;
items[ii]._iMaxDam = maxDam;
items[ii]._iMinStr = minStr;
items[ii]._iMinMag = minMag;
items[ii]._iMinDex = minDex;
items[ii]._iAC = ac;
items[ii].dwBuff = ibuff;
}
items[ii].position = position;
RespawnItem(&items[ii], true);
Items[ii]._iIdentified = true;
Items[ii]._iDurability = dur;
Items[ii]._iMaxDur = mdur;
Items[ii]._iCharges = ch;
Items[ii]._iMaxCharges = mch;
Items[ii]._iPLToHit = toHit;
Items[ii]._iMaxDam = maxDam;
Items[ii]._iMinStr = minStr;
Items[ii]._iMinMag = minMag;
Items[ii]._iMinDex = minDex;
Items[ii]._iAC = ac;
Items[ii].dwBuff = ibuff;
}
Items[ii].position = position;
RespawnItem(&Items[ii], true);
if (currlevel == 21 && position == CornerStone.position) {
CornerStone.item = items[ii];
CornerStone.item = Items[ii];
InitQTextMsg(TEXT_CORNSTN);
quests[Q_CORNSTN]._qlog = false;
quests[Q_CORNSTN]._qactive = QUEST_DONE;

4
Source/itemdat.cpp

@ -185,7 +185,7 @@ ItemDataStruct AllItemsList[] = {
};
/** Contains the data related to each item prefix. */
const PLStruct PL_Prefix[] = {
const PLStruct ItemPrefixes[] = {
// clang-format off
// PLName, PLPower, PLParam1, PLParam2, PLMinLvl, PLIType, PLGOE, PLDouble, PLOk, PLMinVal, PLMaxVal, PLMultVal
// TRANSLATORS: Item prefix section.
@ -281,7 +281,7 @@ const PLStruct PL_Prefix[] = {
};
/** Contains the data related to each item suffix. */
const PLStruct PL_Suffix[] = {
const PLStruct ItemSuffixes[] = {
// clang-format off
// PLName, PLPower, PLParam1, PLParam2, PLMinLvl, PLIType, PLGOE, PLDouble, PLOk, PLMinVal, PLMaxVal, PLMultVal
// TRANSLATORS: Item suffix section. All items will have a word binding word. (Format: {:s} of {:s} - e.g. Rags of Valor)

4
Source/itemdat.h

@ -607,8 +607,8 @@ struct UItemStruct {
};
extern ItemDataStruct AllItemsList[];
extern const PLStruct PL_Prefix[];
extern const PLStruct PL_Suffix[];
extern const PLStruct ItemPrefixes[];
extern const PLStruct ItemSuffixes[];
extern const UItemStruct UniqueItemList[];
} // namespace devilution

974
Source/items.cpp

File diff suppressed because it is too large Load Diff

10
Source/items.h

@ -395,13 +395,13 @@ struct CornerStoneStruct {
ItemStruct item;
};
extern int itemactive[MAXITEMS];
extern bool uitemflag;
extern int itemavail[MAXITEMS];
extern ItemStruct items[MAXITEMS + 1];
extern ItemStruct Items[MAXITEMS + 1];
extern int ActiveItems[MAXITEMS];
extern int ActiveItemCount;
extern int AvailableItems[MAXITEMS];
extern bool ShowUniqueItemInfoBox;
extern CornerStoneStruct CornerStone;
extern bool UniqueItemFlags[128];
extern int numitems;
BYTE GetOutlineColor(const ItemStruct &item, bool checkReq);
bool IsItemAvailable(int i);

50
Source/loadsave.cpp

@ -747,7 +747,7 @@ static void LoadObject(LoadHelper *file, int i)
static void LoadItem(LoadHelper *file, int i)
{
LoadItemData(file, &items[i]);
LoadItemData(file, &Items[i]);
GetItemFrm(i);
}
@ -1072,10 +1072,10 @@ void RemoveEmptyInventory(PlayerStruct &player)
void RemoveEmptyLevelItems()
{
for (int i = numitems; i > 0; i--) {
int ii = itemactive[i];
if (items[ii].isEmpty()) {
dItem[items[ii].position.x][items[ii].position.y] = 0;
for (int i = ActiveItemCount; i > 0; i--) {
int ii = ActiveItems[i];
if (Items[ii].isEmpty()) {
dItem[Items[ii].position.x][Items[ii].position.y] = 0;
DeleteItem(ii, i);
}
}
@ -1154,7 +1154,7 @@ void LoadGame(bool firstflag)
ViewX = viewX;
ViewY = viewY;
ActiveMonsterCount = tmpNummonsters;
numitems = tmpNumitems;
ActiveItemCount = tmpNumitems;
nummissiles = tmpNummissiles;
nobjects = tmpNobjects;
@ -1195,12 +1195,12 @@ void LoadGame(bool firstflag)
LoadLighting(&file, &VisionList[i]);
}
for (int &itemId : itemactive)
for (int &itemId : ActiveItems)
itemId = file.NextLE<int8_t>();
for (int &itemId : itemavail)
for (int &itemId : AvailableItems)
itemId = file.NextLE<int8_t>();
for (int i = 0; i < numitems; i++)
LoadItem(&file, itemactive[i]);
for (int i = 0; i < ActiveItemCount; i++)
LoadItem(&file, ActiveItems[i]);
for (bool &uniqueItemFlag : UniqueItemFlags)
uniqueItemFlag = file.NextBool8();
@ -1906,7 +1906,7 @@ void SaveGameData()
file.WriteLE<uint8_t>(invflag ? 1 : 0);
file.WriteLE<uint8_t>(chrflag ? 1 : 0);
file.WriteBE<int32_t>(ActiveMonsterCount);
file.WriteBE<int32_t>(numitems);
file.WriteBE<int32_t>(ActiveItemCount);
file.WriteBE<int32_t>(nummissiles);
file.WriteBE<int32_t>(nobjects);
@ -1957,12 +1957,12 @@ void SaveGameData()
SaveLighting(&file, &VisionList[i]);
}
for (int itemId : itemactive)
for (int itemId : ActiveItems)
file.WriteLE<int8_t>(itemId);
for (int itemId : itemavail)
for (int itemId : AvailableItems)
file.WriteLE<int8_t>(itemId);
for (int i = 0; i < numitems; i++)
SaveItem(&file, &items[itemactive[i]]);
for (int i = 0; i < ActiveItemCount; i++)
SaveItem(&file, &Items[ActiveItems[i]]);
for (bool uniqueItemFlag : UniqueItemFlags)
file.WriteLE<uint8_t>(uniqueItemFlag ? 1 : 0);
@ -2051,7 +2051,7 @@ void SaveLevel()
}
file.WriteBE<int32_t>(ActiveMonsterCount);
file.WriteBE<int32_t>(numitems);
file.WriteBE<int32_t>(ActiveItemCount);
file.WriteBE<int32_t>(nobjects);
if (leveltype != DTYPE_TOWN) {
@ -2067,13 +2067,13 @@ void SaveLevel()
SaveObject(&file, objectactive[i]);
}
for (int itemId : itemactive)
for (int itemId : ActiveItems)
file.WriteLE<int8_t>(itemId);
for (int itemId : itemavail)
for (int itemId : AvailableItems)
file.WriteLE<int8_t>(itemId);
for (int i = 0; i < numitems; i++)
SaveItem(&file, &items[itemactive[i]]);
for (int i = 0; i < ActiveItemCount; i++)
SaveItem(&file, &Items[ActiveItems[i]]);
for (int j = 0; j < MAXDUNY; j++) {
for (int i = 0; i < MAXDUNX; i++) // NOLINT(modernize-loop-convert)
@ -2134,7 +2134,7 @@ void LoadLevel()
}
ActiveMonsterCount = file.NextBE<int32_t>();
numitems = file.NextBE<int32_t>();
ActiveItemCount = file.NextBE<int32_t>();
nobjects = file.NextBE<int32_t>();
if (leveltype != DTYPE_TOWN) {
@ -2154,12 +2154,12 @@ void LoadLevel()
}
}
for (int &itemId : itemactive)
for (int &itemId : ActiveItems)
itemId = file.NextLE<int8_t>();
for (int &itemId : itemavail)
for (int &itemId : AvailableItems)
itemId = file.NextLE<int8_t>();
for (int i = 0; i < numitems; i++)
LoadItem(&file, itemactive[i]);
for (int i = 0; i < ActiveItemCount; i++)
LoadItem(&file, ActiveItems[i]);
for (int j = 0; j < MAXDUNY; j++) {
for (int i = 0; i < MAXDUNX; i++) // NOLINT(modernize-loop-convert)

208
Source/msg.cpp

@ -701,7 +701,7 @@ DWORD OnRequestGetItem(TCmd *pCmd, int pnum)
if (p->bPnum != myplr)
SyncGetItem({ p->x, p->y }, p->wIndx, p->wCI, p->dwSeed);
else
InvGetItem(myplr, &items[ii], ii);
InvGetItem(myplr, &Items[ii], ii);
SetItemRecord(p->dwSeed, p->wCI, p->wIndx);
} else if (!NetSendCmdReq2(CMD_REQUESTGITEM, myplr, p->bPnum, p)) {
NetSendCmdExtra(p);
@ -726,9 +726,9 @@ DWORD OnGetItem(TCmd *pCmd, int pnum)
if (currlevel != p->bLevel) {
ii = SyncPutItem(plr[myplr], plr[myplr].position.tile, 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)
InvGetItem(myplr, &items[ii], ii);
InvGetItem(myplr, &Items[ii], ii);
} else {
InvGetItem(myplr, &items[ii], ii);
InvGetItem(myplr, &Items[ii], ii);
}
} else {
SyncGetItem({ p->x, p->y }, p->wIndx, p->wCI, p->dwSeed);
@ -767,7 +767,7 @@ DWORD OnRequestAutoGetItem(TCmd *pCmd, int pnum)
if (p->bPnum != myplr)
SyncGetItem({ p->x, p->y }, p->wIndx, p->wCI, p->dwSeed);
else
AutoGetItem(myplr, &items[p->bCursitem], p->bCursitem);
AutoGetItem(myplr, &Items[p->bCursitem], p->bCursitem);
SetItemRecord(p->dwSeed, p->wCI, p->wIndx);
} else if (!NetSendCmdReq2(CMD_REQUESTAGITEM, myplr, p->bPnum, p)) {
NetSendCmdExtra(p);
@ -792,9 +792,9 @@ DWORD OnAutoGetItem(TCmd *pCmd, int pnum)
if (currlevel != p->bLevel) {
int ii = SyncPutItem(plr[myplr], plr[myplr].position.tile, 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)
AutoGetItem(myplr, &items[ii], ii);
AutoGetItem(myplr, &Items[ii], ii);
} else {
AutoGetItem(myplr, &items[p->bCursitem], p->bCursitem);
AutoGetItem(myplr, &Items[p->bCursitem], p->bCursitem);
}
} else {
SyncGetItem({ p->x, p->y }, p->wIndx, p->wCI, p->dwSeed);
@ -837,7 +837,7 @@ DWORD OnPutItem(TCmd *pCmd, int pnum)
ii = SyncPutItem(plr[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);
DeltaPutItem(p, items[ii].position.x, items[ii].position.y, plr[pnum].plrlevel);
DeltaPutItem(p, Items[ii].position.x, Items[ii].position.y, plr[pnum].plrlevel);
CheckUpdatePlayer(pnum);
}
return sizeof(*p);
@ -860,7 +860,7 @@ DWORD OnSyncPutItem(TCmd *pCmd, int pnum)
int ii = SyncPutItem(plr[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);
DeltaPutItem(p, items[ii].position.x, items[ii].position.y, plr[pnum].plrlevel);
DeltaPutItem(p, Items[ii].position.x, Items[ii].position.y, plr[pnum].plrlevel);
CheckUpdatePlayer(pnum);
}
return sizeof(*p);
@ -1955,9 +1955,9 @@ void DeltaAddItem(int ii)
TCmdPItem *pD = sgLevels[currlevel].item;
for (i = 0; i < MAXITEMS; i++, pD++) {
if (pD->bCmd != 0xFF
&& pD->wIndx == items[ii].IDidx
&& pD->wCI == items[ii]._iCreateInfo
&& pD->dwSeed == items[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;
}
@ -1968,24 +1968,24 @@ void DeltaAddItem(int ii)
if (pD->bCmd == 0xFF) {
sgbDeltaChanged = true;
pD->bCmd = CMD_STAND;
pD->x = items[ii].position.x;
pD->y = items[ii].position.y;
pD->wIndx = items[ii].IDidx;
pD->wCI = items[ii]._iCreateInfo;
pD->dwSeed = items[ii]._iSeed;
pD->bId = items[ii]._iIdentified ? 1 : 0;
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;
pD->x = Items[ii].position.x;
pD->y = Items[ii].position.y;
pD->wIndx = Items[ii].IDidx;
pD->wCI = Items[ii]._iCreateInfo;
pD->dwSeed = Items[ii]._iSeed;
pD->bId = Items[ii]._iIdentified ? 1 : 0;
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;
}
}
@ -2058,8 +2058,8 @@ void DeltaLoadLevel()
sgLevels[currlevel].item[i].wCI,
sgLevels[currlevel].item[i].dwSeed);
if (ii != -1) {
if (dItem[items[ii].position.x][items[ii].position.y] == ii + 1)
dItem[items[ii].position.x][items[ii].position.y] = 0;
if (dItem[Items[ii].position.x][Items[ii].position.y] == ii + 1)
dItem[Items[ii].position.x][Items[ii].position.y] = 0;
DeleteItem(ii, i);
}
}
@ -2087,18 +2087,18 @@ void DeltaLoadLevel()
sgLevels[currlevel].item[i].wValue,
(sgLevels[currlevel].item[i].dwBuff & CF_HELLFIRE) != 0);
if (sgLevels[currlevel].item[i].bId != 0)
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;
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;
}
int x = sgLevels[currlevel].item[i].x;
int y = sgLevels[currlevel].item[i].y;
@ -2118,9 +2118,9 @@ void DeltaLoadLevel()
}
}
}
items[ii].position = { x, y };
dItem[items[ii].position.x][items[ii].position.y] = ii + 1;
RespawnItem(&items[ii], false);
Items[ii].position = { x, y };
dItem[Items[ii].position.x][Items[ii].position.y] = ii + 1;
RespawnItem(&Items[ii], false);
}
}
}
@ -2298,36 +2298,36 @@ void NetSendCmdGItem(bool bHiPri, _cmd_id bCmd, BYTE mast, BYTE pnum, BYTE ii)
cmd.bLevel = currlevel;
cmd.bCursitem = ii;
cmd.dwTime = 0;
cmd.x = items[ii].position.x;
cmd.y = items[ii].position.y;
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);
cmd.x = Items[ii].position.x;
cmd.y = Items[ii].position.y;
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 = items[ii]._iCreateInfo;
cmd.dwSeed = items[ii]._iSeed;
cmd.bId = items[ii]._iIdentified ? 1 : 0;
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;
cmd.wCI = Items[ii]._iCreateInfo;
cmd.dwSeed = Items[ii]._iSeed;
cmd.bId = Items[ii]._iIdentified ? 1 : 0;
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)
@ -2414,36 +2414,36 @@ void NetSendCmdDItem(bool bHiPri, int ii)
TCmdPItem cmd;
cmd.bCmd = CMD_DROPITEM;
cmd.x = items[ii].position.x;
cmd.y = items[ii].position.y;
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);
cmd.x = Items[ii].position.x;
cmd.y = Items[ii].position.y;
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 = items[ii]._iCreateInfo;
cmd.dwSeed = items[ii]._iSeed;
cmd.bId = items[ii]._iIdentified ? 1 : 0;
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;
cmd.wCI = Items[ii]._iCreateInfo;
cmd.dwSeed = Items[ii]._iSeed;
cmd.bId = Items[ii]._iIdentified ? 1 : 0;
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)

10
Source/objects.cpp

@ -2890,7 +2890,7 @@ void OperateBookLever(int pnum, int i)
{
int x = 2 * setpc_x + 16;
int y = 2 * setpc_y + 16;
if (numitems >= MAXITEMS) {
if (ActiveItemCount >= MAXITEMS) {
return;
}
if (object[i]._oSelFlag != 0 && !qtextflag) {
@ -3031,7 +3031,7 @@ void OperateChest(int pnum, int i, bool sendmsg)
void OperateMushPatch(int pnum, int i)
{
if (numitems >= MAXITEMS) {
if (ActiveItemCount >= MAXITEMS) {
return;
}
@ -3057,7 +3057,7 @@ void OperateMushPatch(int pnum, int i)
void OperateInnSignChest(int pnum, int i)
{
if (numitems >= MAXITEMS) {
if (ActiveItemCount >= MAXITEMS) {
return;
}
@ -3182,7 +3182,7 @@ void OperateL3Door(int pnum, int i, bool sendflag)
void OperatePedistal(int pnum, int i)
{
if (numitems >= MAXITEMS) {
if (ActiveItemCount >= MAXITEMS) {
return;
}
@ -4658,7 +4658,7 @@ void OperateStoryBook(int pnum, int i)
void OperateLazStand(int pnum, int i)
{
if (numitems >= MAXITEMS) {
if (ActiveItemCount >= MAXITEMS) {
return;
}

22
Source/pack.cpp

@ -156,23 +156,23 @@ void UnPackItem(const PkItemStruct *is, ItemStruct *id, bool isHellfire)
SDL_SwapLE16(is->wValue),
SDL_SwapLE32(is->dwBuff));
} else {
memset(&items[MAXITEMS], 0, sizeof(*items));
memset(&Items[MAXITEMS], 0, sizeof(*Items));
RecreateItem(MAXITEMS, idx, SDL_SwapLE16(is->iCreateInfo), SDL_SwapLE32(is->iSeed), SDL_SwapLE16(is->wValue), isHellfire);
items[MAXITEMS]._iMagical = static_cast<item_quality>(is->bId >> 1);
items[MAXITEMS]._iIdentified = (is->bId & 1) != 0;
items[MAXITEMS]._iDurability = is->bDur;
items[MAXITEMS]._iMaxDur = is->bMDur;
items[MAXITEMS]._iCharges = is->bCh;
items[MAXITEMS]._iMaxCharges = is->bMCh;
Items[MAXITEMS]._iMagical = static_cast<item_quality>(is->bId >> 1);
Items[MAXITEMS]._iIdentified = (is->bId & 1) != 0;
Items[MAXITEMS]._iDurability = is->bDur;
Items[MAXITEMS]._iMaxDur = is->bMDur;
Items[MAXITEMS]._iCharges = is->bCh;
Items[MAXITEMS]._iMaxCharges = is->bMCh;
RemoveInvalidItem(&items[MAXITEMS]);
RemoveInvalidItem(&Items[MAXITEMS]);
if (isHellfire)
items[MAXITEMS].dwBuff |= CF_HELLFIRE;
Items[MAXITEMS].dwBuff |= CF_HELLFIRE;
else
items[MAXITEMS].dwBuff &= ~CF_HELLFIRE;
Items[MAXITEMS].dwBuff &= ~CF_HELLFIRE;
}
*id = items[MAXITEMS];
*id = Items[MAXITEMS];
}
static void VerifyGoldSeeds(PlayerStruct &player)

20
Source/player.cpp

@ -1647,16 +1647,16 @@ void StartPlrHit(int pnum, int dam, bool forcehit)
static void RespawnDeadItem(ItemStruct *itm, Point target)
{
if (numitems >= MAXITEMS)
if (ActiveItemCount >= MAXITEMS)
return;
int ii = AllocateItem();
dItem[target.x][target.y] = ii + 1;
items[ii] = *itm;
items[ii].position = target;
RespawnItem(&items[ii], true);
Items[ii] = *itm;
Items[ii].position = target;
RespawnItem(&Items[ii], true);
itm->_itype = ITYPE_NONE;
}
@ -3168,19 +3168,19 @@ void CheckNewPath(int pnum, bool pmWillBeCalled)
case ACTION_PICKUPITEM:
if (pnum == myplr) {
i = player.destParam1;
x = abs(player.position.tile.x - items[i].position.x);
y = abs(player.position.tile.y - items[i].position.y);
if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND && !items[i]._iRequest) {
x = abs(player.position.tile.x - Items[i].position.x);
y = abs(player.position.tile.y - Items[i].position.y);
if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND && !Items[i]._iRequest) {
NetSendCmdGItem(true, CMD_REQUESTGITEM, myplr, myplr, i);
items[i]._iRequest = true;
Items[i]._iRequest = true;
}
}
break;
case ACTION_PICKUPAITEM:
if (pnum == myplr) {
i = player.destParam1;
x = abs(player.position.tile.x - items[i].position.x);
y = abs(player.position.tile.y - items[i].position.y);
x = abs(player.position.tile.x - Items[i].position.x);
y = abs(player.position.tile.y - Items[i].position.y);
if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND) {
NetSendCmdGItem(true, CMD_REQUESTAGITEM, myplr, myplr, i);
}

4
Source/qol/autopickup.cpp

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

4
Source/qol/itemlabels.cpp

@ -63,7 +63,7 @@ void AddItemToLabelQueue(int id, int x, int y)
{
if (!IsHighlightingLabelsEnabled())
return;
ItemStruct *it = &items[id];
ItemStruct *it = &Items[id];
const char *textOnGround;
if (it->_itype == ITYPE_GOLD) {
@ -146,7 +146,7 @@ void DrawItemNameLabels(const Surface &out)
}
for (const ItemLabel &label : labelQueue) {
ItemStruct &itm = items[label.id];
ItemStruct &itm = Items[label.id];
if (MousePosition.x >= label.pos.x && MousePosition.x < label.pos.x + label.width && MousePosition.y >= label.pos.y - Height + MarginY && MousePosition.y < label.pos.y + MarginY) {
if (!gmenu_is_active() && PauseMode == 0 && !deathflag && IsMouseOverGameArea()) {

4
Source/scrollrt.cpp

@ -732,7 +732,7 @@ static void DrawItem(const Surface &out, int x, int y, int sx, int sy, bool pre)
if (bItem <= 0)
return;
ItemStruct *pItem = &items[bItem - 1];
ItemStruct *pItem = &Items[bItem - 1];
if (pItem->_iPostDraw == pre)
return;
@ -1396,7 +1396,7 @@ void DrawView(const Surface &out, int startX, int startY)
&& (!questlog || gnScreenHeight >= SPANEL_HEIGHT + PANEL_HEIGHT + 74 || gnScreenWidth >= 4 * SPANEL_WIDTH)) {
DrawLevelUpIcon(out);
}
if (uitemflag) {
if (ShowUniqueItemInfoBox) {
DrawUniqueInfo(out);
}
if (qtextflag) {

50
Source/sync.cpp

@ -95,35 +95,35 @@ void SyncPlrInv(TSyncHeader *pHdr)
int ii;
ItemStruct *pItem;
if (numitems > 0) {
if (sgnSyncItem >= numitems) {
if (ActiveItemCount > 0) {
if (sgnSyncItem >= ActiveItemCount) {
sgnSyncItem = 0;
}
ii = itemactive[sgnSyncItem++];
ii = ActiveItems[sgnSyncItem++];
pHdr->bItemI = ii;
pHdr->bItemX = items[ii].position.x;
pHdr->bItemY = items[ii].position.y;
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];
pHdr->bItemX = Items[ii].position.x;
pHdr->bItemY = Items[ii].position.y;
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 = items[ii]._iCreateInfo;
pHdr->dwItemSeed = items[ii]._iSeed;
pHdr->bItemId = items[ii]._iIdentified ? 1 : 0;
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;
pHdr->wItemCI = Items[ii]._iCreateInfo;
pHdr->dwItemSeed = Items[ii]._iSeed;
pHdr->bItemId = Items[ii]._iIdentified ? 1 : 0;
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

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

Loading…
Cancel
Save