expack(1)

πŸ“¦
version 1.12.1 Β· 2 versions
, in debian trixie, nixos 26.05, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ¦‹ expack β€” manipulate Flex files πŸ¦‹

okay so bestie, welcome to expack(1), straight outta the General Commands Manual. this is the little command-line baddie that handles Flex files for you, and honestly? it's giving archive-queen energy. πŸ’…


✨ NAME ✨

expack β€” manipulate Flex files


🌸 SYNOPSIS 🌸

expack -a FLEXFILE FILE...
expack -c FLEXFILE FILE...
expack -x FLEXFILE [INDEX]
expack -i MANIFEST
expack -l FLEXFILE

πŸ’œ DESCRIPTION πŸ’œ

so like, expack is a command-line utility that lets you extract and create Flex files. and what even is a Flex file? it's an archive, meaning it acts as a container for other files, kinda like a directory does. Ultima VII uses them to store most of its data. iconic behaviour honestly. πŸ“¦βœ¨

important: the names of the original files are NOT stored in the Flex. so you can only get files back out by their index. no name lookup, no searching, nothing. the index is the whole personality. 😭

πŸŽ€ Modes of operation πŸŽ€

  • -a β€” Add β€” --NOT IMPLEMENTED YET. FUTURE ENHANCEMENT-- this command adds one or more FILEs to the end of FLEXFILE. (yes bestie, it's the future-enhancement one. we'll get to it in BUGS. πŸ’€)
  • -c β€” Create β€” this command takes one or more FILEs and bundles them into FLEXFILE, overwriting it in the process. so like, hope you didn't need what was there before. πŸ™ˆ
  • -x β€” Extract β€” lets you pull the files contained inside FLEXFILE back out. if INDEX is given, only the file at that position gets unpacked. if not, everything comes out. the created files will be named index.u7o.
  • -i β€” Input β€” basically Create's cousin. this command creates FLEXFILE from a bunch of input files too, except Input takes the names of the input files from MANIFEST instead of from the command line. so chill of it.

MANIFEST must be a list of file names, one per line. the first name is that of the Flex file that's gonna be created, and the rest are the input files used in building it. first line = the container, everything after = the contents. slay. 🫢

  • -l β€” List β€” this command lists the contents of a FLEXFILE. it gives you the number of files contained within the Flex file, plus the length of each file. perfect for a little peek. πŸ‘€

🌈 EXAMPLES 🌈

  • expack -a animals.flx bee.wav adds bee.wav to the Flex file animals.flx.
  • expack -a animals.flx hamster.wav snake.wav donkey.wav adds hamster.wav, snake.wav, and donkey.wav to the Flex file animals.flx.
reminder: the -a ones are the ones that don't actually work yet. see BUGS, iykyk. 😭
  • expack -c animals.flx duck.wav cat.wav cow.wav dog.wav creates a new Flex file animals.flx containing duck.wav, cat.wav, cow.wav, and dog.wav.
  • expack -x text.flx 17 extracts the file at position 17 from text.flx into 17.u7o.
  • expack -x text.flx extracts all files from text.flx into files named 0.u7o, 1.u7o, 2.u7o, etc.
  • expack -i wavlist with wavlist reading:
jmsfx.flx
ant.wav
bee.wav
cat.wav

will create a new Flex file jmsfx.flx consisting of ant.wav, bee.wav, and cat.wav.

  • expack -l text.flx lists the number and lengths of files contained in text.flx.

πŸ’€ BUGS πŸ’€

the Add command (-a) does not work yet. not a vibe, but there it is. 😭


πŸ‘‘ AUTHOR πŸ‘‘

this manpage was written by Robert Bihlmeyer, based on a text by Marc Winterrowd. it may be freely redistributed and modified under the terms of the GNU General Public License version 2 or higher. periodt. πŸŽ€


and that's the whole page bestie!! this one shipped with Exult and it's dated 2002-03-23 β€” expack(1), still out here doing the lord's work. go forth and archive responsibly. πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from