Skip to content

Information for Mappers

Brad Harding edited this page Mar 14, 2024 · 6 revisions

Note

🚧 This page is under construction. If you'd like to contribute, please let me know.


DOOM Retro fully supports both DeHackEd and DeHackEd with BOOM extensions files, with either a .deh or .bex extension, but more commonly as a DEHACKED lump in a PWAD file.

DeHackEd support has been extended to allow for 2,910 additional states (numbered 1,089 to 3,999), 100 additional things (numbered 150 to 249), 100 additional sprites (numbered 145 to 244) and 200 additional sound effects (numbered 500 to 699, and named DSFRE000 to DSFRE199). These extensions have since been adopted by a number of other DOOM source ports under the moniker “DEHEXTRA”. Examples of these extensions being put to great use include SMOOTHED and Black Ops.

DOOM Retro also supports the following additional entries in Thing blocks:

Example
Gib health Defines the negative health below which this object enters the extreme death sequence after a single attack (i.e. no SSG shot). The default being less than the negative of the object's spawn health. Gib health = -90
Dropped item Specifies what item is dropped after the object's death.
Items include default ammo items like clip, shotgun or chaingun, but can be expanded to include something like soulsphere, barrel, or even shotgun guy.
Dropped item = cyberdemon
Pickup width The radius in which an object can be picked up from, without altering its actual width. Pickup width = 20
Projectile pass height Defines the height of the object for the purposes of allowing projectiles to pass through. Look to the example of a tall red torch, that has a Height = 68, but a Projectile pass height = 16, meaning that projectiles can pass over the torch. Height = 68
Projectile pass height = 16
Retro bits Can be set to one or more of the following flags:
TRANSLUCENT, TRANSLUCENT_REDONLY, TRANSLUCENT_GREENONLY, TRANSLUCENT_BLUEONLY, TRANSLUCENT_33, TRANSLUCENT_50, TRANSLUCENT_REDWHITEONLY, TRANSLUCENT_BLUE_25, FLOATBOB, PASSMOBJ, FOOTCLIP, NOLIQUIDBOB, CASTSHADOW, DONTMAP, CRUSHABLE, DECORATION and NOMIRROREDCORPSE

More detail about Retro bits below.
Retro bits = TRANSLUCENT_GREENONLY+FLOATBOB+DONTMAP
Fullbright Sets all the object's sprites to be full brightness, no matter the brightness of the surrounding sectors. Fullbright
Blood color Allows for a monster (or object with Retro bits including DECORATION) to have differently colored blood.

Currently available blood color values are as follows:
  • 0 = Red (normal)
  • 1 = Grey
  • 2 = Green
  • 3 = Blue
  • 4 = Yellow
  • 5 = Black
  • 6 = Purple
  • 7 = White
  • 8 = Orange
Blood color = 8
Shadow offset Adjusts the vertical offset of an added shadow set by an object. Shadow offset = 5
Name The name used in obituaries in the console, and as a parameter for the spawn and kill CCMDs. Name = Purple Cat



RETRO BITS

DOOM Retro has it's own Retro Bits flag that can be used in DEHACKED lumps.

Below are the new DOOM Retro specific flags that can be used:

Flag Default Flags
TRANSLUCENT Apply additive translucency. Mancubus Projectile, Revenant Projectile, Baron / Hell Knight Projectile, and Arch-vile Fire.
TRANSLUCENT_REDONLY Apply additive translucency on red only. LostSoul, TallRedFirestick, ShortRedFirestick, FloorLamp, Candlestick, BurningBarrel, and LightAmplificationVisor.
TRANSLUCENT_GREENONLY Apply additive translucency on green only. TallGreenFirestick, ShortGreenFirestick, and EvilEye.
TRANSLUCENT_BLUEONLY Apply additive translucency on blue only. TallBlueFirestick, ShortBlueFirestick, TallTechnoFloorLamp, and ShortTechnoFloorLamp.
TRANSLUCENT_33 Apply 33% alpha translucency. SoulSphere, Invulnerability, PartialInvisibility, MegaSphere, Revenant rocket smoke, and Bullet puffs.
TRANSLUCENT_50 Apply 50% alpha translucency. Smoke trails from rockets.
TRANSLUCENT_REDWHITEONLY Apply additive translucency on all red to white. No object uses this by default.
TRANSLUCENT_BLUE_25 Apply 33% alpha translucency on all blue. HealthBonus.
FLOATBOB Object bobs up and down (not relating to liquids). SoulSphere, Invulnerability, PartialInvisibility, RadiationShieldingSuit, and MegaSphere.
PASSMOBJ Object is allowed to pass over/under other objects. Cacodemon, LostSoul, PainElemental, and the Player.
FOOTCLIP Object's feet will be clipped in liquid. Basically every object that is on the floor and doesn't have FLOATBOB.
NOLIQUIDBOB Object won't bob in liquid. All land monsters, floor decorations, and the player. Weapons, ammo, and keys do NOT have this flag, and therefore bob in liquid.
CASTSHADOW Object casts a shadow. Most everything has a shadow cast by default, except decorations.
DONTMAP Object isn't displayed in automap. No object uses this by default.
CRUSHABLE Object can be crushed into blood splats by moving sectors. All monsters have this on by default.
DECORATION Object is a map decoration. If Blood color is also applied, the decoration will add blood under the decoration. All decorations (floor and hanging bodies).
NOMIRROREDCORPSE Prevents corpse of a monster to ever be mirrored, even when r_corpses_mirrored = 1. HeavyWeaponDude and Cyberdemon.
*Note that the use of Retro Bits flag will remove all existing default Retro Bits on objects.



DOOM Retro partially supports MAPINFO lumps. They need to be in the older format first introduced in Hexen, rather than the newer format used by the ZDoom family of source ports.

A Doom Retro specific RMAPINFO lump can also be used to include some entries specific to DOOM Retro’s features.

Each entry must begin with MAP xy|ExMy|MAPxy mapname and then one or more of the following:

allowmonstertelefrags This indicates that monsters can telefrag each other or the player on the level. Normally, monsters will never telefrag anything. This is typically used for MAP30 so that monsters from Spawn Cubes do not get stuck in each other. Note this allows for monsters to also be able to telefrag the player.
author string -
compat_corpsegibs or compat_vileghosts This allows an arch-vile or similar monster to resurrect corpses under a vertical door or crusher are changed into gibs, essentially turning them into ghost monsters (able to walk through walls and only be killed by splash damage).
compat_floormove Restores Doom's original buggy behavior of floor movement. This option undoes a Boom fix to floor movement logic. This option can be useful for Vanilla WADs that have maps that exploit this buggy behavior.
compat_light Restores Doom's original behavior of light level changes. Vanilla Doom would look at only the first tagged sector when changing all sectors with the same tag to the highest light level found in neighboring sectors.
compat_limitpain Restores Doom's original behavior preventing a pain elemental from spawning lost souls if there are already 21 in the level.
compat_nopassover Restores Doom's collision code treated all actors as infinitely tall, making it impossible to jump over or walk under any solid object.
compat_useblocking Restores Doom's original behavior of any special line blocking use actions. Many Vanilla WADs rely on this behavior.
liquid flatname Allows for a certain flat to have Liquid Bob effect, allowing for objects to be partially submerged and bob up and down, when on a sector with flatname.
music lumpname lumpname is the name of the music to play while the player is playing the level.
musicartist string Used to declare the song artist when the user has turned on s_randommusic
musictitle string Used to declare the song title when the user has turned on s_randommusic
next xy|ExMy|MAPxy|ENDGAMEC Defines which map or ending to proceed to after this map is completed after taking the normal exit. Special ENDGAME states are also supported. For more information, check out the next entry here.
nobrightmap texturename Removes the brightmap effect from texturename.
nograduallighting Disables the custom DOOM Retro slightly darker and dithered lighting for maps that do not look correct with this lighting.
nojump Disallows jumping in a map.
noliquid flatname Disables a default flat from using the Liquid Bob effect, allowing for objects to be partially submerged and bob up and down, when on a sector with flatname. Useful for PWADs that replace the default liquid flats with flats that are not liquid.
nomouselook or nofreelook Disables freelooking (mouselook) and vertical aiming of projectile weapons in a map.
par partime Partime is the number of seconds shown as the level's par in the intermission screen.
pistolstart Forces the player to start the map with a new game state. The default being 100 health, 0 armor, a pistol with 50 bullets. Different PWADs may have different new game states.
secretnext xy|ExMy|MAPxy Defines which map or ending to proceed to after this map is completed after taking the secret exit. Special ENDGAME states are also supported. For more information, check out the secretnext entry here.
sky1 texturename scrolldelta Specifies what sky should be used for the map, with texturename being the name of the texture to use for the sky, and scrolldelta (optional) being the rate at which the sky moves left or right (negative or positive number).
titlepatch patchname This is the name of a graphic to display on the intermission screen for this level (such as "CWILV00"). It should contain the name of the level. If this is omitted, the intermission screen will create a graphic using the map's nicename.



Clone this wiki locally