Version history

From 3DGE Wiki
Jump to: navigation, search

This page tracks the evolution of DOSDoom, EDGE, and finally 3DGE by listing the main features of each version. Binaries and Source will be listed if applicable. On the far right the version number will be listed again (the link will take you to the version page), which shows changelog history in more detail than is covered on this page, as well as the current team members of the time. Some entries on this page are lost forever (DOSDoom has the most, EDGE has the second most) so they will not have a page to link to them.

Note that DOSDoom's history is covered here

By year 1997 · 1998 · 1999 · 2000 · 2001 · 2004 · 2005 · 2006 · 2007 · 2008 · 2009 · 2010 · 2011 · 2013 · 2014 · 2015
DOSDoom 0.10 · 0.20 · 0.30 · 0.301 · 0.40 · 0.41 · 0.45 · 0.46 · 0.47 · 0.50 · 0.51 · 0.60 · 0.61 · 0.63 · 0.64 · 0.65 · 0.653
EDGE 1.16 · 1.17 · 1.18 · 1.19 · 1.20 · 1.21 · 1.22 · 1.23 · 1.24 · 1.25-WIP · 1.26 · 1.27 · 1.28 · 1.28A · 1.29 Beta #1 · 1.29 Beta #2 · 1.29RC1 · 1.29RC2 · 1.29RC3 · 1.29RC4 · 1.29RC5 · 1.29RC6 · 1.29 · 1.31-Alpha1 · 1.31-Beta1 · 1.31-Beta2 · 1.31-Beta2c · 1.31-RC1 · 1.31 · 1.32a · 1.32b · 1.32c · 1.34a-TEST · 1.34d-Hubby · 1.34-RC1c · 1.34 · 1.35rc1 · 1.35
3DGE (1.X) 1.35D · pre1.36 · 1.36A · 1.36B · 1.36C · 1.36D · 1.36E · 1.36F · 1.4A
Modern (2.x branch) 2.0.0 ·2.0.1 ·2.0.2 ·2.0.3 · 2.0.4 · 2.1.0-Test1 · Next version

Note: Starting with 2.0.0, the source code is no longer compiled in a 7Z, but offered through and hosted on Github.


0.10 (December 24)
Build | Source | v0.10
Initial release, based on Linux Doom. The version numbering follows from the Doom source code version numbering of 1.10.
  • Binaries are for DOS only.
  • Mouse, Keyboard, and Video drawing works.
  • Sound and Networking is not supported.
0.20 (December 27)
  • Sound Support
  • Network Support
  • Still no Music support
PDoom 0.1 (Based on DosDOOM 0.20)
  • Phill's Doom v0.1. based on v0.2 of a DOS port of LinuxDOOM
  • New Cheat codes, Improved Keyboard support, Improved collision detection


0.30 (Unknown)
  • Unknown what changes were made.
0.301 (January 4)
  • Hi-Color support
  • High Resolution Support
  • Music support via Allegro
0.40 (January 8)
  • Unknown what changes were made.
0.41 (January 11)
  • use wads from doom v1.9!!!!!!!!
  • networking should only be compatible with doom v1.9
  • played demos should be from doom v1.9
  • if you have an order video card without vesa2 linear frame buffer, you might be able to speed up doom by getting SDD at
  • On a slower machine, dosdoom is slower than the original doom.exe, while on a newer machine, dosdoom is faster than the original doom.exe
  • using double-buffering may improve speed significantly, but it also could slow things down.
  • to do networking, rename dosdoom.exe to doom2.exe and run dm.exe (dm.exe is DeathManager which comes with doom v1.9)
  • You could use CapLock to always run
  • i pumped up maxopenings, maxdrawsegs, maxvissprites, and max savegame size for u level designers out there :)
  • If the DOSDOOM environ var exists, dosdoom will look in that directory for default.cfg
  • 320x100 mode is available :)
  • new cheatcode: type hotaru to kill allmonsters
0.45 (January ??)
  • endgame crash is fixed (courtesy of Scott Campbell)
  • all new music code (no more temp files) - (courtesy of Kester Maddock)
  • pumped up MAXVISSPRITES (idea by Stephan Ferraro)
  • simple CD-Audio support
  • all new sound code (chainsaw bug is fixed!)
  • menuscreen, endscreens, menus, etc are now stretched to full screen
  • now lets you specify which wad on the command line
  • autodetection of ultimate doom, renaming wad is no longer necessary
  • 320x100 mode is now available :)
  • use -novert to turn off vertical mouse sensitivity, its for people used to +mlook
  • swapstereo is now the default, use -swapstereo to make it the way it was before
  • fixed the red damage screen in hicolor
  • some remaining sky problems have been fixed
  • If the DOSDOOM environ var exists, dosdoom will look in that directory for default.cfg
  • new cheatcode: type hotaru to kill all monsters
  • stupid win95 warning message was removed (the one that suggests msdos mode)
  • software wavetable has been added (see user notes)
  • some more miscellaneous bug fixes and optimizations
0.46 (January 27)
  • New music code (pitch bends and controllers fixed) Thanks to Kester Maddock
  • Networking works again! Thanks to John Cole
  • correct recognition of final doom (thanks to Scott Campbell)
  • New automap-overlay mode. Use -newhud to enable. Press tab to switch to it. (Thanks to Dave Pearson)
  • sprites-in-a-pwad bug is fixed (Thanks to Martin Howe)
  • weapon height fixed (Thanks to Bruce Lewis)
  • The win95 msdos-mode dialog box is back, since getting rid of it seems to slow down some computers significantly. Use -ilovebill to get rid of it, but you'd be better off making a .pif
  • pitch changes are drastically reduced
  • sky textures are now correct in ultimate doom
  • lost souls are now killed correctly with cheat
  • cd is now paused when game is paused
  • bunny scrollers shouldn't crash anymore
  • use -readmus to read music card from default.cfg instead of autodetecting
  • use -readsfx to read sfx card from default.cfg instead of autodetecting
  • shift-printscreen to take a screenshot at any time (normal-printscreen is usually captured by windozes, so i didn't use it)
0.47 (February 2)
Build | [Source is LOST] | v0.47
  • fixed problem with new mapmode - Thanks to John Cole
  • printscreen to take a screenshot was temporarily removed, cuz it was causing some problems. Just start dosdoom with -devparm and use F1 for screenshots.
  • the sprites-in-a-pwad bug fix was temporarily removed due to problems. Anyone who wants to try to fix the bugfix, look at w_wadfix.c
  • use -censored to censor quit messages
  • Due to confusion, -newhud parameter was renamed to -newmap
  • Yet another tweak to the weapon height
  • iddt cheat is fixed
  • fixed an allegro problem
  • fixed the pause key crashing the game problem
  • demo recording now stops correctly when to exit the game
  • Preliminary German support. Thanks to [email protected] for the translation. Note that right now, you need to edit the makefile and recompile to turn on the German support
0.50 (February 16)
Build | [Source is LOST] | v0.50
  • DeHackEd support (including most text messages!)
  • Translucency support (with switches -notrans and -lesstrans to go with it)
  • Heretic-style look up/down (with swithces -mlook -vspeed and -invertmouse to go with it) You can also use PgDn and PgUp to look up or down.
  • To add translucency to a thing, add 0x40000000 to Bits line of the Thing in a DeHackEd file
  • command-line language selection (try -french or -german or -turkish)
  • use -newnmrespawn to make monsters in Nightmare respawn in place (this looks a lot cooler than the old way) Thanks to Andy Baker
  • use -lessaccurate to stop monsters from being 100% accurate. (Thanks to Andy Baker)
  • use -rotatemap to make the map view rotate (Thanks to Scott Warner)
  • Midi support in wads (just store a .mid file directory into wad) (Thanks to Kester Maddock)
  • sprites-in-a-pwad bugfix is back (Thanks to Martin Howe)
  • Turkish translation by Sukru
  • the exit screen is back
  • final doom exit messages are now correctly displayed
  • It'll automatically load the response file dosdoom.cmd if it exists
  • A RHIDE project file is now included
  • Before trying to compile this version, read the new programming note
  • support for sound freq!=11025hz
  • other misc bugfixes and code cleanup
0.51 (February 25)
  • 8 player support (curtesy of John Cole ([email protected]) (player 5-8 starts are things 4001-4004). You need a new ipxsetup.exe for 8 players
  • improved DeHackEd support
  • enhanced german support, now with 2 translations! (-german1 and -german2) (Thanks to TwoFace and Omega9)
  • swedish support (thanks to Fredrik Ehnbom)
  • in autorun mode, you can press shift to temporarily walk again
  • crash with -devparm should be fixed
  • use -itemrespawn for, well, item respawning (thanks to Andy Baker)
  • press home to center view (thanks to Dave Pearson)
  • stubediting cc1.exe should no longer be necessary
  • sprites-in-pwad temporarily removed
0.60 (Unknown)
  • New Options menu (rewritten from scratch)
  • everything in the options menu now gets saved in default.cfg
  • keys for 180deg turns, jumping
  • user-definable gravity
  • shoot up/down (z-checking thanks to Kilbert)
  • new cheat code 'showinfo', which will show fps/time/position/kills/etc in single player and fps/time in multiplayer
  • 'showinfo', 'cdnext', 'cdprev', and 'idmus??' are allowed in deathmatch
  • added 25%, 50%, and 75% translucency.
  • added total war, random infighting, human madness, human explosions, and new enemy ai (Thanks to Andy Baker)
  • added -nosound to turn off sound
  • added -stretchsky to vertically stretch the sky for mlooking
  • Removed -ilovebill parameter from list (it is obsolete now)
  • shift-printscreen for a screenshot at any time is back
  • dutch support curtesy of Arno Slagboom ([email protected])
  • spanish support curtesy of Abel Hernandez Zanatta ([email protected])
  • updated swedish support (thanks to Fredrik Ehnbom)
  • updated german2 translation (Thanks to Omega9)
  • Translucent fireballs, etc are now turned off by default. Use -fulltrans to enable
  • Explosions are translucent with -fulltrans (thanks to Kilbert)
  • Translucency table calculation is sped up (thanks to Erik Sandberg)
  • idfa and idkfa now give the backpack
  • fixed WIBP5 not found problem
  • put sprites-in-a-pwad fix back in (see readme.sprites for more details) (Thanks to Martin Howe)
  • keypress crash is fixed
  • added port numbers to linux tcp/ip network play (ie:
  • changed directory structure of source to allow for >1 platform support
0.61 (March 16)
Build | [Source is LOST] | v0.61
  • linux support
  • did a lot of much-needed bug-fixing
  • added -gwaddir parameter to set location of doom wad(thanks to Martin Howe)
0.63 (Unknown)
  • Chi Hoang leaves the port after this release.
  • DOSDoom Team takes over.
  • It is unknown what happened at this point, without the source code or the bin. A changelog does not exist.
0.64 (June 1)
Build | Source | v0.64
  • RTS :* Radius Scripting (player goes within a radius causes an event :* check this out!) Scripting for new levels or existing ones (see radius.htm).
  • added needed wads to source dist
  • added some troubleshooting notes to the end of the user notes
  • sky fixed in all resolutions. Thanks to Matthew J Legowski <[email protected]>
  • Updated Dutch support. Thanks to Arno Slagboom ([email protected])
  • Many linux improvements contributed by Eduardo Casino:* Almao ([email protected])
  • New music and sound code: Support for MUS, MOD and MP3 music files (see music.htm).
  • CD Atmosphere support
  • MOD and S3M support based on JGMOD.
  • MP3 support based on dosamp based on amp: 0.7.5 by Tomislav Uzelac. dosamp is by Ove Kaaven. amp:* 0.7.5 is by Tomislav Uzelac
  • Missile Teleportation off/on/silent
  • Player Teleportation Speed normal/quick/quickest
  • Fixed the crosshair so it re-adjusts when full screen.
  • Pulsating crosshair.
  • Extended network setup packet, sends all the information from the gameplay menu to all other machines so there are no consistency errors.
  • Fixed the demo's so they play properly again, (AdvancedAI was using P_Random, so the demo's were getting the wrong numbers). There is now a J_Random function which should be used for random numbers for addons to stop this from re-occuring.
  • disabled the gameplay menu also while in a netgame (you can undo that if you wish, but I personally think it's better to reduce consistency errors).
  • Options menu reorganised and graphical titles used
  • new deadly former humans setting (spider demon is also a nightmare here)
  • new startup sequence
  • monster respawn setting in the menu
  • monster infighting setting in the menu
  • graphical titles for menu
  • cd audio volume in the menu
  • code clean up (rationalising etc)
  • updated german support (Thanks to TwoFace)
  • new cheat codes:
  • 'idgive1' :* gives chainsaw.
  • 'idgive2' :* gives shotgun + full ammo.
  • 'idgive3' :* gives double:* barrel shotgun + full ammo.
  • 'idgive4' :* gives chaingun + full ammo.
  • 'idgive5' :* gives missile launcher + full ammo.
  • 'idgive6' :* gives plasma rifle + full ammo.
  • 'idgive7' :* gives BFG + full ammo.
  • 'idunlock' :* gives all the keys.
  • 'idloaded' :* gives all the ammo.
  • 'idsuicide' :* suicide.
  • 'idtakeall' :* takes all stuff away.
  • 'idinfo' :* replaces 'showinfo'.
  • 'idkillall' :* replaces 'hotaru'.
  • 'idinfo' gives numerical x,y coordinates for scripting
  • menu uses coloured text (configurable)
  • Spectres can be setup as Visible/Partly Visible/Translucent/Stealth
  • Lost Soul can be setup as Visible/Partly Visible/Translucent/Stealth
  • dehacked support REMOVED temporarily
  • new ENEMY AI REMOVED temporarily
  • human madness and human explodings REMOVED.
0.65 (June 1)
Build is LOST | Source}} | v0.65
  • DDF was introduced with this version!
  • The team referred to 0.65 and 0.653 as the same version, even though the source code is different.


0.653 (April 10)
Build | Source | v0.653
  • Binaries and source. Not sure where the confusion was in the last 3 versions, though this one is significant. Everything from the last 3 combined into one.
  • First widespread release and use of DDF and RTS.
  • Last version of DOSDoom before the port changed its name to EDGE.
1.16 (December 23)
Internal Version, never released | 1.16
  • First version of EDGE publicly known.
  • More information in the Changelog link.


1.17 (January 17)
Internal Version, never released | 1.17
  • More information in the Changelog link.
1.18 (February 28)
Internal Version, never released | 1.18
  • More information in the Changelog link.
1.19 (March 8)
Internal Version, never released
  • Able to accelerate the text stage of the final final.
  • Able to have no weapon at all, you just run around with nothing in front of you.
  • Flats drawn in OpenGL version :).
  • SPIT_SPOT= field for things.ddf, which defines the thing type where the SHOOT_TO_SPOT attack shoots to (for the MAP30 brain shooter).
  • Problem with ammo icons in the status bar fixed.
  • Problems with weapons (especially second attacks) fixed.
  • Player weapons are drawn with correct colourmap when underwater.
  • TrueBSP sprites now work a lot better.
  • TrueBSP will now ignore walls with "-" texture (no more AASHITTY)
  • Fixed bugs in the TrueBSP polygoniser (no more AdjacentSeg errors)
  • Berserk red-ness is better (not sure if 100%)
  • Bug with final cast screen and Pain Elemental fixed.
  • Numerous fixes for non-truebsp extrafloor rendering.
  • Fixed the problem with spawners not spawning (e.g. Pain Elemental).
  • Fixed problem with Imps (etc) failing to shoot fireballs.
  • Fixed the white-text-showing-up-as-red problem.
  • NoClip cheat no longer sinks down when running up stairs.
  • Plasma balls (etc) no longer hit monsters strangely above them.
  • removed NO_BRIGHT special in colmap.ddf.
  • removed LUMPEXISTS in lines.ddf and sectors.ddf.
  • removed LINK field in sounds.ddf.
  • COLOURMAP= and COLOURMAPLUMP= in lines.ddf and sectors.ddf are gone (use USE_COLOURMAP=[colmap-name] instead).
  • All weapon code pointers lost their "WEAPON_" prefix.
  • WEAPON_SPAWN() code pointer has become EJECT().
  • EJECT_ATTACK= in weapons.ddf sets default attack for EJECT func.
  • The:* andymagic cmdline option is currently broken.
  • The [] headers in lines.ddf, sectors.ddf and playlist.ddf no longer need the colon `:', just the number, e.g. [123].
  • States in attacks.ddf, things.ddf and weapons.ddf have changed. Instead of SPAWN_STATES=XXX, the new syntax is STATES(SPAWN)=XXX. Thus "CHASING_STATES" becomes "STATES(CHASE)", PAINSTATES becomes STATES(PAIN), UPSTATE in weapons.ddf becomes STATES(UP), etc...
  • Extrafloors have changed. There are now three types: THICK, THIN, and LIQUID. The first two are solid, and cannot exist anywhere else that is also solid. LIQUID is just that, non-solid and can exist anywhere (e.g. below the real sectors floor).
  • In keeping with that, the "FALL_THROUGH" special was removed, now you can only fall through LIQUID types (unless WATERWALKER comes into play).
  • The LDF file was renamed from "default.ldf" to "language.ldf", and the [DEFAULT] entry was renamed to [ENGLISH].
  • The DDF file "mission.ddf" was renamed to "games.ddf".
  • The DDF lump DDFMOBJ has been renamed to DDFTHING, and support for the other names (DDFCNRY, DDFCRTR and DDFITEM) have been removed.
  • All DDF files and lumps now need a "tag" near the top, before any entries beginning with []. This tag determines the type of the entries. For now, the tag must coincide with the filename.
  • New benefit/backpack system. See the DDF docs for the full details, but in summary: the old fields (BENEFIT_TYPE, BENEFIT_AMOUNT, BENEFIT_LIMIT, BACKPACK_XXXX) have been replaced by a single field "PICKUP_BENEFIT" which contains a comma separated list of benefits to give to the player.
  • There are now four levels of armour: GREEN, BLUE, YELLOW and RED (from weakest to strongest). Green saves 33% of damage, as before, Blue saves 50% of damage, no change there either. The new ones well I need feedback on what their semantics should be. For now it is this: Yellow saves 75% of damage, and Red saves 90% of damage.
  • The format of the GIVEARMOUR RTS primitive has changed, it is now: GIVEARMOUR [type] [amount] or GIVEARMOUR [type] [amount] [limit]. The [type] is one of GREEN, BLUE, YELLOW or RED. The limit is now optional, it defaults to 200 when absent.
  • For the HEALPLAYERS RTS primitive, like above the [limit] is optional and defaults to 200 health points. BTW, let me know if 100 would be a better default limit.
  • The SECTORV primitive in RTS has changed, but only when used on ceilings. The old way would subtract the value from the ceiling height. The new way adds the value to the ceiling height, it is now consistent with floors.
  • The initial ammo and ammo-limits for players is not longer fixed, the new method works just like the PICKUP_BENEFIT field, like this: INITIAL_BENEFIT = [benefit] , [benefit] , ... ; You can give ammo and set ammo limits this way (used in things.ddf for the player things), but it is not limited to just ammo stuff (e.g. keys, powerups, more health/armour could be given too).
  • The initial weapon of a player is no longer hard-coded to "PISTOL". It will be the weapon with FREE=TRUE in weapons.ddf, and which has the highest priority. If there are no free weapons, you begin the game with no weapon at all.
  • The PALETTE_REMAP field of things.ddf has changed, it is no longer a number, now it is a colourmap name within colmap.ddf.
  • The VOLUME= field in sounds.ddf used to only be used with the now-defunct LINK feature. But now VOLUME= controls how much softer than normal the sound is played. 255 is normal value, 128 is half as quiet, and 1 would be barely audible. Values greater than 255 will make the sound louder than normal, but only upto a point. (Totally untested, no sound support in Linux yet).
  • In lines.ddf and ceilings.ddf, the fields that begin with "FLOOR_" and "CEILING_" (e.g. FLOOR_TYPE) now must begin with "FLOOR." and "CEILING." (e.g. FLOOR.TYPE). The dot is a separator, for example "FLOOR.TYPE" means the field `FLOOR' and the _subfield_ `TYPE'. It's hard to explain, the main benefit is to make our code smaller and more robust.
  • In levels.ddf, the fields that begin with "END" or "PRE" (e.g. PRETEXT) now have a dot after the END/PRE (e.g. PRE.TEXT). Same reason as above.
  • Default RTS scripts are now in the `edge.scr' file in the same directory as the DDF files. (i.e. no longer in edge.wad).
1.20 (March 21)
Internal Version, never released
  • when you teleport, your MLOOK angle is set to the MLOOK angle of the teleport thing (mapnumber 14). Just for kicks.
  • wall textures, sky, sprites and player's weapon now drawn in OpenGL renderer. More or less anyway, still lots to do.
  • something for you Covert Ops dudes: zooming can now be limited to certain weapons, i.e. unusable unless that weapon is being held in front of you, also each weapon can have a different zoom factor. Firstly, there is a new levels.ddf special LIMIT_ZOOM, which means that zooming will only work when the player is holding a weapon with zoom capability. When LIMIT_ZOOM is absent, zooming will work as normal (i.e. anytime, anywhere). Secondly, there is a new weapons.ddf field ZOOM_FOV which marks the weapon as having zoom capability. The value is the "Field Of View" angle, e.g. 10 is the same as normal zooming. The range is from 5 to 90, smaller angles give greater magnification.- the RTS parse problem with tics (e.g. 1T) should be fixed.
  • the RTS SLEEP primitive was broken but is fixed now.
  • improved RTS error messages.
  • fixed tips where the delay was 35 times longer than it should be.
  • the problem with ENDOOM _may_ be better (untested by me).
  • for SHADOW things, the modulation never stops.
  • the "bouncy bouncy" bug with the noclip cheat is fixed.
  • you don't climb over dying monsters now (they lose CLIMBABLE tag).
  • intermission cameras cannot see players now.
  • no longers stays in zoom mode when you die.
  • killing yourself no longer gives you a frag.
  • the WHOLE_REGION sector special was broken, fixed now.
  • bug with weapons changing when you pick up ammo fixed.
  • shadow, translated & translucent sprites now drawn in TrueBSP mode.
  • fixed y offsets for mid-masked textures in TrueBSP mode.
  • textures no longer slosh about horizontally in TrueBSP mode.
  • bug in OpenGL renderer not drawing certain uppers/lowers fixed.
  • the b.c. MAPNUMBER= field of things.ddf and TRIGGER= field of lines.ddf and sectors.ddf have been removed.
  • the ACCURACY field of attacks.ddf has changed, it has been replaced with ACCURACY_ANGLE (the horizontal accuracy) and ACCURACY_SLOPE (for the vertical accuracy). They are both angle values. 0 would mean perfect accuracy, 45 would be woeful accuracy.
  • TAGGED_INDEPENDANT in RTS no longer accepted:* - spell it right.
  • Chance values have changed, they now need a percentage value from 0 to 100 percent _and_ a trailing `%' sign. Converting is easy: grab a calculator and divide by 2.55. The stuff affected: attacks.ddf: NO_TRACE_CHANCE, KEEP_FIRING_CHANCE. things.ddf: PAINCHANCE, MINATTACK_CHANCE. rts scripts: JUMP.
  • the semantics for X/Y offsets for the sides of extrafloors has been nailed down: the X offset comes from the "real" line and the Y offset comes from the "dummy" line. The y offset on the real line and the x offset on the dummy line are ignored.
1.21 (March 28)
Internal Version, never released
  • the linux port now has music code, mostly complete.
  • the linux port now has sound code:* - preliminary though.
  • VISCOSITY field can now be used in lines.ddf. It works like the GRAVITY and FRICTION fields that were already available: transfers the new viscosity into the tagged sector.
  • the infamous DJGPP free() crash.
  • textures lacking some texture columns no longer crash the engine.
  • an 'invalid x87 operation' bug caused by uninitialised mem.
  • problems with liquids eating other floors (etc) when moving fixed.
  • DDF/RTS errors now show the contents of the line.
  • textures getting out of sync on switches pressed quickly fixed.
  • starting the game with no weapons now works again.
  • the bug causing missing mid-masked textures in non-Truebsp fixed.
  • alignment of mid-masked textures should be OK in all renderers.
  • GL code now draws non-power-of-2 textures and mid-masked textures.
  • fixed keyboard handling in linux/GL code.
  • fixed textures inadvertently turning odd colours in GL renderer.
  • disappearing walls (at edge of screen) in the GL renderer fixed.
  • issues with translucency in the GL code fixed.
  • SHADOW sprites now supported by the GL code (different though).
  • most problems with MLOOK in the GL code have been rectified.
  • the VOLUME field of sounds.ddf now uses a percentage.
  • the GRAVITY field of sectors.ddf and lines.ddf now accepts floating point values (like 0.5). The values may be different too, I'm not sure what the old value for "normal" gravity was, but the new value for normal gravity is 8.0 (or just 8 if you prefer).
  • ACCURACY_ANGLE and ACCURACY_SLOPE are a bit different, now they are the absolute maximum error that can occur.
  • EXTRAFLOOR has changed, and should be considered a moving target since I'm not 100% sure yet how it ought to be, but what it changed to will be pretty close. The EXTRAFLOOR and EXTRAFLOOR_SPECIAL fields of lines.ddf have been merged into one new field: EXTRAFLOOR_TYPE=.
1.22 (March 28)
Source | v1.22
  • This release is "new" courtesy of Andrew Apted via the EDGE sourceforge website.
  • the sprites disappearing on MAP26/MAP28/etc bug fixed.
  • problem with mid-masked textures in QDOOM MAP01 fixed.
  • skill 1/5 no longers gives you twice as much initial ammo.
  • disappearing missiles when shooting right into a wall fixed.
  • shooting missiles right into a wall: you now thrust in right dir.
  • sprites in QDOOM should be visible in GL renderer now.
  • most transparent doors should work properly now in TrueBSP & GL.
1.23 (March 28)
Source | v1.23
  • problem with finding IWADs under Win32 fixed.
  • the -lang option now works again.
  • the not-playing-OOF-sound bug has been fixed.
  • fixed some problems with singular sounds cutting out.
  • projectile attacks no longer crash if there's no target.
  • fixed bugs with the RSCRIPT lump (loaded too early, etc).
  • TrueBSP and GL now ignore missing textures on one-sided walls.
  • the VFI span and column drawers were improved.
  • new option in the standard control menu: `Toggle Autorun', defaulting to the capslock key.
  • new option in the main menu: `Language'. The language can be changed on-the-fly, though not everything has been LDF-ified yet.
  • scrolling flats. The following entries in sectors.ddf do the trick: FLOOR.SCROLL_ANGLE=[num]; // 0 is east, 90 is north, etc.. FLOOR.SCROLL_SPEED=[num]; // 32 is one pixel per tic CEILING.SCROLL_ANGLE=[num]; CEILING.SCROLL_SPEED=[num]; Note that they also work for extrafloors (when used in the dummy sector).
  • pushing sectors. Looks like this in sectors.ddf: PUSH_ANGLE=[num]; // 0 is east, 90 is north, etc.. PUSH_SPEED=[num]; // 0 is none, 50 is quite fast PUSH_ZSPEED=[num]; // 0 is normal, positive is upwards only objects inside the sector are affected. The following sector specials come into play (the last two are new) :
  • WHOLE_REGION the push occurs no matter where you are. When absent, the push only occurs when you are touching the floor.
  • PUSH_CONSTANT the push is a constant amount. Good for conveyor belts. When absent, the push is like a force and things with more MASS will move slower.
  • PUSH_ALL all things are pushed. When absent, certain things are not affected, in particular ones with the NOGRAVITY tag (though the exact criteria is subject to change).
  • A new sounds.ddf entry "MAX_DISTANCE=###", which means that this sound will never be played if the listener is further away than the given distance. Note that this entry doesn't affect the normal attenuation.
  • Another new sounds.ddf entry "PRECIOUS=TRUE", which means that instead of chopping off this sound with a new sound with the same singularity (or same priority, if all the channels are full), this sound should keep playing and the new sound is ignored. Not terribly useful, but provided for completeness.
1.24 (June 18)
Build | Source | v1.24
  • many math bugs (like div-by-zero) fixed.
  • fixed a sound bug: Priority should now work better.
  • certain RTS error messages were improved.
  • some extrafloor bugs (include x-offset problem) fixed.
  • problems with monsters/items not being counted in stats fixed.
  • missiles no longer disappear underneath certain extrafloors.
  • PLAYER_SCREAM action fixes player death sounds.
  • items dropped by monsters no longer appear under extrafloors.
  • the shotgun's shot now looks more like a horizontal line.
  • aspect and zooming now work in the GL renderer.
  • the GL screen can now be shrunk down.
  • the RTS primitive EXTEND_MAP was removed.
  • beginnings of a new bot system. Bots are considered to be "simulated players". Activating 4 bots is done like this: edge:* players 5:* bots 4 The AI is being worked on (currently they are very dumb).
  • DOS networking code was re-added:* - but untested.
  • TrueBSP mode is automatically enabled when "GL Nodes" are detected. Thus the:* truebsp option is rarely needed now. A new option "-classic" forces the classic renderer (but this is not recommended).
  • EDGE.WAD now contains all the necessary DDF and RTS files. The external ddf files are only used if their presence is detected or if the "-ddf" option is used. Anyone updating from previous EDGE releases should move or delete the old DDF files.
  • the cursor in the option menus is now light blue.
  • REFIRE_INACCURATE command in weapons.ddf, when set to TRUE then this weapon will lose accuracy while the trigger is held down. Used to get the classic Doom behaviour for pistol and chaingun.
  • Thick translucent extrafloors. Use this in lines.ddf: EXTRAFLOOR_TYPE = THICK, SEE_THROUGH, ...; EXTRAFLOOR_TRANSLUCENCY = 0.5; // or whatever Or: EXTRAFLOOR_TYPE = THICK, LIQUID, ...; EXTRAFLOOR_TRANSLUCENCY = 0.5; // or whatever


1.25-WIP (February 19)
Build | Source | v1.25
  • First version to support OpenGL out-of-box. Note that EDGE still had DOS, Win32, and Linux packages releasing concurrently.
  • fixed the extreme bobbing that was in the WIP-1.
  • bouncing objects in WIP-1 didn't enter bounce states - fixed.
  • SINGLESIDED tag is now respected for bullet/missile activation.
  • fixed some possible crashes when using certain DDF actions.
  • some subtle DDF searching issues (e.g. CASTORDER) fixed.
  • removed a thin slither at the top of some weapons in GLEDGE.
  • fixed numerous problems with sprite scaling (both renderers).
  • flat-lighting weapon-too-dark problem in sofware mode fixed.
  • problems with continuous floors (e.g. end of MAP12) fixed.
  • DDF/RTS errors in win32 pop-up box now show full context.
  • infinite loop when no episodes are defined fixed.
  • fixed problem causing error with read-only IWADs.
  • bug with "ACTIVATE_LINETYPE 138" fixed.
  • thin horizontally sliding doors now work in GL.
  • fixed a bug not auto-aiming at monsters lower than you.
  • fixed monsters seeing you through thick extrafloors.
  • bug causing the wrong switches to light up sometimes fixed.
  • problems with some intermission screens (e.g. bunny) fixed.
  • the NOAMMO attack special from DDF is gone. It's only useful purpose was for ejecting shells, but the EJECT() code pointer is good for that (and doesn't use ammo).
  • removed the "SAVE" command in RTS, not useful, even dangerous.
  • the "BITS" and "STEREO" commands from sounds.ddf are gone. They never did anything.
  • the colmap.ddf "NOSKY" special and "PRIORITY" command were removed.
  • RANDOMJUMP action has been removed. The new JUMP() code pointer should be used instead, like this: TROO:A:5:NORMAL:JUMP(Label) // jumps always to label TROO:A:5:NORMAL:JUMP(Label,50%) // jumps randomly to label where Label is the name of a state, either a plain name like "CHASE", or a name followed by a ":" and a number like "IDLE:3".
  • the ALTERTRANSLUC, ALTERVISIBILITY, LESSVISIBLE and MOREVISIBLE actions have been replaced with new ones: TRANS_SET(30%)  : set it immediately to new value TRANS_FADE(95%)  : fades to new value over a second or two TRANS_MORE(10%)  : increase translucency TRANS_LESS(10%)  : decrease translucency TRANS_ALTERNATE(10%) : alternate between visible and invisible values range from 0% (invisible) to 100% (opaque). The parameters are optional: for TRANS_SET, the default is 100%. For TRANS_FADE, the default is 0%. For the last three, the default is 5%. Note: TRANS_SET() and TRANS_FADE() can also be used in weapon frames.
  • the way damage (for attacks, etc) is expressed has changed. The old ddf commands DAMAGE, DAMAGE_RANGE, DAMAGE_MULTI, plus the things.ddf counterparts (which begin with EXPLOD_ (and still do)) have been replaced with the following: DAMAGE.VAL=20; DAMAGE.VAL=10; DAMAGE.MAX=40; DAMAGE.VAL=64;DAMAGE.ERROR=32; and the other fields: DAMAGE.DELAY=10T; DAMAGE.PAIN_STATE=BURN_PAIN; DAMAGE.DEATH_STATE=DROWNED; DAMAGE.OVERKILL_STATE=ALL_CRISPY;
  • SWITCH.DDF has been updated, firstly the SOUND command has been renamed to "ON_SOUND". Secondly, there is a new "OFF_SOUND" that the switch makes when the button texture changed back (previously the off sound was hardcoded). Thirdly, there is a new "TIME" command that specifies how long the button waits before changing back (defaults to 1 second).
  • the SOUND command in LINES.DDF and SECTORS.DDF has been renamed to "AMBIENT_SOUND", better describing what it does (starts an ambient sound).
  • the EXIT command in LINES.DDF and SECTORS.DDF has changed, acceptable values are now "NORMAL" and "SECRET".
  • LIGHT_PROBABILITY in LINES.DDF and SECTORS.DDF has been renamed to LIGHT_CHANCE and now takes a percentage value.
  • TRANSLUCENCY now takes a percentage value, from 0% to 100%.
  • EXTRAFLOOR_TRANSLUCENCY in lines.ddf should be replaced with the simpler TRANSLUCENCY.
  • the (rarely used) #XDEATH redirector is now #OVERKILL.
  • the [FUZZSHADOW] colourmap was renamed to just [FUZZY], and EDGE now requires a colourmap called [SHADOW].
  • weapons that contain PRIORITY=-1 (e.g. rocket launcher) should now have a normal priority value, and should be given the new command "DANGEROUS=TRUE".
  • the GIB command in DDF has been removed, in favour of using STATES(GIB).
  • Ladders. They are linedef based, if you are sitting on a ladder linedef (two-sided line) and the heights match, then pressing MoveUp/Down lets you climb the ladder. The following LINES.DDF command defines a ladder: LADDER.HEIGHT = 128; which gives the height of the ladder, which should match the texture used. The ladder linetype should be a two sided line that has the same sector on both sides, and about 24 units away from the actual ladder texture. Ladders normally start on the ground, but can be raised by setting the Y_OFFSET in the first sidedef.
  • MOVE_SECTOR and LIGHT_SECTOR RTS commands replace SECTORV/L. They take the same arguments, except that the sector number is a _tag_ number instead of an absolute sector reference.
  • Support for both fullscreen mode and in-a-window mode. The default is fullscreen. The -windowed option and the -fullscreen option can be used to change it, as well as the "windowed" line in the EDGE.CFG file. Changing it with the "Set Resolution" menu is not possible yet, but is planned.
  • Dithering for GLEDGE, with -dither option (or line in config file). Can give slight improvement in image quality (depending on driver).
  • New SEC_NOFIRE_RETURN action for weapons.ddf, works just like NOFIRE_RETURN but for the second attack.
  • The DEST_REF command for lines.ddf and sectors.ddf accepts an optional tag after the normal reference tag. The optional tag is either "INCLUDE" or "EXCLUDE". Examples: FLOOR.DEST_REF = LOSURROUNDINGFLOOR, EXCLUDE; CEIL.DEST_REF = HISURROUNDINGFLOOR, INCLUDE; The INCLUDE tag means include the moving sector in the calculation, whereas the EXCLUDE tag means don't include it. All the normal refs (HISURROUNDINGCEILING etc) have EXCLUDE by default, *except* LOSURROUNDINGFLOOR which (for compatibility) has INCLUDE by default.
  • New commands OTHER_REF and OTHER_OFFSET for lines.ddf and sectors.ddf. These are just like the DEST_REF and DEST_OFFSET commands, but are used for CONTINUOUS floor/ceiling types and specify the other height that is moved to while bouncing up and down. The default value keeps the normal DOOM behaviour.
  • New -hom command line option and `IDHOM' cheat code. Shows HOM as areas of bright green (both renderers).
  • New DRAG command for LINES.DDF and SECTORS.DDF. It is a companion for the GRAVITY, FRICTION and VISCOSITY commands. DRAG means "air friction" -:* it is how much objects get slowed down by the air when they are airborne (i.e. not touching the ground). The default value (0.99) provides backwards compat. Lower values (e.g. 0.91) makes liquids more "sticky".
  • New sector SPECIAL "SWIM". When you're in such a sector or liquid, then it activates "swimming mode". In swimming mode you can swim up/down, plus moving forwards swims in the MLOOK direction. Also the jump key works differently. For swimming mode to work well, the sectortype should a low GRAVITY value (e.g. 0), and have FRICTION and DRAG values the same and around 0.9 or so. Viscosity is an optional extra :-).
  • Support for breathing under water. The sector SPECIAL "AIRLESS" denotes the sector as not containing air, and while player is in it, they use up air in their lungs. The things.ddf command LUNG_CAPACITY determines how long (seconds) the player can stay underwater before choking. Choking is controlled by the CHOKE_DAMAGE command in things.ddf it sets the damage amount, delay and override pain/death states (See Damage system above). Default LUNG_CAPACITY is 20 seconds. When the player leaves the airless sector, they will usually gasp for air. The new GASP_SOUND command specifies the sound, and GASP_START specifies a minimum time the player must be in the water before making the sound. Default GASP_START is 2 seconds. There is a new powerup "SCUBA" that gives the player another source of air (e.g. oxygen tank). While the powerup remains in effect, the player won't start choking. Finally, an air indicator is shown while the player is underwater. Twenty one patches are used: AIRBAR01, AIRBAR02, ..., AIRBAR21, They are placed on the screen just like weapon sprites.
  • The #CLEARALL directive can be used in DDF files. It must occur after the <XXXX> file tag and before the first entry. It will clear out all previous entries for that file type (e.g. THINGS). Mainly useful for TCs, and then mainly with the GAMES.DDF and WEAPONS.DDF files.
  • Better compatibility with BOOM maps. Use the -boom option or the "Boom Line/Sec Types" entry in the gameplay menu, which enables support for the BOOM generalised linetypes and sectortypes. Not all of the features are supported, e.g. reversable stairs, and there are many bugs in the code. Disable this option when playing EDGE-designed maps and TCs, otherwise the BOOM sectortypes (and maybe linetypes) will interfere with any new ones defined in DDF.
  • New RTS command ONCONDITION, which is like ONDEATH and ONHEIGHT: the trigger will not run unless the condition is satisfied. Used like this: ONCONDITION [condition]
  • New RTS command RETRIGGER. Can only be used in TAGGED_INDEPENDENT scripts, and causes the conditions that activated the trigger to be re-checked (possibly pausing the trigger again). Most useful used at the bottom of a TAGGED_REPEATABLE sleep-less script.
  • New LOSE_BENEFIT command for things.ddf (pickups). Like PICKUP_BENEFIT but the player _loses_ the items instead. Also, PICKUP_BENEFIT and LOSE_BENEFIT are available as RTS commands. They take one parameter: the benefit to give the player or take away.
  • JUMP_DELAY command for things.ddf. Determines how long soon after jumping the player can jump again. Default: one second (previously hard-coded).
  • New LINE_EFFECT "LIGHT_WALL", works like the floor/ceiling lighting transfers, except that all lines with the same tag are affected: they will be lit using the tagging line's front sector properties. SCROLL_PARTS can be used to affect specific parts of tagged lines.
  • New LINE_PARTS command for lines.ddf. Should be used with the LINE_EFFECT command, and gives fine-grain control on what parts of the wall(s) are affected. Takes the same keywords as the SCROLL_PARTS command (e.g. "RIGHT_MIDDLE").
  • Dynamic lighting. Currently this is GLEDGE only. The following commands can be used in things.ddf and attacks.ddf to make an object throw light on neighbouring walls/floors/objects: DLIGHT.TYPE = QUADRATIC; // "LINEAR" is the other type DLIGHT.INTENSITY = 300; // higher is brighter DLIGHT.COLOUR = #FFFF00; // colour of lighting, HTML format Note: objects must be in a BRIGHT state frame to light up stuff around them. When in a NORMAL state frame, nothing happens. There are two DDF actions: DLIGHT_SET(amount) // set the intensity to new value DLIGHT_FADE(amount) // fade intensity over time to new value Dynamic lighting can be enabled or disabled through the Video Options menu, or by running EDGE with the -dlights option.
1.26 (August 16)
Build | [Source LOST] | v1.26
  • improved keyboard/mouse handling under Win32.
  • a few issues with the Win32 console not updating correctly.
  • re-implemented MUS music under DOS and Win32.
  • fixed a problem with '-infight' and changing levels.
  • improved volume and panning for sounds under Win32.
  • an ugly effect of invisible extrafloors in 8 bit mode fixed.
  • weirdness using both mouse/keyboard in Linux is gone.
  • improved sprite drawing in TrueBSP renderer.
  • onesided lines with the TWOSIDED flag reduced to a warning.
  • linux sound code now plays non-11KHz sounds properly.
  • sound panning now works in the linux sound code.
  • fixed translucent + remapped sprites in TrueBSP code.
  • the "slide really fast along walls" bug fixed.
  • monsters can no longer see you behind a large (but 2S) wall.
  • "voodoo dolls" now work as they should.
  • the ugly cracks/lines on translucent water are now gone.
  • nailed down one slime-trail producing bug.
  • fixed GL weapon sprite when the light goggles are in effect.
  • monsters no longer get stuck on the edge of a rising lift.
  • fixed the medusa effect.
  • a bug making certain switches/doors really loud fixed.
  • fixed a bug allowing jumping really high out of water regions.
  • the player's initial health comes from DDF.
  • better detection of wads with missing nodes.
  • bouncing missiles now bounce off most 2S walls properly.
  • archviles can no longer raise monsters on unreachable extrafloors.
  • fixed a bug with TRACKER attacks that could crash EDGE.
  • fixed the bug not executing the first action in a DDF thing.
  • blockmap generation code no longer crashes on certain levels.
  • the infrared goggles powerup no longer overrides watery colmaps.
  • fixed some problems with looping sounds.
  • a problem when quickly mlooking up/down fixed.
  • the sound/music sliders in the main option menu now work properly.
  • single frames of a sprite can now exist in a PWAD.
  • complete support for GL rendering.
  • support for playing MP3 music, both as external files and as lumps within a PWAD. It is used via PLAYLIST.DDF with the new "MP3" music type, for example: [01] MUSICINFO=MP3:FILE:"DUHAST.MP3";
  • EDGE can now run in a window under Win32.
  • BeOS mouse support was improved.
  • supports "V2 GL Nodes" that glBSP 1.91 generates. This should completely eliminate slimetrails for good.
  • new options for linux sound code: -freq [value] Sets the desired sample rate of the sound card. -mono Disables stereo sound.
  • new -version option, shows the version of EDGE and quits.
  • new -strict option. Most problems in DDF/RTS no longer crash out with an error message, but display a warning instead. This provides better backwards compatibility, since unknown commands will be ignored (with a warning). The -strict option makes EDGE do what it did before: crash out on the first DDF/RTS error.
  • new -nowarn option turns off warning messages.
  • new -noobsolete option turns off the messages when obsolete DDF or RTS commands are used.
  • new -blockmap option will generate the blockmap in EDGE instead of using the one in the PWAD.
  • automap colours can be controlled via COLMAP.DDF, the AUTOMAP_NORMAL entry is for the normal automap, and AUTOMAP_OVERLAY entry is for the overlaid version.
  • there are four new ammo types: PELLETS, NAILS, GRENADES, GAS. These names are fairly arbitrary -:* use them for whatever you want.
  • Pseudo-Shadows, drawn under things. Use the -shadows option to enable them.
  • Crouching (aka Ducking). Uses the `Move Down' key. The CROUCH_HEIGHT command in THINGS.DDF controls how low a player crouches. The level special "NOCROUCHING" disables crouching for the level.
  • mipmapping in the software and GL renderers. Use the -nomipmap option to turn it off, or change it in the Video option menu. The software version is not optimal yet. Note too that setting it to "TriLinear" in the GL version can produce strange results (seems to be a driver problem).
  • EDGE now contains a special cut-down version of GLBSP, and will build the GWA files automatically when they GL-Friendly nodes are absent.
  • support for an extra 8 sprite rotations.
  • the "MISSILE" tag for the ACTIVATORS line in lines.ddf has been removed. The rule now is that missiles can activate _any_ TYPE=SHOOT linedef (but only missiles from players can trigger player-only lines, etc).
  • new STATS command for LEVELS.DDF, determines the type of stats shown in the intermission. Possible values are "DOOM" (normal) and "NONE" (skips the stats altogether). Other types may be added in the future.
  • new LIGHTING command for LEVELS.DDF determines the type of lighting used (TrueBSP only). Possible values are "DOOM" (normal), "DOOMISH" (same as DOOM, but without the special effect on N/S/E/W walls), and "FLAT" for flat lighting (i.e. no distance-based shading). Other types may be added in the future.
  • the RIDE_FRICTION command for THINGS.DDF determines how ridable an object is, 0.0 would make things (e.g. you) slip off right away, up to 1.0 which is perfect ridability.
  • new commands VIEW_HEIGHT and SHOT_HEIGHT for players in THINGS.DDF. They take percentages (of the full height), and control where the view is drawn from, and where bullet shots come from.
  • for WEAPONS.DDF, the "SHOW_CLIP=TRUE" command causes the ammo field in the status bar to show the current clip size, instead of the total ammo.
  • new DROPITEM() action for DDF for dropping stuff. The name of the item to drop should be placed in the brackets.
  • scenery items can be made to block bullets, give them the BLOCK_SHOTS special.
  • new TUNNEL thing special, causes missiles to pass through enemies rather than blowing up on impact. Still damaging them though, but only once.
  • monsters can be made immune to certain attacks. See full changelog for details.
  • arbitrary sounds can now be used in THINGS.DDF and WEAPONS.DDF. The PLAYSOUND() action takes the name of the sound in the brackets. The KILLSOUND() action will stop any currently played sound.
  • implemented thin horizontal sliding doors. Thin means they are just a mid-masked texture on a two-sided linedef, but one that opens and closes.
  • new ACTIVATE_SOUND command for LINES.DDF, when the line is activated then this sound is played. If the line is a switch, then this command overrides the normal switch sound.
  • removed many hard-coded sounds. The following new commands in GAMES.DDF are available: ACCEL_SOUND="SLOP"; FRAG_SOUND="PLDETH". Plus the following new commands for players in THINGS.DDF: NOWAY_SOUND="NOWAY"; OOF_SOUND="OOF";
  • user-defined states can now be used in DDF with the STATES() command, e.g.: STATES(FOO)=FOOJ:A:5:NORMAL:NOTHING,#FOO;
  • new lines.ddf commands SECTOR_EFFECT and LINE_EFFECT, which take a comma-separated list of keywords that enable certain property transfers. LINE_EFFECT is for line -> line effects, and SECTOR_EFFECT is for line -> sector effects.
  • New DDF thing actions for rotating and self-propulsion: FACE(angle) TURN(angle) TURN_RANDOM(angle) MLOOK_FACE(angle) MLOOK_TURN(angle) MOVE_FWD(amount) MOVE_RIGHT(amount) MOVE_UP(amount) STOP. The FACE and TURN action ideas were copied from MBF. For all these actions, if the [angle] or [amount] is omitted, then 0 is used (not usually useful). For the move actions, use a negative value to go the opposite way.
  • improved RTS tip system, with the following new commands: TIP_SLOT [num] TIP_SET_POS [x] [y] TIP_SET_ALIGN [alignment] TIP_SET_COLOUR [colourmap] TIP_SET_TRANS [translucency] ( time )
  • new RTS command for changing textures on lines or sectors. Itlooks like this: CHANGE_TEX [where] [texname] [tag] ( subtag ).
  • new RTS command THING_EVENT which makes all things that are within the radius go into a specified state. It is used like this:THING_EVENT [thing type] [state] where the thing type can be a name (e.g. OUR_HERO) or a number (e.g. 3001). The idea behind it is to allow "events" where certain scripted actions take place (e.g. to play out the story).
  • Rectangle Triggers are a new variation on Radius Triggers, where the trigger area can be a rectangle (e.g. wide horizontally and narrow vertically).
  • new PLAYSOUND_BOSSMAN command for RTS. The sound is heard at full volume from any point on the map. Takes the same parameters as the regular PLAYSOUND command.
  • new CHANGE_MUSIC command for RTS. It takes a single parameter: a number which references an entry in PLAYLIST.DDF.
  • the TAGGED_REPEATABLE command for RTS now accepts no parameters, which means infinite repeats and zero delay.
1.27 (November 11)
Build | Source | v1.27
  • savegames enabled under DOS!
  • glitches with shrunk-down view in software mode fixed.
  • problem when using light-transfer linetypes fixed.
  • fixed a bug causing some RTS tip stuff to crash.
  • crash bug with elevator in QD10 (savegame + RTS issue) fixed.
  • problems with crushers/continuous ceilings (e.g. MAP04) fixed.
  • timing problem in RTS (initial WAIT command) fixed.
  • fixed bug with new 16-rotation sprite code.
  • zooming no longer shows the weapon sprite.
  • rendering problems (HOM) in GLEDGE when FOV > 90 fixed.
  • fixed automap bug not displaying the level's name.
  • another timing problem in RTS (retriggerables) fixed.
  • issues with the UPGRADES command in weapons.ddf fixed.
  • a couple of sound and MP3 problems fixed.
  • problem with missing weapons (e.g. IDKFA) fixed.
  • fixed another MP3 bug, not playing files with ID3 tags.
  • thin sliding doors were broken in GLEDGE -:* fixed.
  • closed sliding doors now block sight & sound properly.
  • Wipes and crosshairs now work in GLEDGE.
  • Better checking when loading savegame files. If the level data is detected to be different, e.g. loading a DOOM2 mad when playing PLUTONIA, then the load is aborted. Unfortunately EDGE also crashes out -:* recovering from a partial loadgame is a really hard problem to fix.
  • The weapon kick effect can now be disabled. The easiest way is through the Gameplay Option menu. Another way is by using the -nokick cmdline option (or -kick to enable).
  • New cmdline option "-fastsprites". Causes sprite images to be pre-cached at the start of the level, making gameplay smoother. It isn't enabled by default since it can cause long delays on slower machines, and is not much use on machines with low memory (< 64K).
  • New DDF action for flickering dynamic lights: DLIGHT_RANDOM(low,high) where `low' and `high' are numbers. The intensity of the dynamic light will be set to a random value within the given range.
  • New DDF command for dynamic lights: DLIGHT.HEIGHT=75%; which specifies at which height within the object the light comes from, for example: 0% at the foot, 50% midway (the default), 100% at the top of the head.
  • New weapons.ddf command STATES(ZOOM). When present, that sprite frame will be shown on screen when zooming is active.
  • New attack special NO_TRIGGER_LINES. Shot and projectile attacks with this flag never activate special linedefs.
  • New command for radius triggers: UNBLOCK_LINES [tag] All lines on the map with the same tag will be unblocked, allowing players and monsters to pass. Only affects two-sided lines.
  • New things.ddf command: BOUNCE_UP=6.0; which controls how far up a bouncing object bounces when it hits the floor (or how far down for ceilings). Higher values make it bounce higher. The default is 0.5 (previously hard-coded).
  • Limited support for multiple palettes. Works in GLEDGE only.
  • New levels.ddf special "BOOM_COMPAT" and "NO_BOOM_COMPAT" which can be used to specify whether the level requires BOOM compatibility enabled or disabled. This special overrides the user's preference in the Gameplay Option menu.


1.28 (May 24)
Build | Source | v1.28
  • On multi-user systems (newer versions of Windows, and Linux) the location for the config file (EDGE.CFG) and savegames has moved, and is user-specific.
  • Support for playing MP3 music has been removed, since the licensing is not compatible with Open Source software.
  • serious crash bug loading textures from PWads fixed.
  • savegame problem which could cause crashes fixed.
  • windows version now detects out-of-date GWA files properly.
  • windows version now handles filenames with double quotes.
  • fixed crash when a door closed on a dead player.
  • fixed (potential) crash in GL mode when depth was 8 bits.
  • crash on cast parade with flipped sprites (HellKnight) fixed.
  • fix for too much bobbing.
  • fix for floor textures in GL (wrong scale, no transparency).
  • fixed ceilings not opening because of stuck things (MAP06).
  • certain fonts are no longer forced red (QDOOM).
  • fixed the issue with monsters resurrecting into another.
  • render sprites (S/W mode) with posts exceeding 128 pixels.
  • better default configuration: e.g. 640x400 mode, 16 bit colour.
  • full Mlook range in GL mode.
  • better sky drawing in GL: the fake skybox copes with Mlook, never wobbles anymore, and is drawn a lot faster than before.
  • windows version prevents more than one instance of EDGE running at the same time. Also, window handling code has been reworked.
  • the GL renderer emulates the flat-flooding and deep-water tricks.
  • better images for when you have both keycard and skullkey.
  • config file remembers current language and current Save/Load page.
  • Pixelfade wipe has been implemented for OpenGL mode.
  • text strings look better in modes smaller than 640x400.
  • the source code is now written in C++.
  • very basic overlay HUD has been added. (Better one will be made when HUD.DDF is implemented)
  • EDGE.log file, automatically remembers all startup messages.
  • new #VERSION directive for DDF files and RTS scripts. It is followed by the version of EDGE needed to use the DDF/RTS. E.g. "#VERSION 1.28". This directive is _required_ to use new features in EDGE 1.28, but it also prevents you using obsolete features (they produce a fatal error).
  • RESISTANCE_CLASS for DDF. Used the same way as IMMUNITY_CLASS, but the monster only suffers 40% of the original damage.
  • TIP_GRAPHIC supports scaling via the fourth parameter, which is a value like 0.5, 1.0, 2.0. For example: TIP_GRAPHIC M_PAUSE 3 false 0.5
1.28a (June 12)
Build | Source | v1.28a
  • Windows 95 support.
  • fixed the unable to crouch bug.
  • handle ALT+TAB better under Windows.
  • handle non-power-of-two textures in GL mode.
  • allow brain-shooter without any shoot spots (Darren Salt).
  • allow compiling without DEVELOPERS define (Darren Salt).
  • fix for some memory trashing problems (Darren Salt).
  • look for patch lumps first in between P_START/P_END.
  • added 12 STEALTH monsters (types 4050 to 4061) into THINGS.DDF.
1.29 Beta #1 (December 19)
Build | [Source is LOST] | 1.29 Beta #1
  • added OGG Vorbis music.
  • DeHackEd and BEX support.
  • drag:* and:* drop wads to play them.
  • new IMAGES.DDF, with PNG support.
  • new weapon features, manual reloading.
  • added RTS menu system.
  • removed software rendering.
  • ability to use 32-bit screen modes (16.7 million colours).
  • new sound system, using OpenAL (a 3D audio library).
  • Demos are currently broken (both recording and playback).
  • Under some cards (e.g. TNT2 with old drivers), the sky will flash from dark to light depending on what things are in view.
  • Console background is wrong size after changing the resolution in the menus.
  • Bullets can pass through solid extrafloors at certain places.
  • The #CLEARALL directive can cause problems.
  • Styles.ddf is not finished yet.
  • No MUS/MIDI music under Linux or MacOS X yet.
  • No multiplayer (networking) yet. While some progress has been made, it will NOT be ready for 1.29. Instead we will make this a focus for the following release: EDGE 1.30.
  • crash loading a savegame with dynamic lights when D/L disabled.
  • fixed crash when starting a level in deathmatch mode.
  • quotes (") usable in response files (for filenames with spaces).
  • Arch:* vile no longer resurrects monsters into itself.
  • don't display "Entering" on intermission when map is last one.
  • fix for ONCONDITION <weapon> in RTS scripts.
  • fix for teleport on MAP06 (going to wrong place).
  • boss brain can now be hurt from rocket explosions.
  • DDF parser will catch angles > 360 degrees.
  • watching a moving monster while dead is now smoother.
  • texture vertical mis-alignment in some rare cases fixed.
  • berserk strength now lasts the whole level.
  • night vision wasn't affecting the sky, fixed.
  • damage over 1000 no longer hurts invulnerable players.
  • monsters on different sides now attack each other. (UNTESTED)
  • problems mlooking up/down while zoomed are fixed.
  • sides of extrafloors would not scroll properly, fixed.
  • the DDF "CONSTANT" dynamic lighting type was removed.
  • using { } comments in DDF files, and ';' comments in RTS scripts is now deprecated
  • new startup, with progress bar. The console window that used to appear (Win32) is gone, and under Linux messages are no longer printed to the terminal.
  • Linux: fatal errors produce a pop:* up dialog box. EDGE can now be run by double clicking the executable.
  • Support for CD music.
  • support V3 of GL-NODES. EDGE now includes glBSP 2.10, which can handle very complex levels (which overflow the old limits), e.g. Deus Vult MAP05.
  • Boom compatibility changes: the type of level (Edge or Boom) is detected when starting a new game, and if it doesn't match the current mode (or the result was mixed), then a dialogue asks you whether to change mode.
  • new gameplay option to disable automatic weapon switches.
  • sky looks a bit better, with a stretch option in Video menu.
  • the old "sky flooding" trick is now emulated.
  • emulate the FRIEND bit on things in the map.
  • missing wad files (given with :* file) now produce an error.
  • monster spawning will keep the parent's AMBUSH status.
  • night vision and god:* mode effects use colour from colourmap.
  • RTS tips are sent to the console.
  • RELOAD states for monsters. This is controlled by the new command RELOAD_SHOTS and the new action RELOAD_CHECK, which tests if the monster needs to reload, and if yes then enters its RELOAD states. For players, RELOAD states are used whenever the weapon reloads.
  • new SEQUENCE command for ANIMS.DDF. Use it to specify the full animation sequence. Names cannot be used twice.
  • PICKUP_EFFECT = SWITCH_WEAPON(xxx) , required for #VERSION 1.29 and higher. Berserk fist. Compatibility maintained.
  • ULTRA_LOYAL thing special. Friendly monsters don't turn into enemies when hurt by your weapon fire.
  • SIDE_IMMUNE thing special. Friendly monsters are completely immune from your weapon fire.
  • EXPLODE_RADIUS command for things and attacks. Normally the explosion radius is the same as the damage caused, but this command forces the explosion radius to a particular value (e.g. 200). The amount of damage is not affected.
  • EXPLODE_IMMUNE and ALWAYS_LOUD thing specials. These attributes are both set by the BOSSMAN special, but now they can be specified individually.
  • SILENT_TO_MONSTERS is now an attack special too.
  • FORCE_PICKUP special for thing.ddf (items).
  • DIE action for things and attacks (mainly for BEX compatibility).
  • weapon handling has been generally improved (especially the way clips work). Anything using the CLIPSIZE command is considered a "clip weapon", and will store ammo inside of its clip, even when not selected.
  • Four new ammo types: DAGGERS, ARROWS, TORPEDOES, CRYSTALS (names inspired by Heretic/Hexen/HacX). That brings the total to twelve. The limit on holdable weapons was also increased from 32 to 64.
  • WHEN_APPEAR in DDF and RTS now accepts simpler values. See changelog link on this Wiki entry for more details!
  • new RTS menu system: SHOW_MENU title option1 option2 ... SHOW_MENU_LDF title option1 option2 ... JUMP_ON MENU label1 label2 ... MENU_STYLE style_name
  • Edge now supports IDLE states. These are entered from the READY or EMPTY states after a certain time has elapsed.
  • There are now empty states. These are shown (instead of ready states) when the primary attack runs out of ammo.
  • There are also WARMUP and SECWARMUP states. These will be entered when firing the weapon from the READY states (not for refiring).
  • Crosshair actions have been re:* enabled.
  • There are now DISCARD and SECDISCARD states.
  • New -deh command line to load DEH or BEX.


1.29 Beta #2 (February 12)
Build | [Source is LOST] | 1.29 Beta #2
  • EDGE uses a new sound system called OpenAL. You should run the included OpenAL installer program ("OpenALwEAX.exe").
  • If you are upgrading from EDGE 1.27 or earlier, you should first download and run the Upgrade utility (available on our download page).
  • MacOS X support.
  • added OGG Vorbis music.
  • support for PNG and JPEG images.
  • DeHackEd and BEX support.
  • drag-and-drop wads to play them.
  • new weapon features, like manual reloading.
  • added RTS menu system.
  • handle OGG/Vorbis as wad lumps.
  • handle PNG images as wad lumps.
  • support for JPEG images.
  • IMAGES.DDF entries need prefixes (gfx: spr: tex: flat:)
  • fixed problems with SOUNDS.DDF.
  • fixed bug with levels containing voodoo dolls.
  • fixed sprite horizontal alignment.
  • remember auto-run status when exit.
  • can specify colours directly in COLMAP.DDF.
  • can disable the disk icon.
  • can have new sprites (and weapons) in IMAGES.DDF.
  • toggle windowed/fullscreen in resolution menu.
  • weapons: partial clip loading now the default.
  • new format for demo files (EDM)
  • fixed bug with certain mid-masked textures.
  • revenant missiles now match the original.
  • crash loading a savegame with dynamic lights when D/L disabled.
  • fixed crash when starting a level in deathmatch mode.
  • quotes (") usable in response files (for filenames with spaces).
  • Arch-vile no longer resurrects monsters into itself.
  • don't display "Entering" on intermission when map is last one.
  • fix for ONCONDITION <weapon> in RTS scripts.
  • fix for teleport on MAP06 (going to wrong place).
  • boss brain can now be hurt from rocket explosions.
  • DDF parser will catch angles > 360 degrees.
  • watching a moving monster while dead is now smoother.
  • berserk strength now lasts the whole level.
  • night vision wasn't affecting the sky, fixed.
  • damage over 1000 no longer hurts invulnerable players.
  • monsters on different sides now attack each other.
  • problems mlooking up/down while zoomed are fixed.
  • sides of extrafloors would not scroll properly, fixed.
  • autorun is remembered in the config file again.
  • fixed some missing mid-masked textures (Eternal MAP28).
  • smoking tracers sometimes wouldn't produce smoke.
  • revenant missiles fixed to match the original.
1.29RC1 (March 11)
Build | [Source is LOST] | 1.29RC1
  • smaller savegame files.
  • Changes not entirely documented from previous version (must find source code to accurately describe changes)
  • the "CONSTANT" dynamic lighting type (in DDF) was removed.
1.29RC2 (July 24)
Build | [Source is LOST] | 1.29RC2
  • Changes not entirely documented from previous version (must find source code to accurately describe changes)
  • /TODO
1.29RC3 (September 25)
Build | [Source is LOST] | 1.29RC3
  • fixed MUS playback on certain devices in Win32
  • some continuous floors had wrong heights, fixed.
  • spawning of Voodoo dolls (Thanks to dsalt)
  • screenshots are now available in JPEG or PNG format. New "screenshot" console command (Note: it does not capture the console itself).
  • support V3 and V5 GL-NODES. EDGE now includes glBSP 2.10, which can handle very complex levels (which overflow the old limits), e.g. Deus Vult MAP05.
  • emulation for Doom's original lighting (optional).
  • correct map names for TNT Evilution and Plutonia Experiment.
  • detects and repairs TNT's MAP31 bug (missing yellow key).
  • number of RTS tip slots increased to 45.
  • can load DDF files (with ".ddf" or ".ldf" extension) directly from the command line. Drag and dropping them should also work.
  • NOTARGET attack special, causes the bullet or missile to go straight ahead and ignore the monster/player being aimed at.
  • support for "Ghosts", which means that a bullet or projectile attack will pass straight through an enemy. The new things.ddf GHOST_CLASS command takes a set of letter flags (just like IMMUNITY_CLASS). The new SIDE_GHOST special is similar to SIDE_IMMUNE, except that it makes bullets/missiles from "friendly fire" pass straight through.
  • NOZBUFFER thing special for "particles" (smoke puffs etc) which prevents visual glitches when many are floating near each other.
  • HOVER thing special, like in Heretic. Sprite must be above the ground for it to work properly.
  • BERSERK_MULTIPLY for attacks.ddf controls how much damage the attack causes when the player has the Berserk powerup.
  • "ALL" keyword for the START_MAP line in RTS, which causes the script to bespawned on every map.
  • New Command Line options:
  • -audiodev <name> Forces OpenAL to select <device-name> device
  • -bestaudio Make OpenAL to select the best device in windows. Normally the "DirectSound" device is selected.
  • -maxaudiochan <n> Maximum number of audio channels to use
  • -nearclip <n> NEARCLIP Control the OpenGL distance clipping.
  • -farclip <n> FARCLIP Increasing farclip allows a huge level to be fully seen, but decreases depth accuracy (may cause glitches).
  • -(no)hqscale HQSCALE Turn on/off "High Quality" image scaling.
  • -(no)hqall HQALL Use HQ2X on _all_ images (textures and sprites). Normally only the HUD gfx are scaled. This option can slow things down, since it needs 4 times more video memory.
  • -(no)smoothmap SMOOTHMAP Turn on/off anti-aliasing of automap.


1.29RC4 (July 15)
Build | [Source is LOST] | 1.29RC4
  • Changes not entirely documented from previous version (must find source code to accurately describe changes), link only comes with binary and nothing else (maybe crawl the forums)
  • /TODO


1.29RC5 (April 19)
Build | [Source is LOST] | 1.29RC5
  • Replaced the OpenAL code with new SDL-based sound code.
  • Looping sounds have changed. To keep a sound looping, it must be continally replayed. A good rule of thumb is to wait half the length of the sound, e.g. if the sound lasts 1.6 seconds then replay it every 0.8 seconds (28 ticks) to guarantee that it loops continuously.
  • New -directx, -gdi and -videodriver options, for selecting what SDL video driver to use. The -videodriver option requires an extra argument: the name of the SDL driver.
  • Improved BOOM compatibility:
  • - handle the ELEVATOR linetypes.
  • - support for Current/Wind/Push/Pull forces.
  • - support for Icy/Muddy floors.
  • - handle BOOM colormaps.
  • - load the SWITCHES and ANIMATED lumps.
  • - the EDGE-specific sector numbers have been renumbered to the range 4400-4499. This may affect old mods, which can be made to work using the new -ecompat option.
  • The -warp option and IDCLEV cheat accept a plain number.
  • Old school: 'Shoot-thru Scenery' option which causes missiles to pass through scenery (lamps, trees, etc).
  • Fixed "jerk up/down" when player steps onto a lowering lift.
  • Fixed rendering glitches on some midmasked textures.
  • Can use the mouse-wheel for zooming on the automap.
  • Set Resolution menu: removed 'TEST RESOLUTION' button.
  • Renamed -debugfile option to -debug, and the filename is now hardcoded to be "debug.txt" (stored in same place as "edge.log").
  • EDGE.WAD: removed copyrighted [DOG] sprites.
  • Screenshots are now placed in a "screenshot" folder.
  • DeathBots are working again. Also support for 16 players in a multiplayer game (re-using shirt colours). Fixed old deathmatch so that weapons stay on the map. [NOTE: true multiplayer does not work in 1.29RC#5]
  • Fixed DeHackEd support (-deh option).
  • Added new -gamma option.
  • DDF: #VERSION is no longer required to use new features.
  • DDF: new POWERUP_BARE_BERSERK keyword to get the berserk powerup without switching to the fist.
  • DDF: new SPAWN_LIMIT command for ATTACKS.DDF.
  • DDF: removed LINES/SECTORS 'AMBIENT_SOUND' command.
  • RTS: new BLOCK_LINES command.
  • RTS: SPAWN_THING keyword parameters, TAG=xxx.
  • RTS: THING_EVENT: "ANY" for thing, TAG=xxx parameter.
  • RTS: DAMAGE_MONSTERS: can use TAG=xxx parameter.
1.29RC6 (June 5)
Build | [Source is LOST] | 1.29RC6
  • Sound startup: try hard to find a working sound mode. Also support for specifying the SDL audio driver, with new -waveout, -dsound and -audiodriver options. (The -audiodriver option is followed by the driver name).
  • new object removal code (objects are kept "in Limbo" for three seconds to allow any playing sound to finish).
  • reworked weapon selection by number key when there are multiple weapons on the keys.
  • fixed screen wipes (none of them were working), and heavily reworked the finale code and gamestate transitions.
  • re-added AMBIENT_SOUND feature.
  • SHOW_CLIP weapons: HUD shows clip divided by ammopershot.
  • integrated some patches by Darren Salt.
  • fixed ID(K)FA cheats to give every type of ammo, and fill the clips of clip weapons.
  • fixed MUS playback sometimes 'detuning' on Win32.
  • fixed chainsaw sound problems.
  • fixed fatal assertion when a sound lump doesn't exist.
  • fixed ability to play deathmatch with bots.
  • fixed some wrong palette problems (skies, HQ2X).
  • fixed dummy images (for missing textures/flats/sprites).
  • fixed fatal error from Boss-Brain scream.
  • emulation for the "AASTINKY" and "AASHITTY" textures.
  • EDGE.CFG: removed the redundant okey_xxxx fields.
1.29 (July 15)
Build | [Source is LOST] | 1.29
  • fixed "jerk up/down" when player steps onto a lowering lift.
  • Archvile flame fixed to play the crackle sounds.
  • '+' syntax for KEYS in DDF was finally fixed.
  • the CAPSLOCK and NUMLOCK keys work a bit better.
  • improved spawning of voodoo dolls (Darren Salt).
  • fixed old deathmatch mode so weapons stay on the map.
  • fixed 'detuning' problem with MUS playback on Win32.
  • renamed -debugfile option to -debug, and the filename is now hardcoded as "debug.txt" (stored in same place as "edge.log").
  • replaced the [DOG] sprites and sounds in EDGE.WAD with a colormapped demon, due to copyright/license concerns.
  • GWA and HWA files are stored in a separate cache folder, allowing EDGE to run wads from read-only media (CDROM) or from read-only locations (/usr/share).
  • the DeathBot is back! He is still pretty dumb though. Use the option "-bots #" (where # is the number of bots) to add bots to a deathmatch game.
  • option 'Shoot-thru Scenery' emulates old missile behaviour.
  • can use numbers with -warp and IDCLEV cheats again.
  • can use mouse-wheel in automap and in menus.
  • support for 16 players in a multiplayer game.
  • limit the number of skulls from pain elementals.
  • fixes for 64-bit architectures (Darren Salt).
  • PICKUP_EFFECT = SWITCH_WEAPON(xxx). The standard POWERUP_BERSERK will use this automatically to change to the FIST, there is also a new keyword POWERUP_BARE_BERSERK which doesn't do that.
  • each thing in the level can have a "tag number" (like the TID in Hexen). The RTS SPAWN_THING command can specify the tag number to give a new thing, and the DAMAGE_MONSTERS and THING_EVENT commands can take a tag number to limit what they apply to.
  • new BLOCK_LINES command, does the opposite of UNBLOCK_LINES.
  • SHOW_CLIP weapons: hud shows clip divided by ammopershot.
  • -videodriver <name> Specify what SDL video driver to use.
  • -directx The -directx and -gdi options are shortcuts
  • -gdi for using -videodriver with the same names. The 'gdi' driver is the default on WIN32.
  • -audiodriver <name> Specify what SDL audio driver to use.
  • -waveout The -waveout and -dsound options are shortcuts
  • -dsound for using -audiodriver with the same names. The 'dsound' driver is the default on WIN32.
  • -sound16 Try to use 16-bit sound output.
  • -sound8 Try to use 8-bit sound output.
  • -gamma <n> Give a gamma setting to use (from 0 to 4).
  • -nocdmusic Disable CD music.
1.31-Alpha1 (November 18)
Build | [Source is LOST] | 1.31-Alpha1
  • glitches/small gaps between polygons are fixed.
  • crash with Scuba Steve's flamethrow DEH patch fixed.
  • ID(K)FA cheats now give clip weapons full ammo.
  • fixed problem saving the 'mipmapping' setting.
  • custom sky-boxes should always be used when present.
  • fix for filenames (like "") containing two dots.
  • proper test for existing titlepics in GAMES.DDF.
  • fixed console PLAYSOUND command when sound is not found.
  • no sprite check for spawned map-things (easier debugging).
  • fixed badly synchronised flash state of super-shotgun.
  • new method to emulate DOOM's lighting model.
  • new dynamic lighting code. The old way would split polygons into small pieces which caused a lot of glitches. The new way uses the method of rendering a light texture into the level.
  • improved sky emulation, replacing all the 'SKY STRETCH' options with a single mode based on the old MIRROR mode, but tweaked for better compatibility with existing DOOM skies. The old ORIGINAL mode now kicks in automatically when MLOOK is disabled.
  • better gamma handling (now done by the video driver).
  • more robust emulation of the flat-flooding trick.
  • better way to gauge the player's actual speed.
  • console key is configurable.
  • MD2 models (from Quake 2) are now supported for map things and player weapons. Any state frame can specify a model by using the special '@123' syntax for the frame (instead of a letter). The number is the absolute frame number in the MD2 model, which begins at 1.
  • mirrors are one-sided linedefs with a special linetype. They have a 'glassy' look, and can be tinted with a color, plus they can reflect other mirrors (within reason). The sky is never flipped in mirrors, this is a limitation of the way EDGE handles skies and cannot be fixed.
  • sector glow effects. Using one of these commands: GLOW_TYPE=FLOOR; GLOW_TYPE=CEILING;
  • flat alignment/scaling linetypes have been added to EDGE.WAD. There are 3 basic types: Align :* Rotate, Align :* Rotate :* Scale, and just Scaling. They can be applied to three areas: FLOOR, CEILING and FLOOR :* CEILING. Finally you can use them either with a tag (all tagged sectors are changed) or without a tag (then the front or back sector of the linedef is changed).
  • three new armour things were added to EDGE.WAD for people to use in their maps
  • some LADDER linetypes were added to EDGE.WAD
  • TGA images are now supported by IMAGES.DDF. So far only RGB mode (uncompressed and RLE) TGA images are supported.
  • new WEAKNESS feature allows a monster to receive more damage from certain attacks than others. You can also specify a zone where the monster must be hit (when hit in other places, the weakness does not apply). The weakness zone can be a height range (in percentages) and/or an angle range (in degrees). (see the full changelog page for more information!
  • BECOME action for THINGS.DDF allows a thing to turn into another type of thing. Can be used on players too. Health and Side values remain the same. The new state frame can also be given (the default is IDLE:1). For example: BECOME(CACODEMON) BECOME(CACODEMON,CHASE:2)
  • armour association feature. When you pick up some armour, and the thing DDF uses the ARMOUR_PROTECTION command, then various properties are remembered for that color of armour. The new ARMOUR_PROTECTION command is the percentage of damage which is saved by the armour (100% for all) which overrides the default protection rates (e.g. BLUE_ARMOUR is normally 50%). See 1.31alpha1 for more details.
  • PURPLE armour was added, bringing the number of armours to 5. The default protection is 66%, and the layering order (from innermost to outermost) is: GREEN, BLUE, PURPLE, YELLOW, RED.
  • SIMPLE_ARMOUR special for armour pickups. It prevents the wacky Doom-emulation from kicking in.
  • SPAWN action is similar to DROPITEM action, but it doesn't force the object to be non-SOLID like DROPITEM does, plus the spawned object will have the same Angle and Side as the parent object. The name must be given in brackets, e.g. SPAWN(IMP).
  • INVULNERABLE special makes the thing completely immune to all attacks. There are also two new actions to dynamically change it: SET_INVULNERABLE and CLEAR_INVULNERABLE, which can be used to make monsters with blocking states (like the Centaurs in Hexen).
  • DLIGHT_COLOUR(#FF00FF) action will change the color of the dynamic light. Note: the secondary dlight, if used, is not affected.
  • for object brightness, LIT00 :* LIT99 can be used in state frames where the keywords 'NORMAL' and 'BRIGHT' are used. This allows fine-grained control of dynamic lights.
  • the existing RESISTANCE_CLASS feature has been supplemented by a new RESISTANCE_MULTIPLY command which lets you control how much to multiply the damage caused. The default is 0.4 which matches the previously hard-coded value. Values over 1.0 can be used (makes it a weakness instead of resistance). Also RESISTANCE_PAINCHANCE can give a different (typically lower) chance of entering the pain states from a resisted attack.
  • VAMPIRE attack special and thing special (for monsters and players) which causes the inflictor of damage to gain the health from the damage done to the victim. The health/damage ratio is hard-coded as 25% for monsters and 50% for players.
  • CHECK_ACTIVITY action for players will cause the player to enter SWIM, FLY, or CLIMB states if the player is currently swimming, flying (jetpack) or climbing a ladder. Also JUMP states are entered when the player jumps. These new states are all optional.
  • SHARED_CLIP=TRUE for WEAPONS.DDF means that the primary and secondary attacks are using a single (shared) clip. Hence you cannot use SEC_AMMOTYPE, SEC_AMMOPERSHOT or SEC_CLIPSIZE commands when using SHARED_CLIP. There can only be a single reload animation (SECRELOAD states will be ignored). You should use SEC_SHOOT, SEC_REFIRE and SEC_NOFIRE actions in your SECATTACK states, and you may have SECFLASH states.
  • FLOOR.CRUSH_DAMAGE and CEILING.CRUSH_DAMAGE is the new and preferred way for making crushers in LINES.DDF. It gives the amount of damage when crushing (the rate of damage is still hard-coded to be every 4 tics).
  • Weapons.ddf: allow 'SEC_ATTACK' to mean 'SECOND_ATTACK' for consistency with all the other SEC_XXX commands.
  • RTS 'WHEN=xxx' tag for SPAWNTHING commands.
  • models don't interpolate vertexes (transitions are not smooth).
  • models don't appear in mirrors.
  • in mirrors, dynamic lights don't work properly.
  • new DOOM lighting emulation is not as smooth as before.
  • colormapped sectors (e.g. blue water) don't work yet.
  • console background is a bit messed up.
  • partial invisibility powerup is broken.
  • TGA image loader does not support Colormapped formats.
  • things that use BECOME can get stuck if new RADIUS is bigger.
  • new dynamic lighting has not been adjusted for backwards compatibility with old mods.
1.31-Beta1 (December 10)
Build | [Source is LOST] | 1.31-Beta1
  • MD2 models for things and weapons
  • Mirrors with multiple reflections
  • Good emulation of partial-invis effect
  • Nicer dynamic lighting
  • Sector glow effects
  • Rendering glitches fixed
  • More compatible 3D sky rendering
  • Improved way of emulating DOOM light fading
  • TGA (targa) image format supported
  • Flat alignment and scaling line-types
  • Weak spots for monsters
  • New BECOME() action for changing type
  • Armor properties can be modified
  • Weapons can share a clip for both attacks
  • sound still does not work under Vista.
  • monsters with models seem to move very jerkily.
  • additive dyn-lights on mid-masked textures look weird.
  • new DOOM lighting emulation is not as smooth as before.
  • prevent blood splats when Demon attacks a GOD-mode player.
  • good emulation of DOOM's Partial-Invisibility effect.
  • new "H.Q.2x Scaling" option in the Video Options menu.
  • new (experimental) way of emulating the grayscale effect of the Invulnerable powerup (card/driver must support color-matrix).
  • improved, more consistent handling of alpha channels.
  • thin sliding doors can be activated remotely.
  • sped up turning for path-following monsters.
  • new -fullbright option for debugging.
  • TGA images are now supported by IMAGES.DDF.


1.31-Beta2 (January 28)
Build | [Source is LOST] | 1.31-Beta2
  • broken: CD music playback
  • fixed garbage at edge of mid-masked textures
  • fixed sliding doors in savegames
  • fixed generalised linetypes in savegames
  • fixed bug with mid-maskers (gap at bottom)
  • fixed messed up textures after video mode change
  • updated to SDL 1.2.13
  • WAV loader for SFX
  • OGG/Vorbis loader for SFX
  • external files for SOUNDS.DDF via FILE_NAME command
  • synthesized MUS/MIDI playback for Linux
  • tweaked DLIGHT compatibility
  • model frame names for DDF (e.g. @run2)
  • monsters with MD2 models have interpolated movement
  • FIX_TRANS=BLACKEN command for images.ddf
  • UI/HUD graphics can be animated (TYPE=GRAPHIC in anims.ddf)
  • remote sliding door types in edge.wad : 542 to 559
  • security cameras, new linetypes  : 480 to 484
  • portals and a demo, new linetypes  : 485 to 489
  • merged JUMP and MOVE-UP into a single key
  • better keyboard controls menu
  • invulnerability setting in video options menu
  • Host-Game menu allows starting games with bots
  • player jumps out of water (requires SWIM)
  • SPLASH_SOUND command for sectors.ddf (requires SWIM)
  • SECRET_EXIT RTS command
1.31-Beta2c (February 3)
Build | [Source is LOST] | 1.31-Beta2c
  • Changes not entirely documented from previous version (must find source code to accurately describe changes), link only comes with binary and nothing else (maybe crawl the forums)
  • /TODO
1.31-RC1 (July 28)
Build | [Source is LOST] | 1.31-RC1
  • Lua-scripted HUDs
  • Detail Slopes
  • Good emulation of partial-invis effect
  • Nicer looking console
  • WAV and OGG/Vorbis loaders for sound effects
  • Flat alignment and scaling line-types
  • fixed firing rate of Super Shotgun (was too slow).
  • a working HOST-GAME menu which allows you to start deathmatch games with Bots. There's also a new Team-Damage setting and basic skill levels for the Bots.
  • nicer looking console (better font, colors).
  • demo support (playback and recording) was removed.
  • CD Music playback (via PLAYLIST.DDF) was removed, since that code caused a total lack of sound under Windows Vista.
  • the old shadows feature (which never looked particularly good) didn't survive an overhaul of the rendering code.
  • removed the LZO library. This means very old savegames won't work. Savegames made with EDGE 1.29 should be fine.
  • Lua-scripted HUDS allow new status bars, automaps and other Head Up Display elements to be created by writing a script in the Lua programming language.
  • map support for placing things on Extrafloors. Bits 10-13 of the options field is used as a 4 bit number for the extrafloor to place the thing on. Zero means the lowest ground (same as before), 1 means the next extrafloor up, and so on... Note: the BOOM MTF_RESERVED flag (bit 8) must also be clear for this field to be considered valid and usable.
  • new way to get FLAT lighting, which doesn't diminish by distance. The following command in GAMES.DDF enables flat lighting: LIGHTING=FLAT;
1.31 (August 23)
Build | Source | 1.31
  • MD2 models for things and weapons
  • Lua-scripted HUDs
  • Detail Slopes
  • Mirrors with multiple reflections
  • Nicer dynamic lighting, Sector glow effects
  • Timidity music playback
  • Rendering glitches fixed
  • Good emulation of partial-invis effect
  • More compatible sky rendering in 3D
  • Improved way of emulating DOOM light fading
  • More robust emulation of flat-flooding trick
  • Nicer looking console
  • TGA (targa) image format supported
  • WAV and OGG/Vorbis loaders for sound effects
  • Flat alignment and scaling line-types
  • Weak spots for monsters
  • DDF BECOME() action for changing type
  • Armor properties can be modified
  • Weapons can share a clip for both attacks
  • glitches/small gaps between polygons are fixed.
  • crash with Scuba Steve's flamethrow DEH patch.
  • Boom generalised linetypes were not saved in savegames.
  • fixed firing rate of Super Shotgun (was too slow).
  • ID(K)FA cheats now give clip weapons full ammo.
  • fixed problem saving the 'mipmapping' setting.
  • custom sky-boxes should always be used when present.
  • fix for filenames (like "") containing two dots.
  • proper test for existing titlepics in GAMES.DDF.
  • fixed console PLAYSOUND command when sound is not found.
  • no sprite check for spawned map-things (easier debugging).
  • fixed badly synchronised flash state of Super Shotgun.
  • prevent blood splats when Demon attacks a GOD-mode player.


1.31b (June 23)
[Build is LOST] | Source | 1.31b
  • These source changes were contained in a DIFF file.
  • /TODO
1.31c (June 25)
[Build is LOST] | Source | 1.31b
  • Macintosh port binaries are released; this version is only for the MacOSX
1.32a (July 7)
Build | [Source is LOST] | 1.32a
  • This is an UNSTABLE test release of EDGE, showing some work-in-progress features.
  • The renderer is totally messed up, lots of glitches, and even places where the whole screen goes black, as well as broken portals and mirrors (7 years bad luck?). It was an experiment that didn't quite work out. The old renderer will be restored soon.
  • The option and netgame menus don't work. They were disabled while upgrading many parts of the code to use console vars. They will come back when the new scripting language has been finished (all the menus will be written in it).
  • improved console with command history, tab-completion, key binding system, and cvars used for heaps of stuff
  • joystick support
  • obituary messages (new DAMAGE.OBITUARY field)
  • MD3 loader (NOTE: only a single mesh is supported)
  • standard DDF loaded from files (in doom_ddf/ folder)
  • allow multiple types of DDF in each file or lump
  • better crosshairs, more configurable
  • new splash screen, old title screens retired
  • support for the numeric keypad
  • new RTS command: ONCEILINGHEIGHT (Andrew Baker)
  • fixed some colormap issues
  • fixed slowdown with savegames on large maps
  • fixed teleporting into walls bug (with help from Andrew Baker)
  • fixed bug with LOSE_BENEFIT on ammo limits
  • fixed 16-rotation sprites. See included demo on MAP12.
1.32b (September 8)
Build | [Source is LOST] | 1.32b
  • Also known internally as EDGE-1.32-TEST2
  • inheritance for DDF
  • COAL for drawing the HUD, removed Lua. Not all the hud/player functions are usable in COAL.
  • removed STYLES.DDF support
  • replaced glBSP with TinyBSP
  • two "Action" buttons (RTS: ON_CONDITION ACTION1)
  • restored the renderer
  • better HOM detection (debug_hom cvar)
  • fixed problem with ICD-SE (airbar clash)
  • less warning messages for missing textures
  • automap doesn't wobble as you walk around
  • fixed ADDITIVE dynlights on skins with transparency
1.32c (September 14)
Build | [Source is LOST] | 1.32c
  • Changes not entirely documented from previous version (must find source code to accurately describe changes), link only comes with binary and nothing else (maybe crawl the forums)
  • /TODO
1.34a-TEST (September 29)
Build | [Source is LOST] | 1.34a-TEST
  • improved console with command history and TAB-completion
  • obituary messages (new DAMAGE.OBITUARY field)
  • two new Action buttons for RTS scripting
  • better crosshairs, more configurable
  • new RTS command: ONCEILINGHEIGHT (Andrew Baker)
  • support for keys on the numeric keypad
  • improved various defaults (e.g. WASD movement)
  • new Lua function: hud.play_sound()
  • shorter cheat code for 'killall'
  • better HOM detection (debug_hom cvar)
  • new 'goobers' cvar for a fun effect
  • old EDGE title screens retired
  • fixed 16-rotation sprites
  • fixed some colormap issues
  • fixed slowdown with savegames on large maps
  • fixed teleporting into walls bug (with help from Andrew Baker)
  • fixed bug with LOSE_BENEFIT on ammo limits
  • fixed weapon refire accuracy after a loadgame
  • fixed dynamic lights on translucent MD2 skins
  • fixed excessive warnings for missing textures
  • fixed gamma to be restored at exit
  • fixed display of gamma-changed messages
  • fixed some Timidity issues
1.34d-Hubby (October 9)
Build | [Source is LOST] | 1.34d-Hubby
  • The CHANGES.txt references 1.34c, which has not surfaced, so this will assume that information is partially correct.
  • HUB support!
  • obituary messages (new DAMAGE.OBITUARY field)
  • two new Action buttons for RTS scripting
  • better crosshairs, more configurable
  • improved console with command history and TAB-completion
  • new RTS command: ONCEILINGHEIGHT (Andrew Baker)
  • support for keys on the numeric keypad
  • improved various defaults (e.g. WASD movement)
  • new Lua function: hud.play_sound()
  • new 'debug_fps' and 'debug_pos' cvars
  • shorter cheat code for 'killall'
  • better HOM detection (debug_hom cvar)
  • always generate our own BLOCKMAP, ignore REJECT
  • new 'goobers' cvar for a fun effect
  • old EDGE title screens retired
  • fixed some colormap issues
  • fixed music detuning with Windows native playback
  • fixed slowdown with savegames on large maps
  • fixed teleporting into walls bug (with help from Andrew Baker)
  • fixed bug with LOSE_BENEFIT on ammo limits
  • fixed weapon refire accuracy after a loadgame
  • fixed excessive warnings for missing textures
  • fixed 16-rotation sprites
  • fixed some Timidity issues
  • fixed dynamic lights on translucent MD2 skins
  • fixed RTS execution semantics in multiplayer games
  • fixed crashes with "monster aggression" feature
  • fixed display of gamma-change messages
  • fixed gamma to be restored at exit
  • fixed Boom point pushers/pullers
1.34-RC1c (October 23)
Build | [Source is LOST] | 1.34-RC1c
  • new language "COAL" replaces Lua for drawing HUDs.
  • RTS files now need the "RTS" extension (not "SCR"), which is more accurate, plus the SCR extension is used by MS Windows for Screensaver programs.
  • the standard DDF/RTS files have been moved out of EDGE.WAD, instead they are stored in a folder called "doom_ddf".
  • savegames from 1.31 and earlier do not work. They do not even appear in the menu, because each savegame now has its own folder (as a consequence of the new HUB system).
  • improved console with command history and TAB-completion.
  • better crosshairs, with control over size and color.
  • support for keys on the numeric keypad. Default is enabled but you can disable it via the 'in_keypad' console var.
  • improved defaults (e.g. 16-bit sound, WASD movement)
  • wobble-free scrolling for the automap
  • shorter cheat code for 'killall'
  • better HOM detection (debug_hom cvar)
  • always generate our own BLOCKMAP and ignore REJECT
  • improved mouse and keyboard speed settings
  • in option menus, current line is highlighted
  • new 'goobers' cvar for a fun effect
  • Joystick support.
  • LINES.DDF: can prevent bots using a certain linetype via the new "NOBOT" keyword in the ACTIVATORS command.
1.34 (November 20)
Build | Source | 1.34
  • fixed STROBE lighting when minlight == maxlight


1.35rc1 (December 6)
Build | [Source is LOST] | 1.35rc1
  • fixed serious bug with COAL scripts, where replacing the draw_all() and begin_level() functions did not work -:* EDGE would always use the original one.
  • fixed music on MAP32 of DOOM II
  • fixed the marks on the automap
  • E2M8, E3M8 (etc) are playable without any bosses
  • got GL_COLOUR feature of COLORMAPS.DDF working
  • wide screen support, via new "Monitor Size" setting in the Video Options menu. Custom values can be set in the "r_aspect" cvar.
  • weapon and automap key bindings can be changed.
  • recognise HacX 1.2 as an IWAD.
  • renamed "Host Net Game" menu to "Advanced Start" and removed the references to networking stuff and the player list screen, so that people don't get the impression that Multiplayer is supported (it is not).
  • use Makefiles for building the code, ditching SCons.
  • control over automap grid spacing via 'am_gridsize' cvar.
  • when thing numbers in the level are unknown, limit the warnings to two specific things of that type and a "more found" message.
  • less warning messages when using old mods (like QDoom).
  • reviewed #CLEARALL behavior, made it ignored (with a warning) for several kinds of DDF where it was not safe or useful.
  • new console vars: am_gridsize r_fov r_zoomfov r_aspect


1.35 (April 1)
Build | Source | 1.35
  • This is the last build of EDGE, and Andrew Apted's departure from both EDGE and DOOM. Thus, this was his final release consisting of major bug fixes.
  • fixed texture offsets on mirrored walls
  • fixed behaviour of doors with self-referencing linedefs
  • better pre-caching of sprites, textures (etc), controllable via new cvars which begin with r_precache.
  • detail slopes: no limit to ceiling height difference, and the limit on floor height difference is now 24 units.
  • MD2 models will be vertically tilted (using the mlook angle) for all missiles and anything using the new "TILT" special.
  • DDF: new weapon command UNZOOM which forces the screen to be unzoomed if zoom is active.
  • DDF: new FAILED_SFX command for LINES.DDF, which plays a sound when the player tries to use a locked door without the key.
  • Last build of EDGE before forking and continuing as 3DGE (also known as hyper3DGE)
1.35d (February/April 16)
Build | [Source is LOST] | 1.35d
  • This binary was originally compiled in February 2011, forked from EDGE 1.32C and "merged" with EDGE 1.34. After EDGE 1.35 came out, the engine carried some fixes over and recompiled. Engine was built for Hypertension (hence the name hyper3DGE).
  • Engine core from EDGE 1.32c ported (except TinyBSP).
  • updated all libs (except JPEG)
  • changed ICON
  • restored EDGE splashscreen in main code from 1.32
  • restored customizable console graphics in styles.ddf from 1.32
  • restored customizable menu graphics in styles.ddf
  • renamed a few menu options
  • updated many of the project libraries to new versions
  • changed EDGE icon to hypertension icon
pre1.36 (February/April 16)
Build | [Source is LOST] | pre1.36
  • FULL compatibility with EDGE mods now.
  • This version is a "clean" copy from the official final 1.35 release, with the core from EDGE 1.32c and 1.35d merged.
  • Networking stuff has been added in for debugging. *All viable netcode has been disabled for this test!
  • MD3 Support! Syntax is the same as MD2, with the exception :* lump/file name should be xMD3 instead of xMD2 (where 'x' is the name). Limitations: single-mesh supported.
1.36A (June 21)
Build | Source | 1.36A
  • DDF Additions: Added SCREAM_SOUND for the player when they fall long distances, ala Hexen.
  • Customizable styles.ddf (namely, background.image) has been added back and fixed (console image now sizes correctly).
  • Bumped edge2.wad version number
  • Released Source.
  • Minor cleanups
1.36B (July 21)
Build | [Source is LOST] | 1.36B

+ Splitscreen mode (thanks Ajapted) implemented, paving the way for true multiplayer + Bugfixes and optimizations

  • HUD may occasionally glitch, working on new things in source.
  • New CMD -splitscreen is heavily bugged, no input support for player 2 (only the mouse), makes playing impractical.
1.36C (November 21)
Build | Source]] | 1.36C
  • 3DGE has limited STYLES support now :* the only user-configurable DDF is the CONSOLE background image, which is default to the 3DGE logo. This image resides in EDGE2.WAD. The menu graphic is no longer supported.
  • Statically-linked EXE no longer needs output MinGW DLLS, period. You still need SDL.DLL in the base directory.
  • EXE filesize has been greatly reduced.
  • DDF "SCREAM_SOUND" has been renamed to "FALLING_SFX" :* this can be used in THINGS.DDF for the player :* alternatively, it can also be used for monsters. Added a switch so the sound doesn't automatically repeat after the first falling sound plays in SOUNDS.DDF.
  • Bugfix for the Weapon Selection if the player had both modeled weapons and sprite weapons in a certain amount. Before, the weapons simply wouldn't show up when selected. (thanks AndrewJ)
  • Bugfix with ZOOM feature, has been restored to an earlier version (now, no more using a weird number).
  • Cleaned-up the source code. Added FBO and PBO for testing the inevitable post processing. Released source.
  • Updated and re-worked documentation :* split up the README into several smaller pieces.
  • Bumped edge2.wad version number to 7 due to the inclusion of the new console graphic. Updated DDF files to version 1.36.
  • There is no more cross compatibility between 3DGE and EDGE if mods were created -AFTER:* EDGE 1.35. Likewise, mods created for 3DGE 1.36b and lower might not function in 3DGE 1.36C.


1.36D (February 7)
Build | [Source is LOST] | 1.36D
  • HUD Memory Corruption has been resolved, and now the HUD ticker correctly writes to the screen again. This was an issue with old post-processing code that I have since removed.
  • Customizable styles.ddf (namely, background.image) has been added back and fixed (console image now sizes correctly). By default, the menu graphic is "CONSOL_P", but you can change this to represent a cyan image for full translucency or whatever you desire, really. STYLES support is working again and was actually restored from 1.36A instead of the butchered copy in 1.36C.
  • Savegame PATCH level restored to EDGE 1.35 to retain backwards compatibility. Savegames work again.
  • DDF "FALLING_SFX" has been renamed to "FALLING_SOUND" :* this can be used in THINGS.DDF for the player :* alternatively, it can also be used for monsters. This will occur if the actor is falling off of something (after -35 units).
  • ZOOM bug is back, splitscreen bugs still exist for now, and to start Splitscreen you still need to define the switch before you start the port.
  • Removed remnants of HawkNL in favour of ENET (for multiplayer debugging)
1.36E (October 16)
Build | [Source is LOST] | 1.36E
  • Added HERETIC IWAD support, though it's still WIP. You can finish the game from start to end, but the inventory support is not implemented.
  • Herfix.wad contains important state fixing for some of the weapons and creatures. These changes will eventually be integrated into edge2.wad.
  • Heretic support is incomplete :* the inventory is non-existent, the menus are completely garbled, and the HUD does not function. Cheats are not supported.
  • added her_ddf in source based on specs provided by Ajapted. Chris Mullen writes the HDF code in full.


1.36F (November 21)
Build | Source | 1.36F
  • As per suggestion, this version executable is just named "3DGE.exe".
  • Feature: Two NEW Action Buttons (ACTION3 and ACTION4).
  • Timidity: Packed-In GUS patchset makes Timidity instantly ready to use under Windows.
  • Bugfix: Dehacked Strings now never run out of lines with intermission, etc. Deh_EDGE lib in source was overhauled to support all Dehacked versions.
  • Cosmetic: Options Drawer cleaned up, removed splitscreen controls menu (for now)
  • Cosmetic: disk-loading icon is now disabled by default (re-enable with m_diskicon)
  • Cosmetic: Game now lets player know in console and HUD when a game has been saved.
  • Cosmetic: New Default HUD replaces the old BOOM-style one from DosDoom 0.653
  • Heretic: To Run Heretic, run HERETIC.BAT. This will append herfix.wad, HDF, and the Heretic IWAD.
  • Slopes were fixed when used in a sector with 3D floors.
  • Final full release in the 1.x EDGE branch.
1.4A (September 30)
Build | [Source is LOST] | 1.4a
  • In the first step towards 3DGE 2.0, this release incorporates rendering interpolation.
  • Currently, doors/lifts/misc remain hard-capped at 35hz
  • Interpolation throws as many frames up as possible, resulting in inconsistent framerate, especially in large maps.
  • Hardcoded fog (cannot disable)
  • Enable/Disable interpolation with the CVAR: r_lerp
  • Splash screen is disabled
  • Almost all EDGE 1.32 code is removed
  • Headbob is disabled in this release
  • No VSYNC
  • Incorporated Splines lib
  • MD5 backend code lib
  • Quaternion support in EPI: /epi (math_quaternions), used for interpolation, MD5, and Splines


2.0.0 (March 11)
Build | [Source is LOST] | 2.0.0
  • Feature: Rendering Interpolation. You can control this with the following CVARS in the console: r_lerp (disables/enables), r_maxfps, r_vsync (helps screen tearing)
  • Feature: MD5 model support. This is still sort of incomplete, as there is no MD5 support for weapons (yet). The MD5 loader cannot process skin_img yet, but the engine will warn you about the skins. MD2 and MD3 models are still supported as of this release!
  • Bugfixes: Hardcoded fog removed, vSYNC works, splashscreen restored
  • All changes/fixes from 1.36F incorporated
  • DDF: Added SECRET_SOUND as a Command in Things.DDF, this is default to "DSSECRET" in edge2.wad and Things/Sounds
  • The next version will include regulations that prevent older mods not designed for EDGE 1.35+ to fail, but with instructions on how to convert them to work with the 2.0 branch.
2.0.1 (June 2)
Build | [Source is LOST] | 2.0.1
  • MD2/MD3/MD5/MDL models now display with Masked Blending, enabling two-sided surfaces!
  • Bobbing is restored in the source code. No need to tinker with the BOBBING= setting, though restoring Bobbing introduces hindered interpolation (if r_lerp set to "1"). 2.0.2 will have interpolated head bob. You can adjust the bobbing COMMAND to make it less or more severe, depending on your taste.
  • COAL: Added multiple HUDS for DOOM - now you can choose between the classic HUD, no HUD, or the 3DGE HUD (improved with on-screen ammo counts). Just toggle between them with the +/- keys.
  • Fixed classic DOOM HUD causing weapon to be vertically "squished".
  • Support for FreeDoom Phase 1 and 2 IWADS (freedoom1.wad and freedoom2.wad) and the Chex IWAD.
  • DDF: Vastly improved Styles.DDF Support (allows MENU/OPTIONS/etc. customizations): can customize RTS_MENU now with an animation or graphic. Able to call Anims.DDF through COAL and RTS, Anims.DDF has been improved.
  • DDF: Smoother weapon state ticrates (0.0f), however this is untested.
  • BOOM: Working on more generalised linetype compatibility issues. For now I am adding the linetypes into LINES.DDF as I go.
  • Fixed a bug with the Quit screen rendering all black instead of transparent.
  • Fixed a bug with SpiderDemon and CyberDemon's Walk sounds (METAL/HOOF) not being audible.
  • Removed Dehacked version checking in DEH_edge - now, any kind of DEH should load.
  • Splashscreen can be enabled with a commandline option (-showsplash); disabled by default.
  • HERETIC: New heads-up display, working on writing the default HUD, but for now Heretic users can use the streamlined HUD overlay. Integrated patch graphics for the menus. The HUD is not in herddf, but in HERFIX.WAD.
  • Prototypes added:
  • Custom SWIM states for monsters
  • Custom ON_CONDITION states for MOBJS (to control through RTS)
  • Stencil Buffer added to 3DGE (drawplane reflections for water/etc)
  • Bounding Box Upgrades (simple directional physics using lightweight library)
  • Caustics on walls
  • Beginning of Half-Life MDL format support (bones, skeletal)
  • Restored DrawLaser in for eventual laser rendering
  • Fixed MD5 scale and rotation, working on skin_img support
  • Player 2 Input (rework)
  • Start of Decal code (using the Stencil Buffer).
  • Action keys 3 + 4 (debugging)
2.0.2 (August 31)
Build | | 2.0.2
  • Finale screen bugfix: now, no more black screen when ending a DOOM 1 episode (currently non-skippable to match original game behavior)
  • DDF fixes: Chainsaw attack range was set incorrectly, now matches Punching logic; HOOF/METAL sfx audible again.
  • Further dehacked tweak to ignore duplicate entries in dehacked lump if it exists
  • Added Interpolation option under Video Options (default is ON).
  • Finally fixed the SSG appearing in DOOM 1 bug with IDFA/IDKFA cheat.
  • Toned down the red palette effect for pain to match Radiation Suit logic.
  • When the console is dropped down, the game now pauses.
  • When a screen wipe is called, the game will pause and start only after the screen is cleared.
  • Invulnerability method was removed from the Video Options menu. The major slowdown issue that was caused because of backface culling has been eliminated when "COMPLEX" was selected. Because of the chance of someone messing with it, Invulnerability has been removed from the menu - it is *always* set to "Textured" now.
  • Small tweaks here and there, updated edge2.wad, removed unnecessary warning strings from console, etc etc.
2.0.3 (April 2)
Build | | 2.0.3
  • Bugs Fixed (too many to go over in this file)
  • Reworked the menu display system (see changelog for full list)
  • HUD text is now drawn to the center of the screen.
  • Much improved defaults (edge2.cfg)
  • Win9X support is back, removed SSE2 compiler optimizations so engine can run on more builds
  • Interpolation is slightly improved from the last release, but still needs smooth stepping up.
  • Added OpenGL2 mode (though, sprites are not yet ran through this, so it is set to 1 for now)
  • Removed pause on screenwipe (didn't look pretty spawning on the floor, waiting for alternative)
  • Removed finale screen "bugfix" (got stuck forever on screens, now instead of black screen, it will just loop over again (this applies to DOOM 1 episodes)
2.0.4 (April 24)
Build | | 2.0.4
  • Two EXES are included in the distribution, with the SSE2 build taking advantage of newer CPU instructions.
  • 3DGE.exe, for older processors that cannot take advantage of instruction sets. Uses older statically-linked libs and older GL headers. Safe for older hardware, and integrated Intel/etc GPUs.
  • 3DGE-SSE2.exe, recommended for newer AMD or Intels. Renders models, OpenGL instructions, and processes images much quicker, using SIMD instructions for stuff. Eventually, the SSE build will supersede the older NOSSE binary.
  • Interpolation is complete, additionally extending to RTS sector functions as well. HUD is interpolated. Weapons and all of DDF are interpolated. Step ups (even on slopes) are interpolated: nearly everything _but_ texture scrolling and a few very minor things.
  • r_vsync can now be "0", "1", or "2", depending on hardware configuration. Check this value in the console by typing in r_vsync before changing this.
  • Additional Bugs Fixed with original maps, logic, etc. Minor but annoying things.
  • Updated Heretic support, adds menu graphics and improved other things. To make it run with the SSE2 build, edit HERETIC.bat and rename the executable.
  • Updated libs for Windows versions. NOSSE uses older libraries, while SSE replaces some entirely. Adopted libjpeg-turbo, and MD5 sse2 calculations, and integrated NOASM into some stuff, while upgrading to the brand-new GLEW 2.0.0 (replaced the ancient 1.5). Still planning on abandoning GLEW entirely with 2.1.0 and SDL2.
2.1.0-Test1 (June 13)
Build | | 2.1.0-Test1
  • SDL2 support (input, video, controllers, networking) - this is still being developed!
  • NEW FEATURE: OPL music synth. Also can select OPL3 mode for stereo panning.
  • NEW FEATURE: grAb PNG chunk (from ZDoom) is implemented, removing the need to manually offset images in IMAGES.DDF if the end-user so desires (only for PNG images).
  • NEW PACK-INS: Removing Timidity Patches paved the way for a new 'mods' folder, with some recent 3DGE mods being included, and others are explicitly defined in a text file named 'Download_ME.txt'. Just copy the desired mod into root and drag n drop to give it a whirl! Credits are all included.
  • DDF math and engine funcs has been refactored and sped up.
  • Better glBSP handling/building (upgrade to Eureka's codebase, also converted to c++)
  • Better interpolation handling (no stuttering whatsoever!)
  • Much smaller EXE under VS, and the code has been heavily optimized and improved due to Visual Studio's awesome optimizations. Also, many minor bugs were fixed.
  • Resolution list-building and in-game changing is completely broken. Either use your previous config or modify edge2.cfg to your desired res. Can also use the command line. This was a result of our continued cleanup of the codebase for SDL2. - No SSE2 extensions or anything included, and x86. This is to ensure maximum compatibility.
  • Heretic support is pretty WIP at this point, as Plums and Cor are redesigning the menu layouts.
  • Multiplayer graphic is the menu now, but is not selectable yet. Next release will have split-screen and two-player controls.
2.1.0-Test2 (August 22)

Build | | 2.1.0-Test2

  • Bug Fix: Fixed shifting animated sprites in THINGS.ddf (torches, barrells, etc) [1]
  • Bug Fix: Inverted wall tiles in mirror were showing wrong previously, and item floating on player crouch [2]
  • Bug Fix: Tile bug with certain wall textures, notable on 128x96 textures (patches and PNG/JPG/TGA)[3]
  • Bug Fix: Verticle Attack Range (chainsaw/punch, etc) now being checked and calculated using slope float.[4]
  • Bug Fix: grAb chunk for PNG sprites works properly now.[5]
  • Bug Fix: 3DGE now unloads level on level exit to stop SFX[6]
  • Bug Fix: 3DGE now warns the user if an image in DDF is missing, rather than exiting.[7]
  • Bug Fix: fixed non-solid blend error/behavior for transparency.[8]
  • Bug Fix: Fixed Z Momentum clearing to fix jumping behavior[9]
  • Bug Fix: Icon of Sin Finale in DOOM II working again
  • Bug Fix: finales are now skippable in DOOM 1 episodes without the "black screen of death"[10]
  • Bug Fix: Light-Amp Goggles/Nightvision graphics now show up properly in[11]
  • Bug Fix: DOOM 1 episode end maps will skip intermission screen instead of displaying stats screen (Added STATS=NONE;)
  • Bug Fix: "Picked up a armor bonus" text changed to "Picked up an armour bonus" in DDFLANG (doom_ddf).
  • Bug Fix: SDL2 Resolution Handling/Window Management has been fixed[12]
  • Bug Fix: Brightness changes on dual-monitor setups no longer affect both screens[13]
  • Bug Fix: 'Use Key' moved to second control page (the previous way prevented reliable changes to major key assignments)[14]
  • Bug Fix: Behavior of volume control buttons in previous SDL1 builds is now fixed and works properly with SDL2[15]
  • Bug Fix: OPL3 mode fixes.[16]
  • Bug Fix: Screen mode wipes correctly display in OPTIONS menu. [17]
  • Bug Fix: Interpolation fixes, and VSYNC is restored in the OPTIONS menu.
  • Bug Fix: Archivile's attack range was previously Unlimited - added ATTACKRANGE=1024; to mimick Vanilla behavior instead.[18]
  • Bug Fix: Mancubus was invulnerable to Chainsaw damage - changed ATTACKRANGE from 63.9 to 96 (same as punch/Vanilla)[19]
  • New Menu: Multiplayer, with the option to start a split-screen game and some basic configurations for the game. You must END GAME (leave game in OPTIONS menu) to reset the gamestate to one-player (for now...)
  • PAK support is mostly completed, and can be used for mods (must have .PAK extension, directory trees not yet supported)
  • NEW FEATURE: New -modpalette command, used to override PLAYPAL for modders who do not wish to use multiple palettes (the 'EDGE' system)
  • DDF: Added GLOOP_SOUND to Things.DDF (GLOOP_SOUND="DSGLOOP";) and in SOUNDS.DDF - it is played when the player steps on a liquid flat.
  • COMPATIBILITY: You must now specify #VERSION 210 to all DDF files in order to use them with 3DGE -- otherwise, you will be forced to run your= mod with a new command-line switch -v135. If mods are made with EDGE 1.29 or lower, use the switch -v129.
  • Revised dynamic lighting, much more natural to their attached objects, and vastly reduced surface areas.
  • Heretic support has been vastly improved, but the full-screen overlay HUD still fails to take into account the different Heretic weapon offsets. menus have been fixed as well. Numerous other small fixes for compatibility. No longer need 'HERFIX.wad'. Two HUDS are now available - standard Heretic, and 3DGE's 'overlay'. Standard Heretic HUD still needs lifechain and lifegem fixes in
  • Heretic can now be started without using the batchfile. Heretic's DDF files are located in its own directory, called 'her_ddf'.
  • Staged Wolf3D and ROTT support with command-line args, and DARKWAR.WAD is recognized, but these are far from complete (don't try to load 'em!)
  • DDF's must now be appended with the following version directive: #VERSION 210, and if you load a mod that is designed for anything lower than 3DGE 1.36, a fatal crash will occur -- there is no reliable way to load very old mods (below EDGE 1.29), so they need to be manually patched!
Next version (Road Map)
  • In progress features will be listed as they are developed/planned.