SYNOPSIS
ipack -c SCRIPTipack -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.flxarchive 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.