Improved bit buffer loader, mouse playback now functional.

This commit is contained in:
n-a-c-h
2005-05-15 23:10:42 +00:00
parent 71409f73ac
commit d06023576d

View File

@@ -1211,14 +1211,11 @@ static void replay_pad(unsigned char pad, unsigned char flag, unsigned char *buf
if (flag & bit_mask)
{
if (*skip_bits && ((*skip_bits&7) < 4))
{
fread(buffer + *skip_bits/8, 1, 1, zmv_vars.fp);
}
else
{
fread(buffer + *skip_bits/8, 1, 2, zmv_vars.fp);
}
size_t bits_needed = pad_bit_decoder(pad, buffer, 0);
size_t leftover_bits = (8 - (*skip_bits&7)) & 7;
bits_needed -= leftover_bits;
fread(buffer + (*skip_bits>>3), 1, (bits_needed>>3) + ((bits_needed&7) ? 1 : 0), zmv_vars.fp);
*skip_bits = pad_bit_decoder(pad, buffer, *skip_bits);
}
*current_state = *last_state;