Browse Source

Clean up delta_put_item

pull/25/head
Anders Jenbo 7 years ago
parent
commit
f917bdbd9b
  1. 58
      Source/msg.cpp

58
Source/msg.cpp

@ -1721,48 +1721,34 @@ int __fastcall On_PUTITEM(TCmdPItem *pCmd, int pnum)
void __fastcall delta_put_item(TCmdPItem *pI, int x, int y, BYTE bLevel) void __fastcall delta_put_item(TCmdPItem *pI, int x, int y, BYTE bLevel)
{ {
TCmdPItem *v4; // ebx int i;
int v5; // eax TCmdPItem *pD;
DLevel *v6; // esi
DLevel *v7; // edi
char v8; // al
signed int v9; // eax
char v10; // [esp+Ch] [ebp-4h]
signed int bLevela; // [esp+1Ch] [ebp+Ch]
v10 = x;
v4 = pI;
if (gbMaxPlayers != 1) { if (gbMaxPlayers != 1) {
v5 = bLevel; for (i = 0; i < MAXITEMS; i++) {
bLevela = 0; pD = &sgLevels[bLevel].item[i];
v6 = &sgLevels[v5]; if (pD->bCmd != CMD_WALKXY
v7 = &sgLevels[v5]; && pD->bCmd != 0xFF
do { && pD->wIndx == pI->wIndx
v8 = v7->item[0].bCmd; && pD->wCI == pI->wCI
if (v7->item[0].bCmd != 1 && pD->dwSeed == pI->dwSeed) {
&& v8 != -1 if (pD->bCmd == CMD_ACK_PLRINFO)
&& v7->item[0].wIndx == v4->wIndx
&& v7->item[0].wCI == v4->wCI
&& v7->item[0].dwSeed == v4->dwSeed) {
if (v8 == 2)
return; return;
TermMsg("Trying to drop a floor item?"); TermMsg("Trying to drop a floor item?");
} }
++bLevela; }
v7 = (DLevel *)((char *)v7 + 22);
} while (bLevela < 127); for (i = 0; i < MAXITEMS; i++) {
v9 = 0; pD = &sgLevels[bLevel].item[i];
while (v6->item[0].bCmd != -1) { if (pD->bCmd == 0xFF) {
++v9; sgbDeltaChanged = 1;
v6 = (DLevel *)((char *)v6 + 22); memcpy(pD, pI, sizeof(TCmdPItem));
if (v9 >= 127) pD->bCmd = CMD_ACK_PLRINFO;
pD->x = x;
pD->y = y;
return; return;
}
} }
sgbDeltaChanged = 1;
memcpy(v6, v4, sizeof(TCmdPItem));
v6->item[0].x = v10;
v6->item[0].bCmd = 2;
v6->item[0].y = y;
} }
} }
// 67618C: using guessed type char sgbDeltaChanged; // 67618C: using guessed type char sgbDeltaChanged;

Loading…
Cancel
Save