From 3b015085de0ea84ce67bc52ba6e11e0a53824436 Mon Sep 17 00:00:00 2001 From: Juliano Leal Goncalves Date: Mon, 15 Mar 2021 23:24:15 -0300 Subject: [PATCH] :recycle: Pass ItemStruct on item RespawnItem function --- Source/inv.cpp | 6 +++--- Source/items.cpp | 44 ++++++++++++++++++++++---------------------- Source/items.h | 2 +- Source/msg.cpp | 2 +- Source/player.cpp | 2 +- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Source/inv.cpp b/Source/inv.cpp index bf21e54a7..a5a4cf78d 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -2211,7 +2211,7 @@ void AutoGetItem(int pnum, int ii) } } plr[pnum].HoldItem = items[ii]; - RespawnItem(ii, TRUE); + RespawnItem(&items[ii], TRUE); NetSendCmdPItem(TRUE, CMD_RESPAWNITEM, items[ii]._ix, items[ii]._iy); plr[pnum].HoldItem._itype = ITYPE_NONE; } @@ -2411,7 +2411,7 @@ int InvPutItem(int pnum, int x, int y) items[ii] = plr[pnum].HoldItem; items[ii]._ix = x; items[ii]._iy = y; - RespawnItem(ii, TRUE); + RespawnItem(&items[ii], TRUE); if (currlevel == 21 && x == CornerStone.x && y == CornerStone.y) { CornerStone.item = items[ii]; @@ -2498,7 +2498,7 @@ int SyncPutItem(int pnum, int x, int y, int idx, WORD icreateinfo, int iseed, in items[ii]._ix = x; items[ii]._iy = y; - RespawnItem(ii, TRUE); + RespawnItem(&items[ii], TRUE); if (currlevel == 21 && x == CornerStone.x && y == CornerStone.y) { CornerStone.item = items[ii]; diff --git a/Source/items.cpp b/Source/items.cpp index 77a5f74b8..78ae20ab6 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -3058,7 +3058,7 @@ void items_427ABA(int x, int y) UnPackItem(&PkSItem, &items[ii], (PkSItem.dwBuff & CF_HELLFIRE) != 0); items[ii]._ix = x; items[ii]._iy = y; - RespawnItem(ii, FALSE); + RespawnItem(&items[ii], FALSE); CornerStone.item = items[ii]; } @@ -3172,35 +3172,35 @@ void SpawnTheodore(int xx, int yy) SpawnRewardItem(IDI_THEODORE, xx, yy); } -void RespawnItem(int i, BOOL FlipFlag) +void RespawnItem(ItemStruct *item, BOOL FlipFlag) { int it; - it = ItemCAnimTbl[items[i]._iCurs]; - items[i]._iAnimData = itemanims[it]; - items[i]._iAnimLen = ItemAnimLs[it]; - items[i]._iAnimWidth = 96; - items[i]._iAnimWidth2 = 16; - items[i]._iPostDraw = FALSE; - items[i]._iRequest = FALSE; + it = ItemCAnimTbl[item->_iCurs]; + item->_iAnimData = itemanims[it]; + item->_iAnimLen = ItemAnimLs[it]; + item->_iAnimWidth = 96; + item->_iAnimWidth2 = 16; + item->_iPostDraw = FALSE; + item->_iRequest = FALSE; if (FlipFlag) { - items[i]._iAnimFrame = 1; - items[i]._iAnimFlag = TRUE; - items[i]._iSelFlag = 0; + item->_iAnimFrame = 1; + item->_iAnimFlag = TRUE; + item->_iSelFlag = 0; } else { - items[i]._iAnimFrame = items[i]._iAnimLen; - items[i]._iAnimFlag = FALSE; - items[i]._iSelFlag = 1; + item->_iAnimFrame = item->_iAnimLen; + item->_iAnimFlag = FALSE; + item->_iSelFlag = 1; } - if (items[i]._iCurs == ICURS_MAGIC_ROCK) { - items[i]._iSelFlag = 1; - PlaySfxLoc(ItemDropSnds[it], items[i]._ix, items[i]._iy); + if (item->_iCurs == ICURS_MAGIC_ROCK) { + item->_iSelFlag = 1; + PlaySfxLoc(ItemDropSnds[it], item->_ix, item->_iy); } - if (items[i]._iCurs == ICURS_TAVERN_SIGN) - items[i]._iSelFlag = 1; - if (items[i]._iCurs == ICURS_ANVIL_OF_FURY) - items[i]._iSelFlag = 1; + if (item->_iCurs == ICURS_TAVERN_SIGN) + item->_iSelFlag = 1; + if (item->_iCurs == ICURS_ANVIL_OF_FURY) + item->_iSelFlag = 1; } void DeleteItem(int ii, int i) diff --git a/Source/items.h b/Source/items.h index 5a77a9c5b..3658b64f3 100644 --- a/Source/items.h +++ b/Source/items.h @@ -307,7 +307,7 @@ void SpawnRewardItem(int itemid, int xx, int yy); void SpawnMapOfDoom(int xx, int yy); void SpawnRuneBomb(int xx, int yy); void SpawnTheodore(int xx, int yy); -void RespawnItem(int i, BOOL FlipFlag); +void RespawnItem(ItemStruct *item, BOOL FlipFlag); void DeleteItem(int ii, int i); void ProcessItems(); void FreeItemGFX(); diff --git a/Source/msg.cpp b/Source/msg.cpp index 90b419883..9653573e7 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -800,7 +800,7 @@ void DeltaLoadLevel() items[ii]._ix = x; items[ii]._iy = y; dItem[items[ii]._ix][items[ii]._iy] = ii + 1; - RespawnItem(ii, FALSE); + RespawnItem(&items[ii], FALSE); } } } diff --git a/Source/player.cpp b/Source/player.cpp index 7ceac7439..bf10cacb6 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -1646,7 +1646,7 @@ void RespawnDeadItem(ItemStruct *itm, int x, int y) items[ii] = *itm; items[ii]._ix = x; items[ii]._iy = y; - RespawnItem(ii, TRUE); + RespawnItem(&items[ii], TRUE); itm->_itype = ITYPE_NONE; }