Utilities

From EDukeWiki
Revision as of 12:13, 4 August 2011 by Hendricks266 (talk | contribs)
Jump to navigation Jump to search

When modding EDuke32, there are some files you will need to edit certain aspects of the game. Here we will cover the needed programs for each aspect.

Data Files

Group Files (.GRP)

.GRP files are basically like a zip file, they hold all of the relevant files for the game, and keep your folders tidy. There are numerous programs available for use, even some crude extraction and grouping programs came on the Duke3D disc in the goodies directory: "KGroup" and "KExtract".

Both programs are also present in the build directory of EDuke32 source code. To build it, just do : cd build && make utils

We can find a program called grpextract here. To build it, just do : gcc grpextract.c -o grpextract

While lacking a GUI, they get the job done. There are other programs, which can view art files inside the .GRP, and listen to sound bytes. Other programs include, "Group File Studio" and Roma Loom's "GRPViewer"

For your own mods, it is highly recommended to use either .zip files or folders in conjunction with the -j command line parameter instead of GRP files.

Control Files (.CON)

.CON files hold most of the important code for the game. To edit the con files, you actually dont need any special programs. Just open the .CON files in your favorite text editor, although Emerald Editor AKA Crimson Editor is recommended as being one of the best.

Maps (.MAP)

.MAP files are levels. To edit maps, use Mapster32, which comes with EDuke32.

8-Bit Resources

Art Files (.ART)

.ART files hold all the raw art data in a tidy manner. Once again, there are numerous programs available which can edit the .ART files. The most commonly used program is the one that came with Duke Nukem 3D: EditArt. It is a 16-bit DOS program, so the use of DOSBox is recommended. Other programs include "bastART" and "DukeResART"

There are 2 command line utilities called art2tga and tga2art that allow management of art files, available here. To build it, just run: cd rebuild && make

Animations (.ANM)

.ANM files hold raw .PCX files, which are added together and then played as an animation. In the game these are the animations you see at the end of a boss fight. The sounds for the animations are not included in the .ANM. One of the few .ANM compiling programs is "Animation File Maker"

FFmpeg, since version 0.6, can also decode and play anm files.

Some examples :

Play the 'foo' animation file :

ffplay foo.anm

Extract all frames from the 'foo' animation file into the PNG format (works also with JPG, PCX, GIF, BMP ...)

ffmpeg -i foo.anm bar%03d.png

Encode the 'foo' animation file into a MPEG-4 format :

ffmpeg -i foo.anm bar.avi

Encode the 'foo' animation file into a WebM format :

ffmpeg -i foo.anm -threads 2 bar.webm

See 'ffmpeg -codecs' for all available codecs.

It's not possible, actually to encode into anm format with FFmpeg.

Voxels (.KVX)

Voxels are simple 3D shapes made out of three-dimensional cubes. While no voxels were ever included in any commercial versions of Duke Nukem 3D, its fellow BUILD games Shadow Warrior and Blood have many. EDuke32 supports voxels as well.

To create and edit voxels, use Ken Silverman's SLAB6.

Palettes (.DAT)

The PALETTE.DAT and LOOKUP.DAT files hold the palettes, palettes swaps, and shade tables for the game. This is one of the most loathed and untouched editable features of Duke3D. While incredibly difficult, it can come to good effect. One of the few .PAL editors is the "Build Customization Suite".

The program transpal can modify a palette file and can be found in the utils directory the of EDuke32 source code (see #Group Files (.GRP)).

High-Resolution Resources

Textures (.png/.jpg/.tga/.dds)

EDuke32 supports true color textures. These can be made in any image editing program, including Adobe Photoshop, Corel Paint Shop Pro, and The GNU Image Manipulation Program (GIMP)

3D Models (.md3)

This is a list of tools which can be used to create and edit 3D models for use with EDuke32.

Blender, open source 3D modeler can be used for UV unwrapping, texturing, rigging, water simulations, skinning, animating, rendering, particle and other simulations.

Import/Export MD3 scripts for Blender can be found here or here or here.

Misfit Model 3D, open source and OpenGL-based 3D model editor that works with triangle-based models (on Debian based distros, package is called mm3d).

G3DViewer, open source and OpenGL models viewer, support formats 3D Studio, Quake 2, Quake 3 and many others.

Gmax, video game modeling tool (Windows, freeware).

MD3 exporter plugin for Gmax can be found here.

3DS Max, 3D modeler (Windows, commercial).

MD3 export script for 3DS Max v4.2/v5 and v6.

Milkshape 3D, 3D modeler (Windows, commercial).

Movies (.ivf)

IVF files are an alternative to the ANM format utilizing a VP8 video stream, the same used in the WebM format but without the Vorbis audio stream.

To encode video, including an uncompressed raw one, to IVF, use this command line syntax with FFmpeg:

ffmpeg -i <input> -an -vcodec libvpx -quality best <output>.ivf

To extract VP8 video tracks from a WebM file into a IVF file, we can use the program mkvextract, part of MKVToolnix, available here.

eg: mkvextract tracks <filename>.webm 1:<filename>.ivf

To play it in-game now we just have to place it in a search path or in a custom mod directory and give it the same name as the .anm file that we want to replace (eg logo.ivf for the animation logo when the game starts).

Links