MCPcopy Create free account
hub / github.com/diasurgical/devilution / PackItem

Function PackItem

Source/pack.cpp:3–33  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1#include "all.h"
2
3DEVILUTION_BEGIN_NAMESPACE
4
5static void PackItem(PkItemStruct *id, ItemStruct *is)
6{
7 if (is->_itype == ITYPE_NONE) {
8 id->idx = 0xFFFF;
9 } else {
10 id->idx = SwapLE16(is->IDidx);
11 if (is->IDidx == IDI_EAR) {
12 id->iCreateInfo = is->_iName[8] | (is->_iName[7] << 8);
13 id->iSeed = SwapLE32(is->_iName[12] | ((is->_iName[11] | ((is->_iName[10] | (is->_iName[9] << 8)) << 8)) << 8));
14 id->bId = is->_iName[13];
15 id->bDur = is->_iName[14];
16 id->bMDur = is->_iName[15];
17 id->bCh = is->_iName[16];
18 id->bMCh = is->_iName[17];
19 id->wValue = SwapLE16(is->_ivalue | (is->_iName[18] << 8) | ((is->_iCurs - 19) << 6));
20 id->dwBuff = SwapLE32(is->_iName[22] | ((is->_iName[21] | ((is->_iName[20] | (is->_iName[19] << 8)) << 8)) << 8));
21 } else {
22 id->iSeed = SwapLE32(is->_iSeed);
23 id->iCreateInfo = SwapLE16(is->_iCreateInfo);
24 id->bId = is->_iIdentified + 2 * is->_iMagical;
25 id->bDur = is->_iDurability;
26 id->bMDur = is->_iMaxDur;
27 id->bCh = is->_iCharges;
28 id->bMCh = is->_iMaxCharges;
29 if (is->IDidx == IDI_GOLD)
30 id->wValue = SwapLE16(is->_ivalue);
31 }
32 }
33}
34
35void PackPlayer(PkPlayerStruct *pPack, int pnum, BOOL manashield)
36{

Callers 1

PackPlayerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected