Using Heretic data - Doom Legacy Wiki

Using Heretic data

From Doom Legacy Wiki

Jump to: navigation, search
Editing Tutorials

This article provides information on extending Legacy editing using data from Heretic.

Important note: if you use any of the methods here, your file will no longer be compatible with Dehacked; it will load the file with errors and will remove all of the offending settings upon saving the .deh. You will need to open .deh files in notepad or a text editor of your choice, and write them by hand.

Contents

Data

Since you can now use the Heretic frames, things, sounds, codepointers and sprites in a Doom map with Legacy, the old limits have all but been removed for most purposes. You are still replacing existing frames rather than creating new ones, but you have more than twice as much stuff to replace. The following pages provide a reference for all the required Heretic data you might want to edit and use:

The best thing to do is get all the basic dehacked work done before making the .deh incompatible, since dehacked is faster to work with and helps you with setting the flags of an object and the general formatting.


Using the Heretic data

So, for example, if you wanted to make an exploding barrel use a different death sound than the default one but without replacing anything you could write a .deh with:

       Thing 31 (Barrel)
       Death sound = 114

Which, according to sounds.txt would refer to the sound GLDHIT - naturally, to avoid Legacy crashing, you would need a sound entry present in the wadfile with this name. Heretic sounds do not use the DS prefix.

Now say, we wanted to create a marine which acted like a monster, without replacing any enemies. First of all, we want to pick an object to replace - an important thing to note here, is that many Heretic items may have default MF2 flags. For instance, any object with MF2_FLOATBOB will float up and down all the time, like an item in Heretic. The way to counteract this and have control over these is by using a Bits2 field for the object in your .deh like this (use FLAGS.txt to figure out flags you want set for your object):

       Thing 24 (Marine)
       Bits = 67108870
       Bits2 = 0

We could pick any Heretic object and give it an ID/doomed number of 5010 and all other relevant data for a new monster. Then, for example, you could use the Golem frames (1582 - 1613) and change the sprites to the player sprite, and change the codepointers to shotguy/trooper/arachnotron/cyber or whatever, to mimic the player weapons. After that, you'd just place on object of type 5011 - or whatever you picked - in your level and you're ready to go.

Basically, the formatting and rules are exactly the same as normal dehacked editing, it's just that you'll be using bigger numbers.


Using the Heretic dynamic lights

To use Heretic dynamic lights in Doom/2, the sprite you want to cast light must use the following sprite names in the wad, and numbers in dehacked.

Excerpt from things.h:

       const FX03_L = 21;	//Shows up for sprite no. 224 in the .deh
       const FX17_L = 22;	//Shows up for sprite no. 204 in the .deh
       const FX00_L = 23;	//Shows up for sprite no. 210 in deh.
       const FX08_L = 24;	//220	etc
       const FX04_L = 25;	//219	etc  
       const FX02_L = 26;	//207	etc*etc
       const WTRH_L = 27;	//182	etc*FRACUNIT
       const SRTC_L = 28;	//171	etc*infinity
       const CHDL_L = 29;	//170
       const KFR1_L = 30;	//177

You can edit the dynamic lighting in FS with setcorona(xxxx_L, <attribute>, <value>); as long as you have the things.h included with this level pack present in your wad.

Source

How to extend Legacy editing using Heretic data by ToXiCFLUFF

Personal tools