Browse Source

Clean up DeltaExportData

pull/25/head
Anders Jenbo 7 years ago
parent
commit
9a56a19c2b
  1. 49
      Source/msg.cpp

49
Source/msg.cpp

@ -203,40 +203,27 @@ void __cdecl msg_pre_packet()
void __fastcall DeltaExportData(int pnum)
{
BYTE *v1; // edi
DObjectStr *v2; // esi
BYTE *v3; // ebx
BYTE *v4; // eax
BYTE *v5; // eax
BYTE *v6; // eax
int v7; // eax
BYTE *v8; // eax
int v9; // eax
int player_num; // [esp+0h] [ebp-Ch]
int v11; // [esp+4h] [ebp-8h]
char src; // [esp+Bh] [ebp-1h]
player_num = pnum;
BYTE *dst, *dstEnd;
int size, i;
char src;
if (sgbDeltaChanged) {
v11 = 0;
v1 = (BYTE *)DiabloAllocPtr(4722);
v2 = sgLevels[0].object;
v3 = v1 + 1;
do {
v4 = DeltaExportItem(v3, (TCmdPItem *)&v2[-2794]);
v5 = DeltaExportObject(v4, v2);
v6 = DeltaExportMonster(v5, (DMonsterStr *)&v2[127]);
v7 = msg_comp_level(v1, v6);
dthread_send_delta(player_num, (_BYTE)v11++ + CMD_DLEVEL_0, v1, v7);
v2 += 4721;
} while ((signed int)v2 < (signed int)&sgLevels[NUMLEVELS].object);
v8 = DeltaExportJunk(v3);
v9 = msg_comp_level(v1, v8);
dthread_send_delta(player_num, CMD_DLEVEL_JUNK, v1, v9);
mem_free_dbg(v1);
dst = (BYTE *)DiabloAllocPtr(4722);
dstEnd = dst + 1;
for (i = 0; i < NUMLEVELS; i++) {
dstEnd = DeltaExportItem(dstEnd, sgLevels[i].item);
dstEnd = DeltaExportObject(dstEnd, sgLevels[i].object);
dstEnd = DeltaExportMonster(dstEnd, sgLevels[i].monster);
size = msg_comp_level(dst, dstEnd);
dthread_send_delta(pnum, i + CMD_DLEVEL_0, dst, size);
}
dstEnd = DeltaExportJunk(dstEnd);
size = msg_comp_level(dst, dstEnd);
dthread_send_delta(pnum, CMD_DLEVEL_JUNK, dst, size);
mem_free_dbg(dst);
}
src = 0;
dthread_send_delta(player_num, CMD_DLEVEL_END, &src, 1);
dthread_send_delta(pnum, CMD_DLEVEL_END, &src, 1);
}
// 67618C: using guessed type char sgbDeltaChanged;

Loading…
Cancel
Save