Utilities: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Bioman (talk | contribs)
m Update MD3 exporters for Blender
No edit summary
Line 27: Line 27:
.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]
.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 [[Build tool]] '''arttool''' is very handy for constructing ART files in a simple and well-defined manner.
The [[Build tool]] '''arttool''' is handy for constructing ART files in a simple and well-defined manner, but be warned that it causes corruption of your art files in some circumstances that has yet to be debugged.


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:
There are two command line utilities called art2tga and tga2art that allow management of art files. [http://hendricks266.duke4.net/stuff/rebuild-bin-win32-101229-h266.7z Win32 binaries], [http://hendricks266.duke4.net/stuff/rebuild-src-101229-h266.7z source code], [http://blood.sourceforge.net/snapshots.php#rebuild-section origin]
<code>cd rebuild && make</code>


There's also a replacement for art2tga/tga2art being written by [[User:Kraigose|Kraigose]] based on their codebase which aims to replace these tools using the more well known PNG format with the simplicity of the TGA tools INI file syntax. A precompiled Win32 build and source can be found [http://www.kraigosestudios.com/programming/eduke32-art-tools/ here] at Kraigose's website. A readme file is included in the download, as well as color tables for Adobe Photoshop. Images must be 256-color PNGs at the moment, but that'll be fixed soon. It's usage syntax is similar to art2tga and tga2art, but it supports by default doing ''all'' ART files in batch. More development is expected.
There's also a replacement for art2tga/tga2art being written by [[User:Kraigose|Kraigose]] based on their codebase which aims to replace these tools using the more well known PNG format with the simplicity of the TGA tools INI file syntax. A precompiled Win32 build and source can be found [http://www.kraigosestudios.com/programming/eduke32-art-tools/ here] at Kraigose's website. A readme file is included in the download, as well as color tables for Adobe Photoshop. Images must be 256-color PNGs at the moment, but that'll be fixed soon. It's usage syntax is similar to art2tga and tga2art, but it supports by default doing ''all'' ART files in batch. More development is expected.
Line 69: Line 68:
The PALETTE.DAT and LOOKUP.DAT files hold the palettes, palettes swaps, shade and translucency (blending) 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. The [[Build tools]] '''bsuite''', '''mkpalette''', and '''transpal''' can help you in this regard.
The PALETTE.DAT and LOOKUP.DAT files hold the palettes, palettes swaps, shade and translucency (blending) 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. The [[Build tools]] '''bsuite''', '''mkpalette''', and '''transpal''' can help you in this regard.


== High-Resolution Resources ==
== Modern Resources ==


=== Textures (.png/.jpg/.tga/.dds) ===
=== Textures (.png/.jpg/.tga/.dds) ===
Line 76: Line 75:
=== 3D Models (.md3) ===
=== 3D Models (.md3) ===


This is a list of tools which can be used to create and edit 3D models for use with EDuke32.
This is a list of 3D modelling programs 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 [http://hendricks266.duke4.net/stuff/new_blender_md3.zip 2.43 (up to 2.49)], [http://forums.duke4.net/topic/5358-blender-26-md3-export-script 2.6x+ (by Drek)]. [http://www.katsbits.com/tools See also katsbits.com], they provide several exporters for different versions of Blender.)
*[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.turbosquid.com/gmax Gmax], video game modeling tool (Windows, freeware). (MD3 exporter plugin for Gmax can be found [http://www.katsbits.com/tools here].)
*[http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=5659302 3DS Max], 3D modeler (Windows, commercial). (MD3 export script for 3DS Max [http://www.katsbits.com/tools v4.2/v5] and [http://www.katsbits.com/tools v6].)
*[http://chumbalum.swissquake.ch Milkshape 3D], 3D modeler (Windows, commercial).


Import/Export MD3 scripts for Blender [http://hendricks266.duke4.net/stuff/new_blender_md3.zip 2.43 (up to 2.49)]. [http://forums.duke4.net/topic/5358-blender-26-md3-export-script Drek exporters], mainly for the 2.6x branch. [http://www.katsbits.com/tools See also katsbits.com], they provide several exporters for different versions of Blender.
These are small tools which may prove useful when working with MD3 models.


[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.gamers.org/pub/idgames2/planetquake/q2pmp/NMD3C.zip NPherno's MD3 Compiler]
 
*[http://automagically.de/g3dviewer/ G3DViewer], open source and OpenGL models viewer, support formats 3D Studio, Quake 2, Quake 3 and many others.
[http://automagically.de/g3dviewer/ G3DViewer], open source and OpenGL models viewer, support formats 3D Studio, Quake 2, Quake 3 and many others.
 
[http://www.turbosquid.com/gmax Gmax], video game modeling tool (Windows, freeware).
 
MD3 exporter plugin for Gmax can be found [http://www.katsbits.com/tools here].
 
[http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=5659302 3DS Max], 3D modeler (Windows, commercial).
 
MD3 export script for 3DS Max [http://www.katsbits.com/tools v4.2/v5] and [http://www.katsbits.com/tools v6].
 
[http://chumbalum.swissquake.ch Milkshape 3D], 3D modeler (Windows, commercial).


=== Movies (.ivf) ===
=== Movies (.ivf) ===
Line 111: Line 103:


== Links ==
== Links ==
* [http://dukertcm.com/ R.T.C.M.]
* [http://dukerepository.com/utilities.php Duke Nukem Repository Utility Page]
* [http://dukerepository.com/utilities.php Duke Nukem Repository Utility Page]
* [http://www.gamers.org/pub/games/duke3d/other/build/ Gamers.org Archive Utility Page]
* [http://www.gamers.org/pub/games/duke3d/other/build/ Gamers.org Archive Utility Page]
* [http://archive.dukertcm.com/ R.T.C.M.]
* [http://forums.duke4.net/topic/798-tutorials-resources The Tutorials & Resources thread on the forum]
* [http://forums.duke4.net/topic/798-tutorials-resources The Tutorials & Resources thread on the forum]

Revision as of 22:36, 2 December 2012

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 several programs available for use.

The preeminent command-line programs for this purpose, and what the original developers used, are kextract and kgroup, part of the Build tools.

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 Jonah Bishop's 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. Since they are source code, they are simply text files and can be opened in any text editor. Notepad++ and Emerald Editor (aka Crimson Editor) are recommended.

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

The Build tool arttool is handy for constructing ART files in a simple and well-defined manner, but be warned that it causes corruption of your art files in some circumstances that has yet to be debugged.

There are two command line utilities called art2tga and tga2art that allow management of art files. Win32 binaries, source code, origin

There's also a replacement for art2tga/tga2art being written by Kraigose based on their codebase which aims to replace these tools using the more well known PNG format with the simplicity of the TGA tools INI file syntax. A precompiled Win32 build and source can be found here at Kraigose's website. A readme file is included in the download, as well as color tables for Adobe Photoshop. Images must be 256-color PNGs at the moment, but that'll be fixed soon. It's usage syntax is similar to art2tga and tga2art, but it supports by default doing all ART files in batch. More development is expected.

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, shade and translucency (blending) 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. The Build tools bsuite, mkpalette, and transpal can help you in this regard.

Modern 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 3D modelling programs 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 2.43 (up to 2.49), 2.6x+ (by Drek). See also katsbits.com, they provide several exporters for different versions of Blender.)
  • 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).
  • 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).

These are small tools which may prove useful when working with MD3 models.

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.

Command line syntax to use:

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