==================================================================== INTRO This package contains some of the programs I've written to access data files of Duke Nukem 3D. You're hereby granted a nonexclusive license to use the programs and source codes in this package for any and all purposes. However, this package is provided "as is", I make no warranties, either expressed or implied, with respect to... ==================================================================== PACKAGE CONTENTS Here's a list of programs in this package. Note that "GRP" refers to the GRP files of Duke Nukem 3D, not the Windows GRP files. readme.txt this file dn3idx.exe list index of GRP files dn3ext.exe extract files from GRP files artidx.exe list index of ART files, you can extract ART files from GRP files using dn3ext.exe dn3gv.exe view graphics inside GRP files; can also save them to hard disk The source code for the above programs are also provided: dn3idx.c C code for dn3idx.exe dn3ext.c C code for dn3ext.exe artidx.c C code for artidx.exe dn3gv.c & dn3asm.asm C & ASM code for dn3gv.exe These codes were written in a quick-and-dirty fashion. Development efficiency was more important than run-time efficiency. They should compile OK using MASM 6.0, QuickC 2.0, and MS C/C++ 8.0c. If you use another C compiler, make sure it understands C++ double slash comments (//comments to EOL). ==================================================================== HOW TO USE THE PROGRAMS The following DOS programs were written to access DUKE3D.GRP, the main data file of Duke Nukem 3D. DUKE3D.GRP contains a number of smaller files, such as sound files, palettes, level maps, and ART files. The ART files in turn contains many other smaller files, all of them graphics. program: dn3idx.exe what it does: list index of GRP files. example: dn3idx duke3d.grp options: [none] program: dn3ext.exe what it does: extract files from GRP file. In the above example, TILES000.ART is extracted. example: dn3ext duke3d.grp tiles000.art options: [none] program: artidx.exe what it does: list index of ART files. example: artidx tiles000.art options: [none] program: dn3gv.exe what it does: view/save DN3D graphics without running DN3D example: dn3gv.exe duke3d.grp /g /sa2 /p1 options: g show graphics only, don't show sprite info p# use the #-th palette, # is a number in the range of 0 to 31, inclusive. s### skip the first ### sprites sa## skip the first ### ART files o show offset of sprites When dn3gv.exe is running, pressing the ESC key sends you back to DOS; pressing the F10 key writes the current sprite to disk and advances to the next sprite; pressing any other key advances to the next sprite. Sprites are saved to disk in HSI RAW format, and filenames are in the form of HSI#####.RAW, where ##### is the index number of the sprite in the GRP file. Existing files are overwritten without any warning. What's the HSI RAW format? Well, HSI stands for Handmade Software Inc., they make a very popular shareware image conversion/processing software called "Image Alchemy", and HSI RAW format is the format used internally by Image Alchemy. See documentation of Image Alchemy for details. Chances are, Image Alchemy can handle all the graphics file formats you've ever heard of, and many others you've never heard of. Highly recommended! ==================================================================== Please send your comment to: dyang@sfu.ca or destiny_software@mindlink.bc.ca (put "To: Bo" at the beginning of your message) Best Regards Bo Yang