New IFF parser
|Reported by:||peres||Owned by:||peres|
I was extending the ILBM format decoder for Big Red Adventure when I ran into a better implementation of the underlying IFF parser (in Kyra).
The current IFF parser only allows sequential access to the chunks, whereas the one in the patch doesn't have this limitation. As a result, client code can effectively search for the chunks it needs instead of scanning all the file accumulating state.
The ILBM decoder I was working on came out so much better without switch()'s, that I ended up ditching the whole current IFFParser and adapted its users: ILBMDecoder, PBMDecoder and A8SVXDecoder.
The patch contains the related changes, together with adaptations to Parallaction (for A8SVXDecoder), and a one-liner in Saga (for PBMDecoder).
Ticket imported from: #2704062. Ticket imported from: patches/1093.