What is it ---------- This is version 0.4.1 of XmPak, a Motif-based Quake PAK file browser. It reads a Quake .pak file and displays a tree of the various objects in the .pak. You can do interesting things with some of the objects, like play the sounds and view the models. Author ------ Written by Greg Banks (gnb@preston.net) in his very sparse spare time. Acknowledgements ---------------- Thanks to ID Software for writing such a great game, and even more for making it so open. Thanks to Krist Paquay for knowing so much about X and creating Xit. Thanks to Mitch Davis for showing me how wonderful Linux is. Thanks to Glenn Trigg and Shane Arnott for beta testing XmPak. System Requirements ------------------- An ELF Linux with X-Windows. I use Linux 1.2.11 from a Slackware distribution, with XFree386 3.12d. You don't need Motif dynamic libraries, XmPak is statically linked against Motif. If you don't know what Linux is, please don't waste my time e-mailing me to ask. There are plenty of newsgroups, books, websites etc to teach you all about it. XMPAK DOES NOT RUN UNDER MICROSOFT WINDOWS (TM). If you want to play sound files, you also need to have an executable in your $PATH called `play' which takes on the commandline a filename of a .wav file to play. I use the Lsox package for this (see your favourite Linux repository). See below for how to a different program. To install ---------- 1. Copy the executables into your binary directory. Or just run the lot from the current directory. If you had XmPak 0.3.1 or earlier --------------------------------- The older versions of XmPak required the presence of XmPak.ad, 50_foreground and *.xpm. These are now compiled into the executable and do *not* need to be installed at runtime. If you don't plan to use the older XmPak (and why would you?) you may delete those files from their installation directories. Usage ----- xmpak [--owncmap] [--gamma n] [pakfile...] XmPak reads one or more pakfiles and displays the objects within them in a tree, whose "directories" can be expanded and collapsed. Individual objects can be extracted to files, which is placed in the directory `out'. Objects can also be opened, which has the following meanings: - .wav (Sound files) are played. The program used to play these files can be controlled with the X resource "?.openCommand_WAV". In the value of this resource, the substring `%s' is replaced with a filename. The default play command is "play %s". - .qc (Quake-C source) - .rc (Resources file) - .cfg (Config file) are displayed in a text window. - .mdl (Alias Model) are displayed in a separate display window. The models can be displayed wireframe or textured, and rotated panned and zoomed in 3D. You can display any frame or skin in the .mdl. You can export the current frame as a .raw triangle file, and the current skin as a .ppm file. Both v3 (qtest1) and v6 (shareware) .mdl formats are understood. - .md2 (Quake2 Model) are displayed in a separate display window like .mdl's. - .lmp (Lump Graphics) Flat graphics lumps (lumps can also be colour palettes and suchlike) are displayed in a separate display window. You can export them as a .ppm file. - .pcx (PCX image) are displayed in a separate display window like .lmp's. - .spr (Sprite) are displayed in a separate display window. You can export the current frame as a .ppm file. - .bsp (Level map) are displayed in a separate display window as wireframe outlines. The textures and entities in the map can be accessed through separate windows. - .wad (WAD) have their contents (mainly .lmp files) expanded in the tree so you can click on them. - directories are expanded if currently collapsed and vice versa. - all others are ignored. The options are: --owncmap use a private colourmap. This improves the display of model files if you don't have many colourmap cells left. XmPak won't start unless it found at least 25 colours. --gamma n Set the gamma correction factor to a number between 0.1 and 2.3. I use 1.7 for viewing models. The default pakfile name is id1/pak0.pak, so you can easily run XmPak from your Quake directory. unpak [pakfile [basedir]] Unpak extracts all the files in the pakfile into a directory tree rooted at basedir. For instance, if basedir is /my/dir the object progs/player.mdl will be exported as the file /my/dir/progs/player.mdl. The default pakfile is `id1/pak0.pak' and the default basedir is `out'. pakls [pakfile] Pakls lists the names, sizes, and offsets of all the objects in the pakfile. The default pakfile is `id1/pak0.pak'. Changes since 0.4 ----------------- (version 0.4 was never released. I was going to get around to it...really). x Reads and displays .PCX files. x Displays .MD2 files texture mapped. Changes since 0.3.2 ------------------- (version 0.3.2 was never released. I was going to get around to it...really). x Reads and displays .WAD files by making their contents appear as separate entries in the tree window. x Reads any of directories, WAD files or PAK files at the top level of the tree window. x Reads and displays Quake 2 .MD2 files (geometry only). x Ported to Sun and SGI. Maybe one day I'll build distributions for those platforms. Also ported to OpenGL; I may release an OpenGL version if someone with hardware acceleration (e.g. a Voodoo-based card) wants it. Changes since 0.3.1 ------------------- x Reads and displays .BSP level maps. Geometry is displayed as wireframe in orthogonal projection. List of all textures in separate window. List of all entities in separate window. x Main tree view has better use of pixmaps. x Main tree view now provides details about each PAK entry. x Pixmaps and app-default file are now compiled into the executable. x The bug which required the 50_foreground file to be present has been fixed. x Graphics speed for display of .MDLs has been improved. XmPak now uses the X Shared Memory extension if present in the server and the server is local. x XmPak should now support any visual, not just 8 bit PseudoColor. There is optimised special code for 8 bit PseudoColor and 16 bit TrueColor, and a generic case which handles everything else. x Various other minor bug fixes and internal improvements. Bugs ---- x There is no "busy" indication, which can make a difference when reading some of the very large .mdl files. x There are some bugs with keyboard traversal of menus in the .mdl display window. Future work ----------- x Being able to choose a new .PAK file without restarting x Confirmation on Extract command x Help x A manpage x Handling frame groups and skin groups in .mdl files. x Being able to `open' more types of files. x Improving the colour allocation algorithm to give better results when colours are running low. Currently you need a *lot* (like 200) of colours free to see e.g. the green armour in its correct colours. Legal Guff ---------- No restrictions are placed on use of this program. The source remains copyright (c) 1996-1997 Greg Banks except for some proprietary libraries. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Greg. Thu Nov 20 01:27:07 GMT 1997