Utilities: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Bioman (talk | contribs)
Added .IVF section
No edit summary
Line 2: Line 2:
Here we will cover the needed programs for each aspect.
Here we will cover the needed programs for each aspect.


== Group File (.GRP) Editing ==
== Data Files ==
.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 directoy of EDuke32 source code. To build it, just do :
=== 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 :
<code>cd build && make utils</code>
<code>cd build && make utils</code>


Line 13: Line 15:
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, [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-build/gfs31.zip "Group File Studio"] and Roma Loom's [http://loomsday.com/?page_id=4 "GRPViewer"]
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, [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-build/gfs31.zip "Group File Studio"] and Roma Loom's [http://loomsday.com/?page_id=4 "GRPViewer"]


== Control File (.CON) Editing ==
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.
.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 [http://www.emeraldeditor.com/ Emerald Editor AKA Crimson Editor] is recommended as being one of the best. Special editing programs for writing CON code do exist, though all of them so far have only been developed for use with 1.5 Coding. Therefor, they will cause problems if you try to use Eduke32 exclusive parameters.


== Art File (.ART) Editing ==
=== Control Files (.CON) ===
.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. Editart still works on most Windows XP computers. Other programs include, [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/bastART.zip "BastART"] and [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/dukeresART.zip "DukeRES"]
.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 [http://www.emeraldeditor.com/ Emerald Editor AKA Crimson Editor] is recommended as being one of the best.


There are 2 command line utilities called art2tga and tga2art that allow to manage the art files, available [http://blood.sourceforge.net/snapshots.php#rebuild-section here]. To build it, just do :
=== Maps (.MAP) ===
<code>cd rebuild && make</code>
.MAP files are levels. To edit maps, use Mapster32, which comes with EDuke32.


== Map (.MAP) Editing ==
== 8-Bit Resources ==
.MAP files are your levels. There arent too many widely used .MAP editors, the most commonly used and recommended one is Mapster32, which comes with Eduke32. The other commonly used one is Jonof's BUILD, which comes with JFDuke3D. Originally, BUILD from the /Goodies directory on the Duke3D disc was used. Other mapping utilities were made, but are now obsolete, these include "Mapster" and "Makemap".


== Palette (.DAT) Editing ==
=== Art Files (.ART) ===
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 [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/BSUIT01A.ZIP "Build Customization Suite"].
.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 [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/bastART.zip "bastART"] and [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/dukeresART.zip "DukeResART"]


The program transpal allow to modify a palette file and can be found in the build directoy of EDuke32 source code (see ''Group File (.GRP) Editing'' section).
There are 2 command line utilities called art2tga and tga2art that allow management of art files, available [http://blood.sourceforge.net/snapshots.php#rebuild-section here]. To build it, just run:
<code>cd rebuild && make</code>


== Animation (.ANM) Editing ==
=== 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 [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/anim2pcx.zip "Animation File Maker"]
.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 [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/anim2pcx.zip "Animation File Maker"]


Line 57: Line 58:
It's not possible, actually to encode into anm format with FFmpeg.
It's not possible, actually to encode into anm format with FFmpeg.


== File container (.IVF) Editing ==
=== Voxels (.KVX) ===
It's an alternative to the ANM format, it transports a VP8 video stream, same used in the WebM format but without the Vorbis audio stream.
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 [http://advsys.net/ken/download.htm 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 [http://archive.dukertcm.com/knowledge-base/downloads-rtcm/duke3d-tools-editart/BSUIT01A.ZIP "Build Customization Suite"].


To extract VP8 video tracks from a WebM file into a IVF file, we can use the program ''mkvextract'', part of MKVToolnix, available [http://www.bunkus.org/videotools/mkvtoolnix here].
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 ==


eg: mkvextract tracks <filename>.webm 1:<filename>.ivf
=== 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 [http://www.gimp.org/ The GNU Image Manipulation Program (GIMP)]


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).
=== 3D Models (.md3) ===


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


[http://www.blender.org Blender], open source 3D modeler can be used for UV unwrapping, texturing, rigging, water simulations, skinning, animating, rendering, particle and other simulations.
[http://www.blender.org 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 [http://www.katsbits.com/tools here] or [http://johnny3d.promail.ca/blendermd3.zip here].
Import/Export MD3 scripts for Blender can be found [http://hendricks266.duke4.net/stuff/new_blender_md3.zip here] or [http://www.katsbits.com/tools here] or [http://johnny3d.promail.ca/blendermd3.zip here].


[http://www.misfitcode.com/misfitmodel3d 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).
[http://www.misfitcode.com/misfitmodel3d 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).
Line 85: Line 94:


[http://chumbalum.swissquake.ch Milkshape 3D], 3D modeler (Windows, commercial).
[http://chumbalum.swissquake.ch 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:
<pre>ffmpeg -i <input> -an -vcodec libvpx -quality best <output>.ivf</pre>
To extract VP8 video tracks from a WebM file into a IVF file, we can use the program ''mkvextract'', part of MKVToolnix, available [http://www.bunkus.org/videotools/mkvtoolnix 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 ==
== Links ==

Revision as of 12:13, 4 August 2011

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