NAME
ipack - Manipulate Flex files containing Shapes
SYNOPSIS
ipack -c SCRIPT
ipack -x SCRIPT
ipack -u SCRIPT
DESCRIPTION
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.
Script File Format
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.
EXAMPLES
ipack -c island.scr
Creates a Flex file and a palette file as specified by
island.scr.
ipack -x island.scr
Extracts all components described in island.scr from the Flex
file given therein.
Example script
# script file for island.flx
archive island.flx
# put the palette into this file
palette island.pal
# the zeroth image has 32 frames in the files
# zero00.png to zero31.png
0/32:zero
# image 5 consists of 22 frames stored in file
# five.png in a grid 5 frames across (which means
# 5 rows of which the last holds only 2 frames)
5/22:five(5 across) flat
# image 4 consists of 12 frames stored in file
# four.png in a 3 by 4 grid
4/12:four(4 down) flat
# images 1 to 3 are unspecified
BUGS
Tiled Shapes are currently extracted into multiple PNG files, not a
single file as expected during Create/Update.
AUTHOR
This manpage was written by Robert Bihlmeyer. It may be freely
redistributed and modified under the terms of the GNU General Public
License version 2 or higher.
SEE ALSO
expack(1), exult(6)