EDGE 2.1.0 Discussion [RC-1 Released on 10.3.2018]

Game Engines like EDGE, LZDoom, QZDoom, ECWolf, and others, go in this forum
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Posts: 447
Joined: Wed Aug 15, 2012 3:41 pm
Location: California

EDGE 2.1.0 Discussion [RC-1 Released on 10.3.2018]

Post by Coraline »

2.1.0 RC1 has been officially released, grab it from here!

UPDATE!! 3DGE 2.1.0 Devbuilds here!

Make sure to visit and support the * Shiny New 3DGEwiki

Code: Select all


CHANGELOG for EDGE 2.1.0-RC#1 (since 2.0.4 Final)

(Date: OCTOBER 2018)

Bugs fixed

+ Fixed ghosting images when sizes were not exactly the same

+ Action Buttons work and are toggable again

+ Fixed 512x512 DOOM textures (tested with Zoon4.wad)

+ Recruse root subdir to TopLevel with PK3/PK7

+ Fix rattling items stuck in wall (Doom Forever Redux, others)

+ Make origin 0,0 of grAb struct match 3DGE's origin

+ Fixed brightness settings under Linux and Windows

+ Disabled MD5 verticle rotation (for now)

+ Increased r_units vertex count limit and added an assertion for 3D models

+ Clear momentum if can't slide along wall

+ Change wall bounce angle from random to perpendicular.

+ Fixed shifting animated sprites in THINGS.ddf (torches, barrells, etc)

+ Inverted wall tiles in mirror were showing wrong previously, and item floating on player crouch

+ Tile bug with certain wall textures, notable on 128x96 textures (patches and PNG/JPG/TGA)

+ Verticle Attack Range (chainsaw/punch, etc) now being checked and calculated using slope float.

+ grAb chunk for PNG sprites works properly now (see New Features for more information)

+ Unload level on level exit to stop SFX

+ Warn the user if an image in DDF is missing, rather than exiting.

+ fixed non-solid blend error/behavior for transparency. If your images are coming out WRONG, set r_oldblend to "1" and restart

+ Fixed Z Momentum clearing to fix jumping behavior

+ Icon of Sin Finale in DOOM II working again

+ finales are now skippable in DOOM 1 episodes without the "black screen of death"

+ Light-Amp Goggles/Nightvision graphics now show up properly in COAL_HUD.ec

+ DOOM 1 episode end maps will skip intermission screen instead of displaying stats screen (Added STATS=NONE;)

+ "Picked up a armor bonus" text changed to "Picked up an armour bonus" in DDFLANG (doom_ddf).

+ SDL2 Resolution Handling/Window Management has been fixed

+ Brightness changes on dual-monitor setups no longer affect both screens

+ 'Use Key' moved to second control page (the previous way prevented reliable changes to major key assignments)

+ Behavior of volume control buttons in previous SDL1 builds is now fixed and works properly with SDL2

+ OPL3 mode fixes.

+ Screen mode wipes correctly display in OPTIONS menu. 

+ Interpolation fixes, and VSYNC is restored in the OPTIONS menu.
      - If you use VSYNC, make sure its value is set to '2' or higher in the console, using the r_vsync CVAR.
         - Failing to do so will result in a poor framerate and a host of other issues.

+ Archivile's attack range was previously Unlimited - added ATTACKRANGE=1024; to mimick Vanilla behavior instead.

+ Mancubus was invulnerable to Chainsaw damage - changed ATTACKRANGE from 63.9 to 96 (same as punch/Vanilla)
+ Many more bugfixes that we have not documented here, but can be found in the Git commit history

General Improvements

+ Interpolation and VSYNC are handled much better than they were previously

+ Engine: 64-bit support in EDGE has been added (those builds are labeled with x64) - for x64 your processor must support AVX. (Windows XP is not supported in this platform.)

+ Engine: 32-bit builds in EDGE require SSE/SSE2 support: if your processor is not SSE2 compliant, EDGE will not run. (Windows XP is supported on this platform.)

+ OpenGL: Send data to OpenGL using GL_TRIANGLES and in larger glBegin batches for speed increases.

+ Audio: OPL music player system added (using nukeyT's library) - can also use OPL3 mode. Removed baked Timidity GUS patches.

+ Renderer: GLSL Post Processing has been improved over earlier Devbuilds (FXAA has been added)

* DDF: Episode selection screen does not show up if there's only one episode

+ new console var r_oldblend, which can help emulate the old way EDGE used to emulate blending mode, which was wrong, but added this cvar for backwards compatibility (you must restart EDGE for it to take effect)

+ Engine: Fullscreen now defaults to '0' (starts in a windowed mode), if using 1080p resolutions you will always get better results using Windowed mode - when switching to fullscreen there might be a small delay as instances are torn and re-created for OpenGL. This is widely system-specific as I've had other users report different results, so if this is still broken for you it is imperative you let me know (please)!

+ Engine: EDGE.EPK has been updated, in the next releases the EPK system will be broken down in a 'base_edge' folder, much the same way Eternity has their scripting system set up. If you are a new modder using EDGE or an existing one, take a look at edge.epk in SLADE to see an overview of how archive paths work.

+ Renderer: Allow shaders to be referenced in archives (/shaders/GLSL), must have .fp (frag) and .vp (vertex) shader files. You can make changes to what is included by copying the 'edge.epk/shaders/GLSL/' folder to your own archives. This will be further improved in the future by being able to specify shaders via 'shaders.ddf', or possibly 'shaders.ec', which will also do dynamic shader compiling, most likely using COAL as well.

+ Renderer: Swap Interval addition to i_video via SDL2 (smoother gameplay), figures this out at runtime in a platform-dependant way. Much improved VSYNC handling over 2.0.4.

* Engine: Screen Shake can now be disabled in Screen Options - moved I_Tactile over to COAL

+ Renderer: ROQ Movie Support (currently only 'intro.roq' is supported), can be skipped on startup

* Engine: Crash module from Eternity has been slightly reworked (this is being left out of the Devbuilds for now!)

+ Renderer: GLEW was completely removed in favor of GZDoom's GL extension handling

+ IWADS: Added shareware DOOM (doom1.wad), SLAVE (slave.wad), ROTT (darkwar.wad), and STRIFE (strife1.wad) - the latter two are works in progress!

+ Engine: OpenBSD and Raspberry PI support has been added

+ Audio: Support float32 audio devices (SDL2) for Windows 10

* Renderer: Updated P_PointonDivlineSide to reference the original function instead of the faster function that was there in earlier devbuilds (will eventually work this out, but the original, slower version was stricter for certain DDF code checks and OpenGL compatibility)

* Utility: glBSP has been updated and slightly reworked to allow processing of map WADS in archives now (as long as WADS are located in the archive subdirectory /maps0). Note that in the future, glBSP will be kept for node generation of IWADS, but all PWADS will be explicitly built with zdBSP.

+ better Multiplayer menu support system and handling

+ Detail slopes are now full slopes with physics

+ Use CMake for building the code, ditching Makefiles altogether

+ Limit amount of warnings in EDGE.log, all warnings will still show up in debug.txt

+ Recognize more IWAD types (Rise of the Triad, Strife, new phases of FreeDoom)

+ Fixed ACTION 3 and ACTION 4

+ Sprite scaling and world stretching is more improved if using Post-Processing (GLSL), you can find these in the Video Options menu

+ Revised dynamic lighting, much more natural to their attached objects, and vastly reduced surface areas.

+ Overall improvement of menu systems



New Features

+ PAK/PK3/PK7/EPK archive support

+ UDMF Map Support (on-going)

+ Polyobject Support (though only a limited subset is supported, on-going)

+ GLSL Post Processing Shaders: EDGE now uses a system borrowed from GZDoom for screen-space shaders - use -norenderbuffers to disable them. You can find and customize these shaders in the EPK (./shaders/GLSL/)

+ DDF: Support has been added for several new image types via DDFIMAGE; must use 'EXT' as the 'type' - as well as supporting PNG and JPG, we now also support BMP, PSD, GIF, HDR, PIC, PNM, and animated GIFS. grAB is finally working 100%, but for grAb images you _must_ use :PNG: as the IMAGE_DATA= TYPE or grAb will not be recognized.

+ Sound Pitching (Options->Sound Options to disable) - per-sound entry for pitching will be available in the next RC

+ Added back shadow code (right now, uses simple shadows (blob), then Normal (sprite), then Complex -- the latter is not complete yet).

+ Weapons DDF now supports the DJNE weapon action for more robust weapon reloading
           (see http://3dfxdev.net/edgewiki/index.php/WEAPONS)

+ Force Feedback for screen and controller (for these builds, use -ffshake at the command line)

+ Teleportation effects are back - WARP IN is default, then there is Zoom In, or None.
           Menu -> Options -> Screen Options

+ Implemented Optimus GPU switching.

- DDF: Removed bobbing out of DDF and into COAL, which is more robust (no longer a percent, but a Float) - see the COAL Manual under Player Module for more information

+ Transparency and culling on MD2, MD3, and MD5 models has been improved

+ Models: Bump-Mapping, Specular, and Brightmap support has been added (see Wiki for more documentation)

+ 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.

+ COAL/RTS: Added Camera-Man Module for full control of cameras (saves to doom_ddf/cameras) - this works with Radius Trigger Script (RTS) to set specific events for cinematic cameras. See Camera-Man tutorial on the Wiki for more information.

+ COAL: Added ability for player to set vertical bobbing and Camera Rolling values: cam.set_vert_bob(f) and cam.set_roll_bob(f)

+ COAL: Added player.get_side_move() to COAL for strafe detection (mostly for Camera-Rolling or other things like model animations)

+ COAL: Added player.add_tactile() to COAL for screen shaking events/etc

- Utility: Added better detection of ROTT datas, still no BSP support (yet)

- Engine: Screen shaking for melee attacks has been disabled for now

+ New CVARS added: r_oldblend, r_transfix, r_gl3_mode, r_vsync, m_tactile, r_stretchworld, r_spritescale, r_bloom, r_bloom_amount, r_fxaa, r_fxaa_quality, r_crosscolor, r_crosssize, r_crossbright, r_spriteflip

+ Added more options for the default HUD in DOOM

+ NEW CVARS to control on-screen HUD scaling and pos (values listed are the default):     
    { "r_textscale" "0.7" }, //0.7f is the default for HUD_SetScale(). Sets HUD Text Scale. Dupliate for RTS tips.
    { "r_text_xpos" "160" }, // Center text on the X Axis
    { "r_text_ypos"3" }, // Align text on the Y Axis

Known Bugs

- SDL2 Audio Support is still a mixed bag - later RC builds will replace the SDL2 audo sub-system with OpenAL, so we are not fixing this issue at the moment. If SDL2 2.0.8 gives you audio problems, try switching to SDL2 2.0.6 or lower - this has been reported to fix the sound anomolies for some.

- Switching from Windowed mode to Fullscreen mode might leave your screen blank or black - please report this bug if this happens to you. Quick Fix: Simply restart EDGE and it will appear normally.

- Sometimes menu navigation (especially Multiplayer) can be buggy - this will be improved in time

- Controller/Mouse/Keyboard support is broken for two-player splitscreen - this will be improved in later RC builds

- Traditional DOOM HUD bar is not scaled properly via coal_hud.ec - this will be fixed in a later RC

- Rise of the Triad is not yet playable with the original RTL (TED) levels yet, very minimal work in scripting code for that gameplay

- Wolfenstein3D is not yet playable (working on the BSP conversion) - this will be fixed in a later build

If you encounter any other bugs, please report them on SourceForge.

Some features that are mostly working and will be released for 2.1.0:
* Full Splitscreen support (AI fixes, Scripting fixes, controller/joystick fixes)
* OpenAL sound system
* Various bugfixes and DDF add-ons

Features that are in-development and showing progress :
* Inventory System (to support Heretic that's in beta stages as of 1.36E, can also be used for mods)
* UDMF Map Support
* Force Feedback controller support
* Aforementioned full Heretic and HACX 2.0 support
* Spline-based Camera Scripting format (working, just need to call external scripts in engine), could be used to make an RE-style game or in-game cutscenes

* Quake 3 BSP Support
* Quake3-shader sky code (replace DOOM sky code)
* Flat warping (hardware)
* Strife Support
* ROTT Support
* Wolfenstein/Blake Stone Support
Last edited by Coraline on Thu Oct 04, 2018 9:48 am, edited 18 times in total.
User avatar
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: 3DGE 1.37 - impending release

Post by Enjay »

Interesting news. Good to see the spirit of EDGE continuing.
corynne wrote: * Full ROQ cinematic support (uses RTS to call cinematic, can be played before level start or after level end, new engine intros use the format)
I'm intrigued by the ROQ format. Are there any tools for it? Is it possible, say, to convert to and from other video formats such as AVI or whatever? Indeed, is there any way to play a ROQ video other than using a game engine? I've always come up against a dead end when trying to figure it out in the past.
User avatar
Posts: 447
Joined: Wed Aug 15, 2012 3:41 pm
Location: California

Re: 3DGE 1.37 - impending release

Post by Coraline »

Here is a guide that allows you to do just that. It's called Quake Video Maker, as far as I know the only tool for it. I think decoders lie elsewhere in obscure forms but I don't remember the names. There are a lot of restrictions, you can't just convert from any AVI as I recall (needs to be uncompressed I think). It took a lot of trial and error before I was able to get things looking good. 3DGE plays them wonderfully. I've also tinkered with the possibility of getting them to render to surfaces but that's a different story.

And thanks for the kind comments. Hopefully modernizing EDGE will get it in a better standing throughout the entire community than it has right now.
User avatar
Posts: 2677
Joined: Sun Nov 16, 2008 2:59 am
Location: with you in the dark

Re: 3DGE 1.37 - impending release

Post by Ethril »

How do you even pronounce that name? Is it still "Edge", or, uh... "Three-edge"? "Threedge" (rhymes with the "weeg" in "luigi")? "Three-deege" (ditto)?
User avatar
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: 3DGE 1.37 - impending release

Post by Enjay »

I'm guessing still "Edge" because a 3 is generally accepted to represent an "E" in number-substitution notations such as leetspeak (or perhaps 1337$p34|<) and places where formulaic arrangements limit the number of character combinations available (e.g. British car registration numbers).

However, the fact that it makes the start of the name say "3D" is kinda cool too.
User avatar
Posts: 447
Joined: Wed Aug 15, 2012 3:41 pm
Location: California

Re: 3DGE 1.37 - impending release

Post by Coraline »

You're not the only one that's asked me that. The intention was that it's pronounced exactly the same as EDGE, just with a 3 (you know, the whole l33t speak, you don't pronounce l33t lthreethreet) in place of the E. The 3 is also to imply that you don't need "DOOM" to play the game (instead the name could be 3D Gaming Engine). Lots of different (But not literal) ways.

On the Doom wiki, it explains the name:
The name is a play on EDGE - the "3" is to symbolize the third line of continuation from EDGE and DOSDoom.
EDIT: Damn Enjay you beat me to it!
User avatar
Posts: 727
Joined: Fri Jan 01, 2010 7:14 am

Re: 3DGE 1.37 - impending release

Post by DaMan »

So you're the 1 guy that liked Driv3r!
User avatar
Posts: 447
Joined: Wed Aug 15, 2012 3:41 pm
Location: California

Re: 3DGE 1.37 - impending release

Post by Coraline »

lol. Wasn't the original Driver on PSX or something? Yuck.
User avatar
Posts: 970
Joined: Tue Jul 15, 2003 5:43 pm

Re: 3DGE 1.37 - impending release

Post by SyntherAugustus »

corynne wrote:
* Full Splitscreen support (AI fixes, Scripting fixes, controller/joystick fixes)
Quick! Add it to Zdoom! ;)

having fps uncap would make me interested in this indeed if only for the splitscreen. I have a 144hz monitor that benefits it from GZdoom greatly atm.
User avatar
Posts: 447
Joined: Wed Aug 15, 2012 3:41 pm
Location: California

Re: 3DGE 1.37 - impending release

Post by Coraline »

I know it's [FPS uncap] something everyone wants (sometimes I day dream) but I don't have the time or the knowhow. Reason is that there is just simply so much to interpolate between the game code and the numerous scripting systems (we're up to 4 now - DDF, RTS, COAL, and SPLINE). It'd take a magician to crack that and I'm not necessarily an expert programmer. I've taken notes on other ports for years and if I seriously attempted it I'd probably get close, but there's not much to go off of...believe me, 3DGE is a different beast in comparison to the others.

The only (modern-ish) port with enough lineage to see how things work reliably is Doom Legacy, and I don't think they've had an FPS uncap yet (and it's written in C as opposed to C++, but that's alright).

Splitscreen is fun. It's nice playing (if you sort of patch them) QDOOM or anything Cory Whittle or wildweasel type stuff. Compatibility though has taken a hit (DosDoom 0.65, anything older than EDGE 1.24) and I do my best to correct them (1.27-1.29 isn't too hard to get running right). And of course it's nice playing BOOM-compatible or vanilla maps on, as well.
User avatar
Posts: 21706
Joined: Tue Jul 15, 2003 7:33 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): A lot of them
Graphics Processor: Not Listed

Re: 3DGE 1.37 - impending release

Post by wildweasel »

Hmm. Considering none of my mods for EDGE were designed with multiplayer in mind (since...y'know...EDGE never actually had multiplayer support!), I'd be interested to know how those play in splitscreen. I'm going to guess that Immoral Conduct won't work in MP though, since Cory outright replaced the multiplayer spawners to randomly spawn AI buddies.
User avatar
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: 3DGE 1.37 - impending release

Post by Enjay »

Here's something that you may, or may not, be interested in. Using the map Frozen Time and standing in the location in the screenshots, In GZDoom I get 30fps (27 with dynamic lights) and the map looks fine. In 3DGE 1.36, I get 2fps and there are gaps/visible glitches in the bridge [edit]that was with dynamic lights - switching them off gave me 3fps[/edit].

(South end of bridge, approx coords 4670, 6040)

In both cases I used -nomonsters and FRAPS to do the benchmark.

aaand, purely out of interest...

ZDoom gave me 10fps

Zandronum, gave me 15 fps (13 with dynamic lights) although, interestingly, skulltag gave me 21fps. I thought that both of those used the same (older) GZDoom renderer so I'm not sure why there is such a difference.

EDGE 1.35 gave me much the same result as 3DGE.

I couldn’t get an FPS display in Eternity but it was running quite well and I estimate about 25-30 fps and no obvious visual glitches.

Risen3D gave me 24 fps [edit] I now have a newer beta with some optimisations and I get 42fps with Risen3D now[/edit]

Doomsday took over 1 minute to load the map. When I got to the test area, I was getting less than 1 fps (I estimate 1 frame every 20 seconds). I couldn’t really see how well the bridge was being rendered due to the awful performance making it very difficult to stand in the right place and when I tried to quit, I thought the game had hung but, in fact, it was just taking a very long time to exit (over 2 minutes).

Vavoom was also in the <1 fps category. Actually, it was so bad that I didn't even try to get to the test viewpoint. It was unplayable.

All tests were carried out with, as best I could - but without a hugely thorough check, the same main options. This was at least -nomonsters and a resolution of 1920x1200 where possible (Vavoom was, I think, the only one that I couldn't get in that resolution (1600x1200 instead)) and dynamic lights off.
Last edited by Enjay on Thu Apr 17, 2014 4:54 am, edited 1 time in total.
User avatar
Posts: 26537
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: 3DGE 1.37 - impending release

Post by Enjay »

And here's something I have no explanation for, when I start the above WAD (Frozen Time) in EDGE 1.34, 1.35 and 3DGE 1.36, I get given a BFG9000 right at the very start of the map before I even go anywhere. This does not happen in the other ports I tested and there is nothing (such as a BFG pickup) on the P1 start spot. :?:

[edit] Checking further, there is a Voodoo doll (thing #1304) standing on a BFG. I don't know whether EDGE is handling this correctly or if the other ports are.[/edit]

[edit2] Digging further, it looks as if EDGE (etc) has it wrong. You are supposed to get the BFG when the voodoo doll moves. The doll is moved when you activate a switch with tag 126 (looks like a big clock face). This lowers a crushing ceiling that explodes a barrel near the voodoo doll, pushing it slightly and allowing it to pick up the BFG (and so the player gets the bfg (and a little damage from the barrel)). A stationary player/voodoo doll should not pick up items. Having a stationary player pick up items is a change to how Doom works (personally, it's a change that I would have found useful in a few situations that I have tried to create in the past but, nevertheless, it is a change (and I suspect an unwanted one in most circumstances)).[/edit2]
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49098
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: 3DGE 1.37 - impending release

Post by Graf Zahl »

I'm not surprised that EDGE has it wrong. That's what happens if core gameplay behavior is changed for no good reason - and EDGE has done a ton of it, replacing side effects of Doom's original movement code with some scripting hacks. I remember reading somewhere that the special monster death actions have been replaced with RTS scripts, it wouldn't surprise me if the same happened here.
User avatar
Posts: 447
Joined: Wed Aug 15, 2012 3:41 pm
Location: California

Re: 3DGE 1.37 - impending release

Post by Coraline »

Graf Zahl wrote: it wouldn't surprise me if the same happened here.
This looks like an oversight in P_SpawnVoodooDoll or G_AddVoodooDoll and has nothing to do with RTS. The original special monster deaths are done with RTS, but I don't see why that would matter. They function exactly the same in these cases and would with any map that exploited them.
Enjay wrote: Digging further, it looks as if EDGE (etc) has it wrong. You are supposed to get the BFG when the voodoo doll moves.
So Voodoo Dolls are supposed to pick up items only when "provoked", or something? They work in 3DGE - they take damage, etc., but I did notice it pick up a medikit (and therefore giving it to the player) when I moved it to the item. So are you saying the Voodoo Doll is spawned in the wrong spot on that map or something? If it can only pick it up when moved and it doesn't start at that point, then that's what I'm assuming. Also, I'm going to *try* and test this with 1.25/1.24 because Voodoo Doll handling was changed twice (with 1.26 and 1.29). Maybe the radius for the BFG pickup is too large and needs to be adjusted.

Those holes also look like an issue with the external node builder or something, how strange. And DAMN that outdoor area drags the port to its knees, even in the lowest resolution. Can you send me a link to that map so I can do some debugging? EDIT: I see the link, sorry, long morning.
wildweasel wrote:Hmm. Considering none of my mods for EDGE were designed with multiplayer in mind (since...y'know...EDGE never actually had multiplayer support!), I'd be interested to know how those play in splitscreen. I'm going to guess that Immoral Conduct won't work in MP though, since Cory outright replaced the multiplayer spawners to randomly spawn AI buddies.
Yes, some of the older mods now need slight patching if you are using Multiplayer only for the sake that it didn't exist at the time, which is understandable. It would be a five minute job, really.

Return to “Game Engines”