NetworkPacket имеет такую структуру:
первый байт - id пакета, второй - мусор, дальше smallint число (двухбайтовое целое число со знаком), если пакет имет дополнительный id то это он, в противном случае -1 (в шестнадцатиричном виде 0xFFFF), при работе с логин сервером эти два байта - мусор, дальше беззнаковое 4хбайтовое целое число означающее размер данных в пакете (уже без байт размера и ИДишников), ну и наконец указатель на данные пакета.
На дельфи выглядет это так:
Код:
TNetworkPacket = packed record
id: Byte;
res: Byte; // мусор
id2: Smallint;
size: Cardinal;
data: Pointer;
end;