Creating custom ANM files

From EDukeWiki
Revision as of 05:12, 16 June 2014 by Daedolon (talk | contribs) (Full list of sounds played for each animation: Added the full sound list.)
Jump to navigation Jump to search

Duke Nukem 3D uses the DeluxePaint Animation format for displaying its cutscenes and logos. These are a sequence of ZSoft PCX images within the ANM file.

You can create your own ANM files, as well as extract the PCX files from an existing ANM file by using the ANIM2PCX tool.

Although ANM files are limited to a 8bit palette, you can have a custom one in every animation for higher image quality. Please note that the first color in the palette used is used as background color during blitting and filling of the screen. All resulted letterboxing will use this color as the background color. While the animation changes, it's also possible that you will see the screen filled with this color for a single game tick.

Unless each of the PCX images within the ANM file have the same palette, the palette of the first file will be used for the remainder of frames.Template:Citation needed

List of animations

These are all the animations that exist by default in Duke Nukem 3D (1.5) and their framerates.

# Name Framerate
1 cineov2 120/10
2 cineov3 120/10
3 RADLOGO 120/10
4 DUKETEAM 120/10
5 logo 120/9
6 vol41a 120/14
7 vol42a 120/18
8 vol4e1 120/10
9 vol43a 120/10
10 vol4e2 120/14
11 vol4e3 120/10

By default, the game looks for a file with the extension .ANM for each animation file, but with the addition of IVF support in EDuke32, you can also use the IVF container for custom animations.


Full list of sounds played for each animation

By replacing these sounds, you can customize your own animation files with new sound files. The frames they're played on are hard-coded, but listed here for ease of use.

cineov2
Frame Sounds
1 WIND_AMBIENCE
26 ENDSEQVOL2SND1
36 ENDSEQVOL2SND2
54 THUD
62 ENDSEQVOL2SND3
75 ENDSEQVOL2SND4
81 ENDSEQVOL2SND5
115 ENDSEQVOL2SND6
124 ENDSEQVOL2SND7
cineov3
Frame Sounds
1 WIND_REPEAT
98 DUKE_GRUNT
82+20 THUD, SQUISHED
104+20 ENDSEQVOL3SND3
114+20 ENDSEQVOL3SND2
158 PIPEBOMB_EXPLODE
logo
Frame Sounds
1 FLY_BY
19 PIPEBOMB_EXPLODE
vol41a
Frame Sounds
1 INTRO4_1
12 INTRO4_2
7 INTRO4_3
26 INTRO4_4


vol42a
Frame Sounds
1 INTRO4_B
12 SHORT_CIRCUIT
34 SHORT_CIRCUIT
18 INTRO4_5
vol4e1
Frame Sounds
3 DUKE_UNDERWATER
35 VOL4ENDSND1
vol43a
Frame Sounds
10 INTRO4_6
vol4e2
Frame Sounds
11 DUKE_UNDERWATER
20 VOL4ENDSND1
39 VOL4ENDSND2
50 FX_StopAllSounds();
vol4e3
Frame Sounds
1 BOSS4_DEADSPEECH
40 VOL4ENDSND1, DUKE_UNDERWATER
50 BIGBANG