Usurper's Editart Guide v1.6+  v5-15-2004  Release 3  RTCM The Usurper

The basic instructions and such are derived from the Build Docs, aka buildhlp.exe, and the dmbuild.txt located on the Duke 3D CD-ROM unless otherwise noted.

It is recommended that you read through the document entirely, and if you have a particular problem to consult the chapter it would logically appear in. If I have missed anything, or if you have suggestions for improvements, please suggest them in the RTCM forum or email me (with "editart" in the subject line).

Thanks to all who have encouraged and prodded the growth of this document, kept me interested in build, and supplied information or suggestions.
Corvin , TerminX , Veldrik , Cyborg , Ken Silverman and any I may have forgotten.

Source Code--The source code for editart is a part of the build engine source code. It is available at Ken Silverman's homepage: http://www.advsys.net/ken/

What Editart Does | Getting Editart running | The Editart Interface | Editart Keys | Navigating and Saving Tiles
Creating Import-Ready Images | Importing Tiles | Animating Tiles | Changing Weapon Art
Enemies and 3D Sprites | Creating and Importing New Skies | Using Editart With Other 3D Games 
Wad2art.exe Help | Transferring Tiles | Other Programs

What Editart Does

Editart is a program that allows you to modify the art files in games which use Ken Silverman’s Build Engine, such as Duke Nukem 3D, Shadow Warrior, Blood, and others.  This guide is written for use with Duke Nukem 3D (hereafter referred to as “Duke3D”), although most of the instructions will apply to other Build Engine games as well.

While Editart has some basic drawing capabilities, it is not a fully featured paint program.  It’s primary purpose is for storing images, not creating them.  For that reason, drawing in Editart will not be covered extensively in this guide, save for the explanation of drawing commands in the Keylist section and a few other useful commands.

Each art file in Duke3D contains 256 art tiles.  There are thousands of art tiles available.  If you have Duke3D version 1.3d, you will have 4096 tiles (0-4095) available in 16 art files (tiles000.art-tiles015.art).  If you have version 1.4 or 1.5, you will have 6144 tiles (0-6143) in 24 art files (tiles000.art-tiles023.art).  The limit for v.2.x (Eduke, www.saettler.com/eduke) may or may not be higher than the v.1.4/1.5 limits in future versions. 

The art files account for all of the graphics used in the game (textures, sprites, weapons graphics, help screens, fonts, etc.) with the exception of certain cutscenes, which are stored in anm files.

Tiles can have dimensions of up to 1024 pixels wide and 512 pixels high.  Keep in mind that rotating and wall-aligned sprites, as well as walls, will not shade normally if their height exceeds 256 pixels, and standard (non-parallaxed) floor and ceiling textures will have glitches if their width and/or height meets or exceeds 512 pixels.  Also be aware that Duke3D and all other Build Engine games do not display more than 256 colors on screen at once.  All of your art (with a few exceptions such as title screens and cutscenes) will conform to a single 256-color palette.  I’ve saved you the trouble and prepared the game palettes in Windows’ pal format (compatible with Paint Shop Pro) and Photoshop’s act format with instructions on how to use them:  click here to download palettes.  You can also read about how to obtain the palettes yourself in Section V.

Important: the editart.exe that ships with v.1.4/1.5 is the same version used in Duke3D v.1.3D and is not modified to handle the higher art file limit.  The editart.exe that comes with Shadow Warrior will work with v.1.4/1.5 allowing access to the wider range of art files.

FACTS

  • Tiles per art file: 256
  • v.1.3D max tiles: 4096 (tiles000.art-tiles015.art)
  • v.1.4/1.5 max tiles:
  • Max tile dimensions: 1024x512

Setup; Getting Editart Running

You should run editart in your Duke3D directory so that you have immediate access to your modified art files in Build and the game itself.  The following files should be in the directory along with editart.exe:

To get editart to run properly, the following files need to be in the same directory:

Editart.exe
palette.dat (required)
tables.dat (required)
all art files (tiles000.art-tilesxxx.art; required)
Names.h (optional, but helpful; shows tile names in build and editart)

You will likely find the dat files already inside your Duke3D folder.  If not, they can be extracted from the duke3d.grp file. All files except for tilesXXX.art tiles are also located in the goodies\build directory on the Duke3d cdrom. The art files will almost certainly need to be extracted from duke3d.grp as well.  To extract the .art or .dat files (or both), make sure you have a program called kextract.exe in the Duke3D directory with your Editart files. If it isn’t there, copy it from the Duke3D CD-Rom located in the goodies\build directory on your cd.  Assuming you understand DOS, go to the folder that contains Duke3D.  Type kextract duke3d.grp filename.xxx where filename.xxx is the file or files you wish to extract.  To extract all the art files, replace it with *.art.  To extract all the dat files, use *.dat

Once you have all of the necessary files in the directory, run the Editart program.  You should see a black screen with red lettering that reads “Loading Tiles000.art.” This screen may not be visiable on fast computers. Note that it is in fact loading all art files that follow tiles000.art in sequential order.  If you are lacking an art file, such as tiles004.art, tiles005.art and up may not display correctly. Once loaded you will be presented with the first tile #0.

Important:  If you extract a file from duke3d.grp using kextract, the program will overwrite any file of the same name in the same directory without prompt or warning. 

Important:  If you have copied files directory off of the Duke3D CD-Rom, they will probably be marked as read-only.  You can quickly fix this in DOS by going to your Duke3D folder and typing attrib –r at the DOS prompt.  Alternately, you could select all of the files in the folder in Windows, right click on them, select Properties, then uncheck the read-only box and click “apply” and “ok.”

 

Using Editart; The Editart Interface

Upon opening Editart you should see the following:

The bottom left corner displays the tile number.  If the tile has been assigned a name, that name will appear beneath the tile number.  In the center are the tiles dimensions in pixels (64 wide/32 high in the above image) and its animation setting.  The bottom right corner displays the palette (the 256 colors that most of the artwork conforms to).  The center of the screen displays the tile itself.  If you move the mouse or press the arrow keys, you’ll notice a tiny cursor moving around the tile.  You can use this tile for drawing pixel-by-pixel or for selecting areas for copying and pasting.  The rest of the commands are based on various keys on the keyboard.  See the following keylist section for a complete listing.

 

Using Editart; Editart Keys

For convenience, I've included an enhanced list of editart keys and their functions.

KEYS FUNCTION
U Use this to import a section of a 320*200*256 .BMP, .PCX, or .GIF.
  Converting and Palatte
  • [END] - Grab the entire image, automatically
    sizes the tile to the image.
  • [ENTER] - Convert the image that is inside the
    rectangular selection window to the BUILD
    palette.
  • [SPACE] - Convert the image that is inside the
    rectangular selection window without
    changing the palette.
  • [O] - Place the mouse cursor anywhere in the texture you want to
    grab and press O. The texture must be drawn on a backdrop
    that uses the background color (255 - purple.) O will
    grab the texture or sprite in an optimal way with no extra
    border on any of the four sides.
  • [P] - When selecting the sections of the image you
    want to use, and you press [P], the palette
    of the current picture will become the
    palette used by BUILD.
Enter Convert the image that is inside the rectangular selection rectangle to the BUILD palette
Space Convert the image that is inside the rectangular selection rectangle without remapping the palette.
P If in the picture selecting screen (after pressing U and loading the picture), you press P, then the palette of BUILD can be replaced by the palette of the displayed picture.
END When importing this will import the entire image if the selection window is to small (if the tile your importing to is smaller than the image)
PGUP and PGDN Select tile to edit. While in [V] this will move the screen by one page.
G GOTO a tile by typing in the tile number.
S Re-size tile. The X and Y sizes can be any unsigned short integer.
X ranges from 0 to 1024, and Y ranges from 0 to 512.
Delete Short-cut key to set both the X and Y sizes to 0 deleting the tile.
+ and - Change the animation setting. (Default: NoAnm = 0.) To change the animation type, press [-] when the value is 0.
  Example: If you want an object to have 4 tiles of animation, you can animate it in 4 different sequences: (0 is the current tile)

NoAnm=4 sequence: 0,0,0,0,0,0,0,0,0,0,0,... (no animation)
Oscis=4 sequence: 0,1,2,3,2,1,0,1,2,3,2,... (oscillate)
AnmFD=4 sequence: 0,1,2,3,0,1,2,3,0,1,2,... (forwards)
AnmBK=4 sequence: 0,-1,-2,-3,0,-1,-2,-3,... (backwards)

A Set the animation speed of the tile. Press [+] and [-] to change the animation speed. There are 16 different animation speeds. The animation speed set here sets the speed in BUILD and in the GAME. (Speed is proportional to (totalclock>>animspeed))
` This key (located just above the TAB key) allows you to center a sprite. Simply use the arrow keys to get to the desired position.
N Name a tile. Naming a tile simply changes the #define statement in NAMES.H. You should include NAMES.H when compiling so you can easily refer to sprites by name rather than by number.
O Optimize the size of an individual piece of artwork. Use this for tiles with invisible pixels on the sides. [also moves the cursor to the center of the tile;this makes alignment easier--simply line up the alignment cross with the cursor]
V View and select a tile to edit.
  Swapping and Moving
  • [SPACE] - To swap 2 tiles simply press [SPACE] on the
    first tile, the press [SPACE] on the second.
  • [1,2,3] - To move a group of tiles to a new location in
    the current .ART file, press [1] on the first
    tile in the group, [2] on the last tile, and
    [3] at the place where you want to move the
    files.
  • [ALT+U] - Re-grab artwork from original pictures according to
    the CAPFIL.TXT script file. If you press ALT-U in the
    main screen, everything will be re-grabbed. If you
    press ALT-U in 'V' mode, then you should first select
    the range by pressing '1' and '2' on the range
    boundaries.
  • [ALT+R] - Generate a Tile frequency report by scanning all maps
    in the directory with EDITART. Use in 'V' mode only.
Space To swap 2 tiles simply press space bar on the first tile, then space bar on the second. 1,2,3 - To swap a group of tiles, press 1 on the first tile, press 2 to remember the region between where you pressed 1 and 2. Press 3 at the place to where you want to swap all the tiles.
ALT+U Re-grab artwork from original pictures according to the CAPFIL.TXT file. If you press ALT-U in the main screen, everything will be re-grabbed. If you press ALT-U in 'V' mode, then you should first select the range by pressing '1' and '2' on the range boundaries. Every PCX file gets put in tiles014
ALT+R Generate a Tile frequency report by scanning all maps in directory. Use in [V] mode only.
F12 Screen capture (saves image as a *.PCX file, starting as file name CAPTUR000.PCX and incrementing by 1 each time F12 is pressed. [also works with B key]
B Same function as [F12]
ESC Quit.
CTRL + [ Quit.
Extra features:
(if you actually want to do the artwork in EDITART or if you want to touch-up some imported art.)
C Change all pixels on the tile having the same color under the graphics cursor to the selected color.
Arrows / Mouse Moves the graphics cursor.
Shift + Arrows Changes current color. (select in the pallete on the bottom right corner of screen)
Shift + < or > Change the shade of the selected region.
Looks like it's remapping the colors on the palette. It looks like it might have been an attempt at an "alternate palette preview/conversion" but it doesn't follow Duke's alt palettes except that it vaguely maps to the more common alt palette colors (red, blue, nightvision green).
  Set the Range of effected area.
  • [1] to set the top left and use [2] to select the bottom right.

Different builds of editart have a different "default selection" range.   Duke Nukem Editart defaults to 32x16, Shadow Warrior editart defaults to 1 pixel, and a differant one that's 64x64

  Effecting More of the image.
  • You can set the range of the effected area by using [1] in the top left corner and [2] in the bottom right. This will affect the entire image rather than part of it.
Space Plots a pixel under the graphics cursor with the current color.
T Turn drawing trail on / off.  Move the mouse and it will leave a trail of pixels in the current drawing color.
  Trail Fill
  • Hold left Mouse button.
  • Move the graphic cursor around with the arrow keys.
Tab Select the color under the graphics cursor.
BACKSPACE Set the color to color 255 (transparent color).
F Floodfill a region with the current color and with the current color as a boundary.
M and P Use [M] to back up a tile into a temporary buffer in memory and [P] to restore it. It may be wise to press [M] before a floodfill [F] (because sometimes you miss encapsulating the region by 1 pixel, and the whole picture gets killed, etc...)
J Randomly plots dots of current color over any pixels having the same color as the color under the tile cursor. Random noise of the specified color.
KEYPAD  / Region Half Size
KEYPAD  * Region Double Size
[ Random antialias of colors in color band under graphics cursor. Stipple; Place the cursor over the color you want to stipple first.
] Non-random antialias of colors in color band under graphics cursor. Smooth; Place the cursor over the colour you want to smooth first.
; 3-Dimentionalize an image. Makes colors in different rows of the color bar either appear to stick out or stick in to the wall.
' 3-Dimentionalize the other way.
R Rotate the tile in a specified direction.
1 First Range. Mark the first corner of a rectangle for a copy/paste operation.
2 Secound Range. Mark the other corner of a rectangle for a copy/paste operation.
3 Paste the selected rectangle (Note: You must press 1 and 2 in that order first before pressing 3. Pretty simple 1-2-3 for copy & paste)
4 Flip the copied rectangular region x-wise.
5 Flip the copied rectangular region y-wise.
6 Swap the x and y coordinates of the copied rectangular region.
, and . Comma and Period, on the <> keys. Change the shade of the selected region.
\ Move the cursor to the center or the tile.
SHIFT + | Get the coordinates of the cursor.

 

Navigating and Saving Tiles

When you enter editart, you will see the first tile, a brown brick texture. Press the Page Down key to move down through the files and Page Up to move up through the list. Press V to see the the larger tile list. To select a tile from the larger tile list, select the tile using the arrow keys and press Enter. To exit the larger tile list without selecting a texture, press Escape. Once you have a tile selected, press B or F12 to save it as a *.pcx file. Tiles saved in this way will be numbered consecutively: Capt0000.pcx through Capt0256.pcx. Editart can only handle 256 image tiles per directory, after which it will refuse to save any more. Read the following to get a better understanding on how to Save Tiles to an external file (.pcx):

You can save pre-existing tiles to an external pcx file using editart.  First, find the tile you wish to save.  You can change tiles in three different ways.  First, you can press the pageup/pagedown keys to cycle through the tiles one at a time.  Secondly, if you know the exact tile number of the file you wish to view, press the G key.  This will bring up the goto prompt.

Type in the tile number and press Enter to immediately bring up that tile.  The third method allows you to enter a selection mode where you can see numerous tiles at once.  Press the V key.  Your screen will look similar to the following image:

A flashing box surrounds tile 0.  You can move this box around using the arrow keys, or scroll up or down rapidly with the pageup/pagedown keys.  Once you have selected your tile, press enter to return to the original view mode.

Now that you have selected a tile, you can save it to a 256-color pcx file, which can be read by most paint programs.  The first tile that you save will be named Capt0000.pcx.  Each subsequent tile will add 1 to the number at the end of the tilename.  Capt0001.pcx and Capt0002.pcx would be the next files saved, for example.  Press either the B or F12 key to save the tile.

Important: Editart will only allow you to have 256 compatible image files (bmp, pcx, or gif) in the directory.  If the number meets or exceeds 256, it will not allow you to save any more tiles until you’ve cleared some of them out of the Duke3D folder.  It will also refuse to display more than 256 tiles in the list of available images for importing.

Important: If you have trouble seeing tiles clearly in tile selection mode, you can use the / key on the numeric keypad to decrease the number of tiles displayed.  To increase the amount, press the * key on the numeric keypad.  There are three settings, the default setting being medium.

 

Creating Import-Ready Images

Before you begin trying to import images into Editart, you should know the various limitations on the file formats allowed by the program and how you can adjust your image to make it look its best. 

Dimensions.  If you’ve read through this guide from the beginning, you already know that the maximum tile size is 1024x512 (512 is the editart height limit) and that rotating sprites, wall-aligned sprites, and wall textures should not exceed 256 pixels in height due to a shading “bug” (or limitation, as I like to call it, as it was limited intentionally by the programmer to keep the frame rate high) Of course when full-bright colors are used you can make the textures larger since they don't shade at all. Like in a mushroom cloud explosion or something simliar. If you want to make big and large animals or creatures you should only use the 256 size and use the  sizeat primitive in the CON files to size the sprites larger. You should also have read that non-parallaxed floors and ceilings will be glitchy if their width and/or height meets or exceeds 512.  If you’re an experienced level creator, you’ve probably also noticed that graphics whose heights are powers of 2 (1, 2, 4, 6, 16, 32, 64, 128, 256, 512, or 1024) tile properly on walls, floors, and ceilings, while those with other height measurements cause glitches when they repeat on a wall or are skewed when applied to floors and ceilings.  Tile 3407 is one such example.  It’s dimensions are 128x127, leading to a slight seam and a particularly glaring “phantom pixel” (beneath the arrow that I’ve drawn in).  Its repeat seam isn’t visible in this low-resolution image, but you can test it out for yourself.  I certainly don’t have to draw arrows for you to see the skewing effect when this tile is applied to the floor.

Generally, a safe practice is to make wall, floor, and ceiling textures have dimensions that are powers of 2.  This allows these textues to be used safely on any surface or as any type of sprite.  However, wall textures and floor-aligned sprites can break this rule.  Wall textures will tile properly with any width, so long as their y dimension is a power of 2.  Floor aligned textures will also display correctly at any width as long as their height is a power of 2.  Rotating (default) and wall-aligned sprites can be any width and any height up to 256 (unless for some reason they will never be shaded, such as the explosion or fire actors; these could then safely reach the maximum height of 512). Sizes of 256 can look fuzzy and garbled once in the game. Odd dimensions tend to serve for special situations and purposes, normaly not used often.

Palette Conversion.  So now that you have the dimension limits down, you’ll have to worry about the palette.  While I provided a zip file with palettes and instructions for use, you may wish to know how to get the default palette yourself.  Simply save a tile in editart, then open the pcx file in your favorite paint program (unless your favorite paint program is as primitive as MS Paint, in which case you should download one of the suggested paint programs from the RTCM link page   "general-art-resources" Most paint programs have an option to save the palette of the current image.  If you cannot find this function, check your paint program’s help file.  Also check the RTCMs download page   "general-tools-editart"

Many paint programs won’t allow you to use all of their features if your image is in 256 color mode.  You may wish to increase the color depth to 24 bit and then load the Duke3D palette once you’ve finished editing.  If your image contains colors that simply cannot be matched properly in the Duke3D palette, you may be able to use a simple program called Texture Colorizer (available in the RTCM download section "general-tools-editart") to adjust your colors. Also see the RTCM page "editart-other-art-tools" for a tutorial on using this tool.

 

Special Palette Colors and Transparency Issues.

A common problem when converting images to the Duke3D palette, even if they appear to convert properly, is the existance of fullbright colors in the image. Fullbright colors are indexed as 240-254 in the palette, and are located in the last row of the palette when viewed in Editart and most paint programs.  These colors do not shade in-game—ever.  An example of fullbrights can be seen in the eyes of the Pigcop.  You can see during the game that his eyes never darken, no matter how dark the rest of the sprite appears.  Fullbrights can be useful for making permanently lit objects, but they can also be bothersome when converting images to the Duke3D palette.  The zip file of palettes  !!usurper do we have this file for downloadable anywhere?!!    I provided includes one that replaces the fullbrights with a single unique color similar in shade to the transparency color, making it easy to spot.  

Transparency is determined by the last color on the default palette.  This purple color happens to share the same properties as one of the fullbright colors; that is, it contains the same amount of red, green, and blue values.  <continued>

Best Quality Image

There is a few proper steps to obtain a less pixel looking image before importing. The idea is to draw your image at double the size of the import size. Then you would shrink this high-detailed image down to the import size, this will give a slight blur to the image will still retainning some of the higher details.

You may wish to make your import size also a higher-res than perhaps a tile your replacing, and then in the BUILD Editior scale it down to half of that. This gives you much better looking images once your playing the game. An imported 256 image rescaled to 128 while in BUILD will look better than the standard textures that are at 128x128 when imported. This method does use more resources but the quality may be worth it. If you prefer to save resources then skip resizing it in BUILD and down scale it twice in your paint program, or simply scale down to 256 and use that as the final size since its the best trade off for quality and size of file. Using 256 make require more editing of your image to help them tile correctly once in the game.

Heres an example of steps that could be used best for wall textures:

  1. Size your texture to perhaps 512x512
  2. Shrink to 256x256 to prepare it for import.
  3. Import the image to Editart.exe.
  4. When in the BUILD Editior, shrink it to half size.
  5. When using the CONs for special purposes you can resize from there. 

You can use filters instead of doing all this resizing, but I belive you'll be much happier with the results when you resize. Drawning and importing at 128 isn't realy doing anything special and won't enhance the visual quality.

Don't forget about the user made DukeRes program that can import 512x512 images if you want ultimate high-res.

File Types.

    .BMP These images need to be 320x200 to be imported. You can size your tile to 128x128, then try to import the 320x200 and just take a 128x128 chunk out of it. Really an inefficient method though when a gif works just as well.
    .GIF I've never had problems importing non-interlaced gifs of any size that have been adapted to the duke palette.
    .PCX No problems with pcx files that editart has saved itself.

 

Usurper’s Recommendations:
  • For standard walls, floors, and ceilings, make sure their dimensions are multiples of 2.
  • Rotating/wall-aligned sprites and wall textures should not exceed 256 pixels high due to a shading bug.
  • For sprites that are floor-aligned only, dimensions can be any multiple of 2 up to the maximum tile size.
  • Maximum floor dimensions should not exceed 256x256 pixels.
  • Save files that you intend to import in 8-bit, non-interlaced gif format.  Consult your paint program’s help file if you need to.
  • Load the Duke3D palette on your image prior to saving.
  • Use a modified palette to prevent your transparencies from being solid.


Importing Tiles

This section assumes you are aware of the following:

  • When importing images, it helps to have prepared them as described in the previous section.
  • Editart _can_ convert images to the current palette, but usually does not do as good a job as a proper paint program.
  • You won't need to do any preparation to import images that have been saved from editart and haven't been modified.

Find the tile you wish to import your image to. Normaly USER art is placed in the last two tile sets of duke3d at tile3584  Use the [G] goto function to get there or at the location of your choosing.

Now set the size of the tile to the dimensions of the image by pressing the S key. First type the width (x dimension) and press enter. Then do the same for height (y dimension). <image> The tile will then light up with the transparent pink color to indicate that it is ready to receive the new image.

Press U to begin importing. This will bring up a directory listing. Files that can be imported appear in white text, while folders and incompatible filetypes appear in yellow. Choose the file you wish to import and press enter. Select .. to move up to the parent folder and look for the image in another folder. Press [escape] to cancel.<image> If any of the following information happens to you, you may want to start over. Hit [escape] a couple of times until the blank tile turns off (turns black) it is nolonger ready for an image. You then could resize the tile to better match the new images size. Remember if when importing the selection window doesn't completely reach the edges of the new image you can press the [END] key to automaticaly select the entire image and the blank tile will automaticaly resize to the pictures edges.

You should see the image along with a flashing white box. The box represents the dimensions you set for the image. If the box is the size of or larger than the image, it will surround the edges of the image perfectly. <image> If the image is larger than the box, you will only be able to import a portion of the image. This can be useful at times. <image1 not so useful> <image2 useful>

If your tile has a height larger than 200, you may get smeared pixels in your tile. <image> The solution is to move the cursor to the top row of pixels prior to importing the image. The program imports the tile from the top row of the image, but apparently if that top row is off the screen, it takes the topmost row that is onscreen.

Sometimes, editart will cut tall images off at the 256 pixel mark.  This is most noticable when importing new sky textures.  Using editart's native copy and paste commands, you can get around this problem with a little extra work.

First, import the top half of your image.  Then find an empty tile and import the bottom half.  Now you must copy the bottom half of the image.  Move your cursor to the top-left corner and press 1.  This defines the top-left corner of the selection you wish to manipulate.  Move the cursor to the bottom right corner and press 2.  This defines the bottom-right corner of the selection you wish to manipulate.  Now press 3 to copy the selection.  This functions in a like manner to the Windows clipboard, save that the image is not stored in memory after you leave editart and is not available to other programs.  Now <continued>

 

Animating Tiles

Animating tiles in editart is fairly simple. Make sure you've imported the tiles you wish to animate into editart in order, then select the first frame of the animation.

There are three types of animation to choose from: animate forward, oscillation, and animate backward.

  • Animate forward runs the frames through in order from first to last, then starts over with the first frame again.(  0,1,2,3,Repeat 0,1,2,3,Repeat 0,1,2,... )
  • Animate backwards sets the animation to cycle through tiles behind (left of) the currently selected tile. Hence the negative numbers. ( 0,-1,-2,-3,0,-1,-2,-3,... ) This is where 0 is the tile you set the animation on. 
  • Oscillation starts with the first frame, runs through the frames until the last frame, then moves back to the first frame from the last (if there were 5 frames, it would read 1, 2, 3, 4, 5, 4, 3, 2, 1, 2, etc.).

Heres some steps to take assuming you want to animate forward or oscillate with 5 frames (I explain animate backward in a moment)

  1. Goto the first frame of the animation and press the minus [-] key. This will change the animation setting located in the lower right corner from  NoAnm  to  Oscil   to AnmFD  to  AnmBK. Continue to press [-] until you've selected   Oscil  or  AnmFD.
  2. Press the plus [+] key to set the number of frames beyound 0 to include in the animation. The [+] key changes the number next to the animation type in lower right corner, which indicates how many frames AFTER the first frame there are in the animation. If you have five frames of animation counting the first one, the animation number should be 4.
  3. Now press [A] to animate it. 
  4. Select [Y] to save it when prompted. The frames will then animate at max speed.
  5. Now use the [+] and [-] keys to increase or decrease the speed of the animation. There are 16 different speeds.
  6. When you have found the desired speed, press [Enter.] Save it when you exit or select another tile and your animation is complete.

And the reason I suspect  AnmBK  exists is in the case of something like fire, which uses repeating animation that'll look all right whether it is moving forward from frame 1 or backward from the last frame. You might want a fire actor that burns continually, and one that dies after a a few moments. While Duke3D handles fire by animating it from the cons, the concept for using the same frames for two simple actors could be useful.

 

Changing Weapon Art

A good Total Conversion always includes new weapons. Aside from editing the *.con files to change the strengths and functions of weapons, you'll want to change their appearance as well. (I'm referring to the weapons that Duke carries, rather than the ones he picks up) Keep in mind that the weapons frames have some quirks that make them more difficult to change than other tiles:

Alignment. Each weapon tile is set at a certain alignment in the tileset. For example, select a weapon frame and press the ~ or ` key (above the Tab key and next to the 1/! key). A white cross should appear in the center of the screen. You can move the image around with the mouse and arrow keys, using the cross as a way of judging how much you've changed the alignment of the tile. If you select the pistol sprite and move its alignment down, less of it will be visible in the game. Each weapon has a different alignment, and you'll likely have to play-test it a few times before getting your new weapon art aligned properly (assuming your not simply modifying the original frames). Note also that each successive frame must be aligned with the previous one, or the animation will be off.

Frame Limitations. Unfortunately, it seems that in most cases we are stuck using the same number of frames (or less) for each weapon (the exception being the RPG which has an extra unused frame; thanks goes to TerminX for showing me this). So if you want to replace duke's kick, you can only replace it with a two-frame image. Note that the mighty foot, while not animated within editart, is animated by the game in an oscillating fashion (1,2,1,2...). Some use the oscillating frames method, while others use the animate forward method (1,2,3,1,2,3...).

Overlap. Some weapons in Duke Nukem 3D use overlapping frames of animation when firing. A main frame designates the way the weapon looks when inactive, and subsequent frames alter only parts of the weapon when firing. My comrade Corv over at RTCM informs me that the purpose of this is to prevent slowdown in the game. If you replaced the whole image for each frame (of the RPG, for example), the game takes more time to process the info because it displays not only the current frame, but the first frame underneath it as well and it leads to a slower frame rate. So if you can change only parts of the weapon your game should run smoother.

Overlap also plays an important part in the Shrinker/Expander weapon, in which the crystal ammo animates at a different rate inside the weapon than the weapon does itself. The Shrinker/Expander has but 2 frames of animation, normal and firing, but its ammo runs through four frames of animation inside the weapon housing while pulsating in brightness. Keep in mind some of these quirks when editing the weapons.

 

Importing Enemies (and 3D sprites) into Editart

Importing enemies (or 3D sprites of any kind) demands a precise order of importation. Assuming your new enemy is 3D (having frames for side and back views of the enemy) then you'll have to place the frames in order not only of animation, but of sides. The first frame of each part of the enemies action (standing, walking, jumping, shooting, etc.) should be the frame that has the enemy facing you. The second frame should be the same pose, but facing more to the left of the screen. I've verified 4 kinds of 3D sprites in my tinkerings:

3-angles: I originally misreported this type. I'd verified that the cons accepted it as a value, but hadn't really tested it. This type uses 16 angles, but only 4 art tiles. The tiles are arranged in this order (where M means "mirrored" or "reversed") going clockwise from the front: 1M, 2M, 3M, 4M, 4, 3, 2, 1, 1M, 2M, 3M, 4M, 4, 3, 2, 1. Obviously this would only work on highly symetrical actors.

5-angles: angles range from front to left to back in 45 degree increments. Angles that face right are created by reversing the left-facing angles. Most enemies in the game use this

7-angles: smoother look, more realistic. I think this is the most realistic you can get. Angles range from front to left to back in 30 degree increments. I've tried using from 7-12 angles for homemade sprites, and other than 7, only the 8 frame method was recognized by the cons.

8-angles: the only way to get asymmetrical sprites. Angles range from front to left to back to right in 45 degree increments. If Duke's creators had used this on the first boss, for example, his gun wouldn't switch hands when you looked at him from his left side.

Alignment. Like weapon editing, enemy-importation sometimes requires adjusting the character's alignment. All images are centered automatically when imported, but sometimes this isn't always wanted. If you look at the Commander, you'll find he is not centered. By moving his alignment above the centerline, it gives the Commander the appearance of hovering, even if his sprite is Ctrl-PageDowned (moved to the lowest above-ground height in the sector--see Editart Keys section). It also seems that when an enemy shoots or spawns another sprite, the point of origin of the projectile or spawned sprite is the center-point (where the white cross's center is on the sprite in editart).

 

 Creating and importing new skies.

The first obstacle to overcome when importing skies is editart's tendency to resize images of heights greater than 256 down to 256 pixels high. For an explanation of how to get around this problem using editart, see section II.2: Importing tiles into editart. For information on other art programs that let you paste the image from the clipboard, circumventing this bug, see section IV: Other art programs.

Skies cannot be resized like other ceiling tiles. They follow a strict size and repeat order, and their total width always comes out to 1024. Unfortunately, Duke3d does not allow you to make skies from a single 1024 pixel-wide image. Nor will it accept skies that are 512 pixels wide. Since the sky tile must repeat and come out to 1024 pixels, its width should be a power of 2 up to 256 (1, 2, 4, 8, 16, 32, 64, 128, or 256). With sky heights, 400(ex: 512x400) is a common number among the default skies, and should work fine in all cases. (Though it may not appear to tile properly in build, it will work inside the game itself.)

Duke3d uses multiple frames for some of its skies. These "panoramic skies" are made up of several images of 128 pixels in width. Panoramic skies do not simply repeat in the order they appear in editart. Each panoramic sky has its own unique repeat pattern. You can make your own panoramic skies without having to replace the originals. You will have to mimic the repeat patterns of one of the original panoramic skies, however.

Clockwise, the sky patterns are:

LA Sky--1, 3, 4, 2, 3, 2, 4, 5.
Moonsky--1, 2, 1, 1, 3, 4, 1, 3.
Bigorbit--1, 2, 3, 4, 1, 1, 5, 1

You will no doubt realize the complexity of creating skies with these patterns. In LA Sky, tile 3 will need to tile seamlessly on the left with tiles 1 and 2, and on the right with tiles 4 and 2. Consequently, you may find it difficult to construct a detailed cloud formation or mountain scene while retaining a seamlessly interlocking pattern. Cityscapes should cause little trouble, however, as you need only place buildings along the edge of tiles that border each other. Using a "landmark" image in a couple tiles is another way to make interesting panoramic skies. For example, using Bigorbit, you can make an ocean and sky background (similar to tile 94's dusk sky image) for all of the images, then place an island on tiles 2, 3, and 4. Since these tiles are not repeated elsewhere, simply make sure the repeating ocean and sky pattern touch the left edge of tile 2 and the right edge of tile 4. You could add a sun or moon in tile 5 as well, as that image also does not repeat elsewhere.

In order to make the new sky image work properly in your maps, you must first finish constructing the map. Place the first tile of your panoramic sky on all the areas where you wish the panoramic sky to appear, and parallax them. Now add one final sector to the map. In this sector, place the image of the sky you based your sky-pattern off of (LA Sky, Bigorbit, or Moonsky) on the ceiling and parallax it. Save your map. The game will force all of your skies to behave in the same way as the sky in the last sector placed in the map.

 

Using Editart With Other 3D Games

One terrific feature of Duke Nukem 3D is that you can easily "borrow" art from other bitmap based 3D games, particularly build engine games but also some Doom engine games. In this way, Editart functions primarily as a texture browser, but in the cases of some build engine games that don't come with editing tools, you can use Duke's editart program to edit their art as well. However, we'll be looking at how editart can be used to easily obtain art from doom engine games.

 

 Wad2art.exe.

Wad2art.exe is a program found on the Duke CD-ROM. It is intended to convert the art files contained within the *.wad files for Doom I and II into a Tiles000.art file for viewing with editart. This program also works with the shareware versions of Heretic and Hexen, but crashes when trying to use it with the full versions. Also, don't bother trying it with Rise of the Triad's *.wad file, as it doesn't like that either.

You'll want to run Wad2art.exe in a separate new folder so you don't overwrite any files. Copy these files into that new folder:

editart.exe
wad2art.exe
tables.dat

 

Wad2art.exe will create the files Tiles000.art, palette.dat, and names.h when you run it.  To obtain the  tables.dat  file you will need to get the keykextract.exe program and extract it from the duke group file. The command line will look like this;   keykextract.exe duke3d.grp tables.dat

To run wad2art.exe, go to the command prompt. Select the folder you have placed the program in and type wad2art.exe C:\Game\Game.wad, where game is the directory the <game> is located in and <game.wad> is the game's main wad file. You could just copy the specific game's wad over to your new folder. In this case the command line looks like this;   wad2art.exe Game.wad

When the program finishes, run editart.exe. Once inside Editart, hit [V] and scroll down until you see where the beginning of the tiles start and hit enter. Then simply page through the tiles, saving the ones you want to CAPTUR000.PCX by pressing B or F12.

 

Importing and Exporting


This document explains how to transfer Tiles to .pcx then back into Tiles between BUILD Games.

One terrific feature of Duke Nukem 3D is that you can easily "borrow" art from other bitmap based 3D games, particularly build engine games. Editart functions primarily as a texture browser, but in the cases of some build engine games that don't come with editing tools, you can use Duke's editart program to edit their art as well.

Shadow Warrior and Blood tiles transfer to Dukes pallete flawlessly when tiles saved using Shadow Warrior's editart program. Powerslave there is some question of the blue background converting to the correct transparent pink. There are Build Engine games that don't come with their own graphics editors. Fortunately, some of these games have the *.art files, as well as the *.dat files, in their directories. Some known examples are Tekwar, Fate (demo), Nam, WW2GI, Paintbrawl, Witchaven, and Witchaven II.

To browse and save art tiles from their art files....

 

Importing and exporting .art tiles to .pcx then into .art tiles
  1. Extract the .art files from sw.grp or blood.rff or any of the games listed above.
  2. Extract the .dat files as well. palette.dat and tables.dat(if avaliable)
    Blood Note: You'll have to download Bloods bludpalette.zip and place it in the Blood Folder.
    This download is avalable in the RTCM download page;  blood-tools
  3. Now run SW editart.exe from SW folder.
    Blood Note: If your using Blood place the SW editart.exe in the blood folder, then run it.
    OTHER BUILD GAMES: Place the SW editart.exe in the games folder, then run it.
  4. Select the tile image you want to capture. Make note of the size of each tile since this is not saved.
    (You could first use DukeRes to make placeholder tiles to make it easier, see 'using DukeRes with placeholders' below.)
    Witchaven/TekWar Note:: Upon selecting a tile, if your seeing jibberish all over the screen then backup witchaven or tekwars tables.dat and copy duke's tables.dat over into the witchavens or tekwars directory to resolve this problem.
    OTHER BUILD GAMES: Copy Duke's tables.dat file into the games directory, but make sure
                                        you make a backup of the original first, as Duke's will overwrite it.
  5. Now to capture the image into a .pcx file, hit F12 or the B key in editart.exe ??when u convert to .pcx do you loose alignment values??  Use the page down key to advance to the next tile to make things easier.
  6. Once you have captured all your tiles you will find all the images (capt####.pcx) in the same folder as your editart is in.
    OTHER BUILD GAMES: Tiles saved from these games using editart will automatically be converted to the Duke palette when importing them into Duke's art tiles.
  7. Now Extract the .art files from duke3d.grp.
  8. Extract the .dat files as well. palette.dat and tables.dat(if avaliable)
  9. Copy Shadow Warriors editart.exe to your Duke3d folder.
    (SW editarts tile limit is higher. You'll then be able to use the extra atomic edition tiles properly) ??what are the extra tiles??
  10. Now run the newly copied editart.exe from within the Duke3d folder.
  11. Find a blank tile and hit S to size the tile correctly. Use the EXACT size of the originial tile that you captured. If you don't know what size the tile is, try 128x128, as it's a safe bet the tile will be that size or smaller. (You could first use DukeRes to make placeholder tiles to make it easier, see 'using DukeRes with placeholders' below.)
  12. Now hit the U key to begin importing the .pcx files.
  13. Goto your Shadow Warrior folder and select one of the .pcx files. Then hit enter.
  14. There should now be the image you selected with a glowing box around the edges. If you incorrectly sized the blank tile smaller than the file you're importing, then the glowing box may not go around the whole image. Escape out and resize it to a bigger size before importing.
  15. If the glowing box is around the entire image, hit enter. Editart will convert the image to the current palette, in this case Duke3Ds. If you use the Spacebar instead of Enter, it will import the image without remapping the palette, and the image will look like shit. However, this is how 3DR got the logo and Episode 1 animation sequences that use other palettes into the tiles without screwing them up.)??explain a bit more which pallete thos shit images use??

 

  1. 95% of the time you'll get a good conversion of SW->Duke art. Sometimes you'll get problems, for instance with the lava, where the Duke palette really doesn't have enough reds to convert it well. You might have better luck using that texture colorizer program in those cases. You can download this from our download section.
  2. OTHER BUILD GAMES: Note that you can use Duke's editart to change the art in these other games also since editart is 100% compatible when using the correct palette.
  3. See the RTCM document "editart-other-art-tools" for tools that can help you fix imported art and a simple way to make blank tile placeholders.
    See subjects "Texture Colorizer and DukeRes"

 

Other Programs

This page provides you with other tools that can help you use .art tiles and edit them. Some descriptions will include a tutorial for how to use that particular application in a manor that is benefitting.

Paint Shop Pro 7 | Neopaint | Wally | Texture Colorizer | Texture Colorizer Tutorials | DukeRes | DukeRes Tutorials | trueSpace |


Paint Shop Pro 7


 

System requirements:

Pentium processor
32 MB RAM
40 MB free hard drive space
256 color display at 800x600 resolution
Win 95/98/NT

Company: Jasc software
Download at: http://www.jasc.com

Restrictions: PSP Evaluation version usually ceases functioning after 60 days.

PSP is a 2D art program. It contains dozens of features for creating and modifying textures. The program is on I prefer version 6, but that evaluation version is no longer available it seems. See the Jasc homepage for more information.

 


Neopaint


 

System requirements:

DOS version: IBM PC, XT, AT, PS/1, PS/2, 286, 386, 486, Pentium™-based, or 100% compatible computer.
640K minimum RAM
Hard Disk

Windows version: Windows 95, 98, 2000, or NT4.x or higher
8.5 MB hard drive space

Company: Neosoft
Download at: http://www.neosoftware.com

Restrictions: Unless they've changed it recently, it seems that the shareware has no time limit.

Neopaint is a 2D art program. It's much more advanced than MSPaint, but not nearly as good as Paint Shop Pro 5+. It has a few tools such as 3d shapes that PSP lacks, as well as the ability to run many filters and special effects on 256 color images (whereas PSP requires you to increase color depth to 16 million colors for filters to work. I used to use the DOS version extensively prior to getting Paint Shop Pro and Wally.

 


Wally


 

System requirements:

Windows 9x
16 MB RAM (minimum I've tested it with)

Authors: Ty Matthews & Neal White III
Download at: http://www.telefragged.com/wally

Restrictions: none

Wally is a great art program/multi-program util, made primarily for quake engine games but featuring some art file support. It has decent drawing tools, a great random marble texture generator, and it lets you see what your art looks like tiled before you import it into your art files.

To use Wally with Duke3D, simply use the open file dialogue. You won't see art files under its supported file types, but trust me, it's available. You will be prompted to choose the desired palette (Duke3d, Shadow Warrior, or Redneck Rampage; Nam and WW2GI use the Duke3D palette). Unfortunately, custom palettes are not supported. The art file will open, allowing you to paste from the clipboard. For instance, if you have a bitmap file you wish to import, open it with Wally (or another program even) and click on the edit menu and select "copy" (or right click on the image and choose "copy" from there". Then find a spot in the art file and right click on it. You will be given the option to paste the image into the art file. Can't get much easier than that.

 


Texture Colorizer 1.0


 

System requirements:

Windows 9x

Company: Eldermage Entertainment
Download at: RTCM Knowledge Base
Restrictions: none

This program has saved several of my textures from the Recycling Bin. If you're paint programs aren't converting your art to the correct palette correctly, this utility lets you convert all or a part of an image to another palette, using only the colors you specify.

 

 

Using the Texture Colorizer to fix colors

If your image contains colors that simply cannot be matched properly in the Duke3D palette, you may be able to use a simple program called Texture Colorizer (available in the RTCM download section "general-tools-editart") to adjust your colors.

Texture Colorizer was developed by Jaimi McEntire at Eldermage Software. It allows you to select any number of colors from a 256-color palette and change all or part of an image's colors to only those colors you've selected. According to the program's readme.txt file, TC uses the luminance values (brightness) of the pixels to determine which of the selected colors to match it to.

The program works with bitmap files only (bmp), so you will need to convert the image you wish to modify. The palette is read from a second bitmap. For your convenience, I've prepared one for you <link>just put here the name of the download page, no link</link>, along with a sample image. The next section will guide you through "colorizing" the sample image.

Open Texture Colorizer. You'll see two windows. The blank gray window is the image window where your the file you wish to colorize will be opened. The other is the main window, and it houses the controls and the palette. Begin by clicking file/open palette (or click the get palette button) in the main window, then choosing your palette image (Duke3d.bmp if you're using the one I supplied). Click OK. Now open the image you wish to colorize (sample.bmp if you're using the one I supplied) by clicking file/open bitmap (or click the load bitmap button). You can increase the size of the image window by selecting a size from the dropdown box in the main window (1x, 2x, 4x, or 8x). Now let's assume we want to make the image green. Select the two rows of green shades from the palette using the left mouse button. You can either hold down the button and select adjacent colors to the first one you picked, or you can hold shift and click on each color. Try both to be sure you have the hang of it. Now you'll see three different colorizing tools in the main window, the brush, the box, and the image filler. Select the brush. You can change the size of the brush tip by clicking on one of the brush size boxes below the tool buttons. Left click on the image and, holding the left mouse button down, drag the tool along the image. Note the way the color changes. Now click the undo button. Select the box botton. The box tool lets you colorize rectangular sections of the bitmap. Click and hold the left mouse button on the image and drag the tool around the picture. Once you've seen how this tool works, click undo. Now click on the image fill button. This will convert the entire image instantly to the new colors. You can adjust how light or dark the colors are replaced by adjusting the slider-bar.

See the RTCM document "editart-export-import" for more info on special colors.

 

Using the Texture Colorizer to fix imported art

!!!its clear this area needs expanding!!!
!!!just so you remember , converting the sw to duke3d pal was flawless? do they share the same duke colors? nothing seem to changed or be lossed in converstion!!!

  1. What texture colorizer does is remap an image to certain colors that you
    select in a palette. So say SW and Duke's greens are way off, and the
    greens from one game keep getting converted as yellow in another.
  2. Load up the image, and then load another image that uses the target palette.
  3. Highlight all the green in the target palette, and either completely
    recolor or draw over the green sections to get them colored right.

 


DukeRes


 

System requirements:

Windows 9x

Author: Peter Gerber
Download at: RTCM Knowledge Base
Restrictions: none

This program allows you to open art files and, using the windows clipboard, cut and paste files from any paint program into the art files. Files up to 512x512 pixels are supported. Simply open the file in a paint program, select copy, the highlight a space in the art file you have opened in DukeRes. Then select edit and click on "paste". Simple. It also allows you to adjust alignment and set animations on art files, and can extract and modify (but not create new) group files.

 

Using DukeRes to setup placeholder tiles.

!!!this text needs rewritting, and placed perhaps in a more apropiate section of the document!!!

If you don't know anything about DukeRes, see usage, above.

  1. Basicly where just useing DukeRes to provide us with predefined tile sizes. We just simply place DukeRes in the Shadow Warrior or Blood folder and make a new .art file.
  2. We then copy each image we want to the new .art file. Don't worry about how the tiles colors look. !!!IM assuming here that DukeRES's palette function is fucked!!!
  3. Where only going after the x and y dimensions for ease of importing the fixed color tiles later. Return to step 3 of 'Importing .art images to another games .art file'

trueSpace 1.04


 

System requirements:

386 processor (486DX/Pentium recommended)
4 MB RAM (16 MB recommended)
VGA graphics
1024x768 resolution recommended (not required)

Company: Caligari
Download at: http://www.futurenet.com/pcplus/article.asp?ID=8556
Restrictions: none; registered version

TS is an early 3D modeling program. Though not as advanced as later versions, it is a very easy-to-use program (assuming you bother to read the directions) and is more than adequate for creating models for DN3D. It's main weakness is that, unlike later versions, there doesn't appear to be a subtract tool. A usable demo of tS5 (which expires in 30 days) is available at the Caligari homepage.

 


This document (except documentation from buildhlp.exe) is copyright 2001 Matthew S. Palmer