Interspective animation

From MultimediaWiki
Jump to navigation Jump to search

This is a cutscene format used by Divide By Zero in two of its adventure games built on Interpective engine, namely Innocent Until Caught and its sequel Guilty. The former has its cutscene files named IUC_F0[1-7].DAT, the latter names them GBG_F[01][0-9].DAT.

Animation files contain one or more blocks consisting of I-frame and several P-frames. Each block starts with 32-bit little-endian block size and 16-bit number of frames in the block. Each frame starts with 16-bit frame data size.

I-frame starts with 16-bit width and height (which should always be 320 and 200) and image data compressed in the same way as in PCX. At the end of image data there should be 0xC0 byte signalling end of image followed by 768-byte palette.

P-frame starts with two bytes that should be used to signal short (one-byte) and long (16-bit) skips. So every byte but those two is a pixel value and after a signal byte a skip value should be read. In case skip value is zero, the original pixel value should be output. E.g. if 02 means long skip, 02 03 01 means "skip 0x103 (=259) pixels" and 02 00 00 means "output 02 pixel".