Browse Source

Clean up delta_get_item.

pull/133/head
Sergey Semushin 7 years ago committed by Anders Jenbo
parent
commit
19d9fec7f8
  1. 55
      Source/msg.cpp

55
Source/msg.cpp

@ -1476,37 +1476,39 @@ BOOL delta_get_item(TCmdGItem *pI, BYTE bLevel)
BOOL result;
TCmdPItem *pD;
int i;
BOOL found;
result = TRUE;
found = FALSE;
if (gbMaxPlayers != 1) {
for (i = 0; i < MAXITEMS; i++) {
pD = &sgLevels[bLevel].item[i];
if (*(BYTE *)pD != 0xFF
&& pD->wIndx == pI->wIndx
&& pD->wCI == pI->wCI
&& pD->dwSeed == pI->dwSeed) {
if (pD->bCmd == CMD_STAND) {
sgbDeltaChanged = 1;
pD->bCmd = CMD_WALKXY;
return TRUE;
} else if (pD->bCmd == CMD_WALKXY) {
return TRUE;
} else if (pD->bCmd == CMD_ACK_PLRINFO) {
*(BYTE *)pD = 0xFF;
sgbDeltaChanged = 1;
return TRUE;
} else {
app_fatal("delta:1");
}
pD = sgLevels[bLevel].item;
for (i = 0; i < MAXITEMS; i++, pD++) {
if (pD->bCmd != 0xFF && pD->wIndx == pI->wIndx && pD->wCI == pI->wCI && pD->dwSeed == pI->dwSeed) {
found = TRUE;
break;
}
}
if (found) {
if (pD->bCmd == CMD_WALKXY) {
return result;
}
if (pD->bCmd == CMD_STAND) {
sgbDeltaChanged = 1;
pD->bCmd = CMD_WALKXY;
return result;
}
if (pD->bCmd == CMD_ACK_PLRINFO) {
pD->bCmd = 0xFF;
sgbDeltaChanged = 1;
return result;
}
app_fatal("delta:1");
}
if (((pI->wCI >> 8) & 0x80) == 0)
return FALSE;
for (i = 0; i < MAXITEMS; i++) {
pD = &sgLevels[bLevel].item[i];
if (*(BYTE *)pD == 0xFF) {
pD = sgLevels[bLevel].item;
for (i = 0; i < MAXITEMS; i++, pD++) {
if (pD->bCmd == 0xFF) {
sgbDeltaChanged = 1;
pD->bCmd = CMD_WALKXY;
pD->x = pI->x;
@ -1521,11 +1523,12 @@ BOOL delta_get_item(TCmdGItem *pI, BYTE bLevel)
pD->bMCh = pI->bMCh;
pD->wValue = pI->wValue;
pD->dwBuff = pI->dwBuff;
return TRUE;
result = TRUE;
break;
}
}
}
return TRUE;
return result;
}
// 679660: using guessed type char gbMaxPlayers;

Loading…
Cancel
Save