DLE-XP: Improved Editing Functions


Element Selection UI

While DLE certainly is a good program with many strenghts, it could never cater to all Descent level authors: A good part of them worked with Achim Stremplat's D.E.V.I.L. because it gave them a way to edit their levels DLE didn't. One of the main features of D.E.V.I.L. is that you work on your levels in first person view, WYSIWYG style. DLE has that too now - but D.E.V.I.L. has more strengths, a major one being the way it lets the user pick level elements like vertices, edges, faces and segments.

In DLE you had to click through all sides or segments occupying the same space in the mine view which was a tedious and error prone process: One click too many, and you could start over. Blarget, an expert D.E.V.I.L. user has been showing me how element selection in Devil works, and has left me very impressed by it. D.E.V.I.L. on the other side displays a cross with a circle in its center for each segment or side the mouse points at. Whenever you get close enough to such a circle, it will highlight the corresponding element and make it the current one when you press the spacebar. This is an intuitive and direct way to guide the user to picking the desired level element. Very cool.

Well, the fate of all great ideas is that people start to copy it, and that's what I did with D.E.V.I.L.'s element selection UI. Since I will always try to find things to improve, DLE will offer a few extras: It will also display the sides' or segments' outlines to make it clearer what you are pointing at, and to obscure the sight less uses dashed lines here. The element that would become current when you left click is highlighted red and white (other than in D.E.V.I.L. you need to press the SHIFT key while moving the mouse to display the element selection UI and simply left click to select an element).


Exclusively Picking Textured Sides

Even with the new element selection UI, picking a side isn't always straight forward, so I added another feature: When clicking on a face without pressing SHIFT, DLE will select the textured side the mouse points at when left clicking. DLE has two different methods of accomplishing this. One works by casting a ray from the mouse position to infinity (actually to the far clip plane, but I don't really want to bother you with such technicalities), chosing the first textured side that ray intersects with. For the other method, the mine view will be rendered to a texture using an FBO, and the segment and side each pixel of a texture DLE renders belongs to is rendered to a second render target. When clicking somewhere on a face in the mine view, DLE will simply look up the segment and side number stored at that position. This is faster and simpler than the ray casting method, and has also proved to be more reliable. Unfortunately this method doesn't work on certain hardware (mostly Intel IGPs). You can tell whether your driver doesn't support it when the mine view stays white. If the FBO method doesn't work you can turn it off via the context menu's "Enable Quick Selection" option (call it up by SHIFT+Right clicking in 3rd person mode and just right clicking in first person mode), or by editing DLE.ini (find it in the folder you installed DLE in) and setting "EnableQuickSelection=0" there.

Adding an OpenGL based renderer to support addition of triangular segment sides to D2X-XL was the final step of DLE-XP's out of its dusty little corner. The OpenGL renderer really opened the door to a whole new level of visual quality and versatility of DLE-XP and allowed for easily adding a first person editing view for those who are more comfortable with building their levels that way. Support for custom models and an improved lighting algorithm quickly followed. Next was support for textures from D2X-XL mods. The final improvement DLE-XP needed was support for ASE format custom models from D2X-XL mods. As icing on the cake DLE-XP will now display symbols for effect objects showing the type of effect they create.


Geometry Editing

Another change I did to cater more to D.E.V.I.L. users was to make element movement relative to the viewer orientation in 1st person mode. While in DLE element movement is relative to the currently selected side and you always have to see all editing as if peeking through that side, in D.E.V.I.L. all element movement is performed in your view, left and up axis. DLE now offers the same - you can however toggle it via the "Use Viewer Orientation" entry in the mine view's context menu. This allows you to switch to the DLE method, which is less intuitive, but allows more precise when moving around stuff.


New Numpad Mapping

Finally, DLE has a slightly different mapping of the numeric keypad to geometry editing, and it goes:

  • 8: forward
  • 2: backward
  • 4: left
  • 6: right
  • 7: up
  • 9: down
  • 1: rotate counter clockwise
  • 3: rotate clockwise
  • 5: inflate
  • 0: shrink

Besides being welcome improvements for long time DLE users, all these new features should bring DLE a great step closer to be a fully acceptable alternative for Devil users, relieving the need to use two level editors in order to be able to achieve everything you want to when building your levels.