Diablo II Animation Conversion Extended Tutorial

by Joel Falcou, Alkalund and Nefarius
for The Phrozen Keep

Chapter Three : Animation Conversion - Part One :

In the previous chapters you were told which tools are needed to work an animation conversion, introduced to the DCC file name conventions, and the concepts of animation directions, framecounts, and offsets. Now, it is time to actually start working with the tools previously mentioned, and convert your first monster animation.

This chapter will cover the process of converting a monster animation from an Infinity Engine Game, from the very beginning, using an example. Instructions will be presented in a step-by-step style, and zip files containing reference files for this example are provided. You can compare your work with these reference files, and see if everything was done properly.

3.1 Step One : Extracting the Original Animations :

The animation to be used in this example is the new green goblin from Icewind Dale II, a small but well designed creature (if you don't own Icewid Dale II, don't worry; use the files provided in the step1.zip that came with the tutorial). Later this new animation will be used to replace the Rat Man token in Diablo II.

Click to Enlarge.

 

First thing to be done is extract the goblin's animations from the Icewind Dale II game files. We'll use Infinity Explorer to accomplish this. Just so you don't waste much time looking for the files, they're located inside the ANMGobl.bif file, under the reference of MGO1***.

Click to Enlarge.

As we can see, the Goblin's animations are scattered through many subfolders inside the BIF file, organized much in the same way as D2's Token system discussed before. It isn't hard to figure MGOB1A1 stands for the goblin's attack 1 animation, MGOB1GH stands for the gethit animation, and so on for example.

Each animation mode is divided in two parts here; for example, MGOB1A1 and MGOB1A1E contain the attack1 animations of the goblin. The first contains directions number 5, 1, 6, 2, 7. The second contains directions number 3, 8, 4. In older Infinity Engine games directions 3, 8, and 4 are generally missing (as they were built in-game by mirroring directions 2, 6, and 1 respectively). In those cases, you will have to create the missing directions later, with the aid of a gif editor.

Now, use the navigation buttons to find out all the needed animations and extract them as Animated GIF files using the Extract Button. For each mode you'll extract, you must end up with 5 or 8 files, depending on how much directions are missing. To organize the process a little bit, here are some tips :

The following screenshot gives an idea of how things should be organized in the end of the process:

Click to Enlarge.


Some old Infinity Engine games store every animation with 16 directions. In order to use these animations in Diablo II, be sure to extract the correct 8 directions (usually, this is achieved by extracting only one of every two directions; a quick inspection should give you the idea).

Here is a zip file containing ALL the extracted GIF files of the IWD 2 Goblin, use it as reference from now on.

 

3.2 Step Two : Creating the Final GIF Files :

Before we continue, if you're worried about the fact this step-by-step chapter has only 2 steps, don't be. It is really that easy!

In the previous step, several animated GIF files were extracted from IWD2, each one corresponding to a direction of one of the animation modes of the Goblin. In this step, you will learn how to glue all the directions together and create the final GIF files for each of the animation modes, in a way they will be compatible with Diablo II.

Gamani GIF Movie Gear is the Software we will be using. Make sure you have explored this software for a little while, before we proceed. Check out the menus, the buttons and all that, as they will be mentioned during the explanation. Good? Ok then, let's begin with the attack1 animation of the goblin:

Open Gamani, go to the File menu, and select the Insert Frame(s) option (or press CTRL+I, which amounts to the same thing). Select your Goblin folder from the folder list. You should see then a list with all the GIF files you extracted in the previous step.

Now, select all GIFS from the attack1 mode, in order (click on a11.gif, hold the SHIFT key on the keyboard, and then click on a18.gif). You will see something like this:

Click to Enlarge.

 

Press the Open button. Gamani will create a new GIF animation, with all the frames from all the directions you specified, like this:

Click to Enlarge.

 

The animation may look ok, but it is far from perfection. There are some things we need to correct, such as the size of the frames, the background color, and remove the goblin's shadow (which isn't needed since Diablo II can create a shadow for the monster during the game).

The first thing to be done is Optimize the animation. Go to the Animation menu, and select the Optimize... option (or press CTRL+T on the keyboard, which is the same thing). The Optimize Animation window will appear. There are some important options to be selected here, namely

The following screenshot shows you what you should be seeing, and what options to select:

Click to Enlarge.

 

Press the OK button to apply the changes. Don't worry if the animation may look like it wasn't changed, the changes are not apparent at this point.

Next, we are going to change the background and the shadow color. Go to the Animation menu, and select the Properties... option (there is also a button for the animation properties, in case you noticed). Go to the Animation Tab, and click on the Edit button, as in the screenshot:

Click to Enlarge.

 

The Edit Palette window will appear. Now, the shadow's color needs to be selected. To do this, simply click on the shadow of the goblin image, or select the first color in the palette, as in the screenshot below:

Click to Enlarge.

 

The RGB fields of this color read 0,0,0 (pure black). You will now change them to 170,170,170, which is the background color Diablo II uses. Once you've done that, select the goblin's background color from the image (or select the last color in the palette), and also change its RGB values to 170,170,170. Once again, a screenshot to visualize the process:

Click to Enlarge.

 

Apply the changes with the OK button. Now, it is time to Unoptimize the animation, to make all the frames have the same size, and to merge the shadow with the background. Go to the Animation menu, and select the Unoptimize option. You will notice a change in the background color of the frames, like this:

Click to Enlarge.

 

We are almost done with the changes. For the finishing touch, go to the Animation menu, and select the Properties option. The Animation Properties window will appear, go to the Global Frame tab:

Click to Enlarge.

 

In the Animation box at the bottom, select Background Color as in the screenshot above. Click Ok to apply the changes. Congratulations, the goblin's attack1 final GIF is ready! Don't forget to save your work, as goblin_attack1.gif or something like that.

The other animation modes are left as an exercise to the reader. Remember that the monster needs a corpse animation, composed of 8 frames, 1 for each direction. In order to create a corpse animation for the goblin, simply use the last frame of each direction of its death animation (start a new animation, insert the frames from the death animation, and delete all frames but the last one from each direction). Easy isn't it?

When you have all the final GIFs done, you're ready to proceed to the next chapter; it will cover how to save the animations as .dcc files that Diablo II can use, and how to find the correct offsets for them.

Now head to the Next Section : Converting Animations - Part II.