Merging HERETIC's volcano into a Doom2 map

A tutorial for ZDoom or GZDoom

Kappes Buur
May 04, 2010

Games like HEXEN or HERETIC have some nifty resources, which can be used to great effect in your own maps. And thanks to the ZDOOM Wiki, the process of importing them is easy.

At this point I must give cudos to GEZ for his work filling the WIKI with all this useful information.


Q: It is great to know that HERETIC has such a nice lava item, but how does one get it into one's own level?

A: To show how it is done, I will use the volcano and lava eruptions from HERETIC.


The first thing to do is to open the IWAD from HERETIC, HERETIC.WAD, with a lump editor, such as Slade 3, XWE, or SLumpEd or Deepsea. Then scan through the sprites until the one is found which matches the lavapot.

And there it is.

The sprite name we want is VLCO. Copy the name, VLCO, open the ZDOOM Wiki and paste the name into the search box. Although the search function of the WIKI is rather limited, we are in luck.

From here on it's a follow the bread crumbs sort of affair:

This sprite is used by the actor Classes:Volcano.

Click on Classes:Volcano. The decorate definition pops up.

Now we know, that the sprite VLCO is an animation with the sprite sequence A to E. Also, this actor links to two other actors, A_VolcanoSet and A_VolcanoBlast.


Follow the links:

A_VolcanoSet just changes the timing. No further actors.

A_VolcanoBlast links to this text

Note the sound "world/volcano/shoot"
and the link to the actor definition VolcanoBlast.

Here we have another sound:
"world/volcano/blast"

and some more sprites:
VFBL A and XPL1 A to F

and a link to the actor A_VolcBallImpact.

The text for A_VolcBallImpact mentions that it spawns four VolcanoTBlast actors.
So, we'll check that one out as well.

And some more sprites:
VTFB A and B, and SFFI A to E.


Let's see what we have found out so far:

Decorate definitions
Classes:Volcano
Classes:VolcanoBlast
Classes:VolcanoTBlast

From these actors we found:

Sounds
world/volcano/shoot
world/volcano/blast

Sprites
VLCO
VFBL
XPL1
SFFI
VTFB

Well, the sprite names are straight forward.

However, the sounds do not give the actual name. For that we need to visit the Predefined Sounds page.

Searching for the above sounds we find out the names:
world/volcano/blast     lobhit
world/volcano/shoot    bstatk

lobhit and bstatk are the wavesound names in the heretic.iwad

All the resources are now found.

After copying the sprites and sounds, it is a trial and error affair to get the DECORATE text working properly.
The two entries action native A_VolcanoSet() and action native A_VolcanoBlast() result in an error.
So, they come out.

Adding the actors VolcanoBlast and VolcanoTBlast also result in an error.
So, they come out too, leaving only the actor Volcano.



If you have not used a lump editor before, then you must be aware of this rule:
------------------------------------------------------------------------
Never load anything into the map namespace, the lumps from MAPxx to BLOCKMAP, or, in case of a hexenformat map from MAPxx to BEHAVIOR.


With XWE:

Open HERETIC.WAD, highlight the sprites and sounds, and using Entry -> Save As save them to a folder on your harddrive.
Exit XWE.

Open your map and create two new markers: S_START and S_END.
Highlight S_START and using Entry -> Load bring the sprites into your map, so that they are between the S_ markers.
Load the sounds.

Make new entries called SNDINFO and DECORATE.

Close XWE to save your level.


With SlumpEd:


Open both, HERETIC.WAD and your level at the same time. Copy and paste all required resources, switching between tabs.

Save your level.



If you would like to have a look at the finished level, click here.

Kappes Buur
May 04, 2010