Le fli.c contenant le do_fli_256_color est un fichier propre à Allegro !!!
Pour l'installation, il faut lancer le make du dossier Allegro ... et ça merde au niveau de ce fichier.
static void do_fli_256_color(unsigned char *p, int sz)
{
int packets;
int end;
int offset;
int length;
offset = 0;
if ((sz -= 2) < 0)
return;
// La ligne qui suit est la ligne 319 qui deconne:
packets = READ_SHORT_NC(p);
while (packets-- > 0) {
if ((sz -= 2) < 0)
return;
offset += READ_BYTE_NC(p);
length = READ_BYTE_NC(p);
if (length == 0)
length = 256;
end = offset + length;
if (end > PAL_SIZE)
return;
else if ((sz -= length * 3) < 0) {
FLI_KLUDGE((char *)p, sz, length * 3);
}
fli_pal_dirty_from = MIN(fli_pal_dirty_from, offset);
fli_pal_dirty_to = MAX(fli_pal_dirty_to, end-1);
for(; offset < end; offset++) {
fli_palette[offset].r = READ_BYTE_NC(p) / 4;
fli_palette[offset].g = READ_BYTE_NC(p) / 4;
fli_palette[offset].b = READ_BYTE_NC(p) / 4;
}
}
}