Цитата:
Сообщение от Mifesto
а ReadBitFlags можно функцию?
или хотя бы что читает и в каком формате возвращает.
|
function TGamePacket.ReadBitFlags(Count: Integer = 0): TGamePacketBitFlags;
var
N, I: Integer;
B: array of Byte;
begin
N := ReadH;
if (N < 1) or ((Count > 0) and (N <> Count)) then raise Exception.Create('Invalid bit flags count!');
I := Ceil(N / 8);
SetLength(B, I);
Move(FData[FCursor], B[0], I);
Inc(FCursor, I);
SetLength(Result, N);
for I := 0 to N - 1 do
begin
Result[I] := (B[I div 8] shr (7 - (I mod 8))) and 1 = 1;
end;
end;Code: Pascal