Browse Source

♻️ Pass ItemStruct on item RespawnItem function

pull/1407/head
Juliano Leal Goncalves 5 years ago committed by Anders Jenbo
parent
commit
3b015085de
  1. 6
      Source/inv.cpp
  2. 44
      Source/items.cpp
  3. 2
      Source/items.h
  4. 2
      Source/msg.cpp
  5. 2
      Source/player.cpp

6
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];

44
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)

2
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();

2
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);
}
}
}

2
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;
}

Loading…
Cancel
Save