Flex files containing Shapes are used for the storage visual elements by the games Exult supports. While
expack(1) can operate on such files, using ipack is more comfortable. It can extract images from the Flex
file directly into PNG-format, and create or update Flex files from a list of PNG files.
The first parameter determines the mode of operation:
-c Creation
New Flex and palette files are created according to the instructions contained in the SCRIPT file.
-u Update
Works like Creation, but updates an existing Flex file.
-x Extraction
The contents of the Flex file described in the SCRIPT file are extracted as PNG is dissected into
its contents, as described in this script file.
ScriptFileFormat
Empty lines, and lines starting with a pound sign (#) are ignored.
The names of the associated Flex archive and palette files are given in lines containing optional
whitespace, one of the tokens archive or palette, whitespace, and the filename.
Other lines define one shape each, and must begin with an image slot number, followed by a slash (/), the
number of frames, a colon (:), and finally the PNG file specification. The numbers may be given either
in decimal, in octal prefixed with 0; or in hexadecimal prefixed with 0x. The file specification
consists of the filename PREFIX, optionally followed by a number and direction in brackets, optionally
followed by whitespace and the word flat.
Per default, each shape corresponds to a number of PNG files (one for each frame) named PREFIXnn.png with
nn replaced by the frame number. If the optional bracket expression is used in the specification the
Shape corresponds to a single PNG file instead. This file contains all frames, each of which is 8 by 8
pixels in size, arranged next to each other in a rectangular grid. The number in the bracket expression
gives the size of this grid in the direction indicated. The direction can be either down or across.