D2X-XL Worklog

Notes on features and problems from the development of D2X-XL, newest first.

The Level Editor

There hasn't been an update to my worklog for quite a while, but I have finally decided to create a new one to display the advance in a so far rather neglected area: The level editor.

The original official level editor DMB(2) had been written by Bryan Aamot, who had sold it to Interplay, who in turn had published it together with the Descent 2:Vertigo expansion. When I started to really use DMB2 I stumbled over quite a few bugs in it, and when I reported them to Bryan I still remember him replying 'I wish you had been one of my beta testers' (the problem with many voluntary beta testers is that they often seem to be more eager to be the first to play around with the newest piece of software than actually testing it and reporting their observations back). Since DMB2 at that time was proprietary, there was no way I could have gotten hold of the source code and fixed it myself. How times have changed: Today I do not only have the source code, but the official permission by Interplay to host it as open source.

The main work I did during the process of turning DMB2 into DLE-XP was to rewrite the interface, which I found to be hard to handle and prone to cluttering the screen with dialogs. I haven't made friends with every former DMB2 user with that change, but you can't please everybody, can you? All I did with the core functions was to make them work with Visual C++ when porting them over from Borland C.

This did it for a long time and allowed me to enhance DLE-XP with not too much trouble. Still it wasn't a really object oriented program, and rather messy on the inside. This sparked the thought in me to use C# to both give it a modern user interface and tidy the code. Soon when I started to venture into C# and port parts of DLE-XP over to it I realized that I had better stick with C++ and rewrite DLE-XP there first to allow me to change it step by step and test each change I made instead of porting everything to C# and getting myself chin-deep into bugs. It turned out that this task was much more massive than I had expected to be and took me a good three weeks. I have to admit that I decided not to make sure it was const correct since that would probably have taken another week. The result of my work however still is a way better structured, object oriented, stable program.

A positive side effect of my coding effort here was that I uncovered some long standing bugs (as usual) - one of them causing that infamous 'messed up object triggers' problem - as well as significantly improving the renderer, which now directly uses RGB images, supports transparency, correctly displays transparent walls of all the various types it supports and does depth testing to render in correct Z order:

Another thing I'd like to show off here is the interface of the upcoming DLE.NET written in C#/.NET, which will not only look nicer due to the new icons it uses, but will allow it's users to pull around all it's child windows and position them anywhere on the screen, independently of the main window (this means that those DMB2 users who hate DLE-XP's layout will be able to clutter their screen the way they're used to. )

 

I am quite fond of the advance made in this area, and I hope you will be too when getting your hands on DLE-XP 1.8 now or DLE.NET in a few weeks.


News

A new D2X-XL update fixing broken screen resolution persistence is available

There is yet another D2X-XL update is available (the new Pumo Mines broke a few things ...)

Believe it or not: There's a new D2X-XL version online!

Uploaded updated D2X-XL and library source code that compiles with Visual Studio 19

After a really long time, another new DLE version is available

A new DLE version is available (hear, hear!) :D

A new Max OS X version of D2X-XL is available!

D2X-XL now offers a cartoon style render mode!

New D2X-XL and DLE versions are available

Blarget has got his own area in the level spotlight

New D2X-XL and DLE versions are available

A couple of levels have been added to the level spotlight

Hooray! We're finally having a new Mac OS X version of D2X-XL!

D2X-XL now features an observer mode for multiplayer games

A new D2X-XL version with improved multiplayer synchronization is available

A new D2X-XL version fixing out of sync problems in multiplayer games is available

A new D2X-XL version with many multiplayer bug fixes is available

Added high quality (ogg) Descent 1 and 2 music to the downloads area

A new D2X-XL version with important bug fixes is available

D2X-XL compiles and runs on Linux again!

Descent 1 and 2 high res textures are now available as complete downloads

A new DLE version with a ton of bug fixes and improvements is online

A new D2X-XL version is online

A new D2X-XL version with a much needed bug fix is online

A new DLE version is online

Published another DLE version with more bug fixes and improvements by Sirius

Published a new D2X-XL version

Published a new DLE version with tons of bug fixes and improvements by Sirius

D2X-XL now supports Oculus Rift 3D headsets!

Updated DLE and D2X-XL to support new level features requested by Pumo

Added an article about DLE's new tunnel generator to the worklog

DLE's new tunnel generator is finished

Added a new article to the worklog

Published a new DLE version

Added a new article to the worklog

Added two new articles to the worklog

D2X-XL and DLE-XP now support triangular segment sides!

DLE-XP has an OpenGL render and 1st person view!

New DLE-XP version available

Wrote a new worklog article

Check out DarkFlameWolf's level spotlight section!

New DLE-XP and D2X-XL versions are available

A new DLE-XP version is available

Added a worklog article about the way point feature

Added way point support to DLE-XP and D2X-XL

Posted a bunch of new screenshots

Posted a bunch of new screenshots

A New version of DLE-XP is available

New OS X version of D2X-XL is available!

Added article about lightmaps to worklog.

New article and video added to worklog.