collinsmith/riiablo

Add support for unaligned BitInput slices

Closed this issue · 2 comments

DCC requires reading unaligned BitInput slices. Workaround could be to never slice the stream, however this would require implementing support for generating duplicates of BitInput instances.

Re-opening this issue. Validations on multi-byte slices failed in some cases. Testing data\global\CHARS\BA\LG\BALGLITTNHTH.dcc pixelCodeAndDisplacementBitStream for correct behavior. I think this is due to how the underlying ByteBuf is sliced -- must include cache and a slice containing any future bytes that belong to the bit stream, however in the case of the above file the correct number of bytes are sliced, but the position appears to be incorrect and is exceeding bounds of the slice.

Should be resolved via 64fa161