Clean up packing/unpacking players
This commit is contained in:
parent
bec0ceec4a
commit
ca65550a5a
1 changed files with 13 additions and 39 deletions
|
|
@ -81,35 +81,21 @@ void PackPlayer(PkPlayerStruct *pPack, const PlayerStruct &player, bool manashie
|
|||
for (int i = 37; i < 47; i++)
|
||||
pPack->pSplLvl2[i - 37] = player._pSplLvl[i];
|
||||
|
||||
PkItemStruct *pki = &pPack->InvBody[0];
|
||||
const ItemStruct *pi = &player.InvBody[0];
|
||||
|
||||
for (int i = 0; i < NUM_INVLOC; i++) {
|
||||
PackItem(pki, pi);
|
||||
pki++;
|
||||
pi++;
|
||||
PackItem(&pPack->InvBody[i], &player.InvBody[i]);
|
||||
}
|
||||
|
||||
pki = &pPack->InvList[0];
|
||||
pi = &player.InvList[0];
|
||||
|
||||
for (int i = 0; i < NUM_INV_GRID_ELEM; i++) {
|
||||
PackItem(pki, pi);
|
||||
pki++;
|
||||
pi++;
|
||||
PackItem(&pPack->InvList[i], &player.InvList[i]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < NUM_INV_GRID_ELEM; i++)
|
||||
pPack->InvGrid[i] = player.InvGrid[i];
|
||||
|
||||
pPack->_pNumInv = player._pNumInv;
|
||||
pki = &pPack->SpdList[0];
|
||||
pi = &player.SpdList[0];
|
||||
|
||||
for (int i = 0; i < MAXBELTITEMS; i++) {
|
||||
PackItem(pki, pi);
|
||||
pki++;
|
||||
pi++;
|
||||
PackItem(&pPack->SpdList[i], &player.SpdList[i]);
|
||||
}
|
||||
|
||||
pPack->wReflections = SDL_SwapLE16(player.wReflections);
|
||||
|
|
@ -239,40 +225,28 @@ void UnPackPlayer(const PkPlayerStruct *pPack, int pnum, bool netSync)
|
|||
for (int i = 37; i < 47; i++)
|
||||
player._pSplLvl[i] = pPack->pSplLvl2[i - 37];
|
||||
|
||||
const PkItemStruct *pki = &pPack->InvBody[0];
|
||||
ItemStruct *pi = &player.InvBody[0];
|
||||
|
||||
for (int i = 0; i < NUM_INVLOC; i++) {
|
||||
bool isHellfire = netSync ? ((pki->dwBuff & CF_HELLFIRE) != 0) : pPack->bIsHellfire;
|
||||
UnPackItem(pki, pi, isHellfire);
|
||||
pki++;
|
||||
pi++;
|
||||
auto packedItem = pPack->InvBody[i];
|
||||
bool isHellfire = netSync ? ((packedItem.dwBuff & CF_HELLFIRE) != 0) : pPack->bIsHellfire;
|
||||
UnPackItem(&packedItem, &player.InvBody[i], isHellfire);
|
||||
}
|
||||
|
||||
pki = &pPack->InvList[0];
|
||||
pi = &player.InvList[0];
|
||||
|
||||
for (int i = 0; i < NUM_INV_GRID_ELEM; i++) {
|
||||
bool isHellfire = netSync ? ((pki->dwBuff & CF_HELLFIRE) != 0) : pPack->bIsHellfire;
|
||||
UnPackItem(pki, pi, isHellfire);
|
||||
pki++;
|
||||
pi++;
|
||||
auto packedItem = pPack->InvList[i];
|
||||
bool isHellfire = netSync ? ((packedItem.dwBuff & CF_HELLFIRE) != 0) : pPack->bIsHellfire;
|
||||
UnPackItem(&packedItem, &player.InvList[i], isHellfire);
|
||||
}
|
||||
|
||||
for (int i = 0; i < NUM_INV_GRID_ELEM; i++)
|
||||
player.InvGrid[i] = pPack->InvGrid[i];
|
||||
|
||||
player._pNumInv = pPack->_pNumInv;
|
||||
VerifyGoldSeeds(&player);
|
||||
|
||||
pki = &pPack->SpdList[0];
|
||||
pi = &player.SpdList[0];
|
||||
VerifyGoldSeeds(player);
|
||||
|
||||
for (int i = 0; i < MAXBELTITEMS; i++) {
|
||||
bool isHellfire = netSync ? ((pki->dwBuff & CF_HELLFIRE) != 0) : pPack->bIsHellfire;
|
||||
UnPackItem(pki, pi, isHellfire);
|
||||
pki++;
|
||||
pi++;
|
||||
auto packedItem = pPack->SpdList[i];
|
||||
bool isHellfire = netSync ? ((packedItem.dwBuff & CF_HELLFIRE) != 0) : pPack->bIsHellfire;
|
||||
UnPackItem(&packedItem, &player.SpdList[i], isHellfire);
|
||||
}
|
||||
|
||||
if (pnum == myplr) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue