ipack(1)
π ipack β the manual, but make it cute π
okay so bestie, this is ipack from the General Commands Manual section, and it's literally the glow-up tool for Flex files full of Shapes. let's get into it π«Ά
β¨ NAME β¨
ipack β Manipulate Flex files containing Shapes. that's it, that's the vibe π
πΈ SYNOPSIS πΈ
ipack -c SCRIPT
ipack -x SCRIPT
ipack -u SCRIPT
three modes, three moods. pick one, girlie π
π¦ DESCRIPTION π¦
so Flex files containing Shapes are what the games Exult supports use to store visual elements. and yes, expack(1) can work on those files too, but using ipack is way more comfortable β no cap. it can yank images out of the Flex file and drop them straight into PNG format, and it can create or update Flex files from a whole list of PNG files. iconic behaviour fr fr β¨
the first parameter decides what mode we're in, bestie:
-cβ Creation π± β brand new Flex and palette files get created, following the instructions living inside the SCRIPT file.-uβ Update β»οΈ β works exactly like Creation, except it updates a Flex file that already exists. glow-up, not rebirth.-xβ Extraction π§² β everything described in the SCRIPT file gets pulled out of the Flex file as PNG, dissected into its contents, exactly as that script file says.
π Script File Format π
empty lines? ignored. lines starting with a pound sign (#)? also ignored. we simply do not see them ππ
the names of the associated Flex archive and palette files go on lines that contain optional whitespace, then one of the tokens archive or palette, then whitespace, then the filename. that's the whole recipe π
every other line defines one shape each, and it must begin with an image slot number, followed by a slash (/), then the number of frames, then a colon (:), and finally the PNG file specification. the numbers can be written in decimal, in octal prefixed with 0, or in hexadecimal prefixed with 0x. iykyk π
the file specification is made of the filename PREFIX, optionally followed by a number and a direction in brackets, and then optionally followed by whitespace and the word flat.
by default, each shape corresponds to a bunch of PNG files β one for every frame β named PREFIXnn.png, where nn gets replaced by the frame number. but if you use that optional bracket expression in the specification, the Shape corresponds to a single PNG file instead π. that one file holds all the frames, each of which is 8 by 8 pixels in size, arranged next to each other in a rectangular grid. the number inside the bracket expression gives you the size of that grid in the direction indicated, and that direction can be either down or across. periodt. π
π₯ EXAMPLES π₯
ipack -c island.scrβ creates a Flex file and a palette file as specified byisland.scr. slay β¨ipack -x island.scrβ extracts all components described inisland.scrfrom the Flex file given in there. get those pixels, girl π«Ά
π§ 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
look at her. she's beautiful. she's documentation. ππ
π BUGS π
Tiled Shapes are currently extracted into multiple PNG files, not a single file as expected during Create/Update. it's giving "we know, bestie, we know" π
π 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. iconic and legally generous π
π SEE ALSO π
go read those too, bestie, we love a cross-reference π¦
Exult, 2002-03-24 β mwah, that's the source, version and date, and that's a wrap. love u, go pack some shapes ππβ¨
π¦ where this page comes from
- debian bookworm: exult-studio 1.8-1
- debian trixie: exult-studio 1.10.1-3
- nixos 26.05: exult 1.12.1
- nixpkgs unstable: exult 1.12.1
- ubuntu jammy: exult-studio 1.6-3
- ubuntu noble: exult-studio 1.8-2build3
- ubuntu questing: exult-studio 1.12.0-2
- ubuntu resolute: exult-studio 1.12.1-1
- ubuntu stonking: exult-studio 1.12.1-3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms