D2X-XL Installation Guide

Microsoft Visual C++


Prerequisites

First of all, install Microsoft Visual C++ Express 2008.

You will also need the latest DirectX SDK installed (get it from Microsoft). It is recommended to install it in \projects\DirectX SDK (see below for further folder information).

Installing an SVN client is a good idea, too. TortoiseSVN, which integrates with the Windows Explorer, is a good choice.


Folders

The default installation folders are

  • \projects\libraries: The library source code goes here
  • \projects\d2x-xl\trunk: The D2X-XL source code goes here
  • \programs\D2: The compiled program and the required DLLs go here

For the default installation, the projects and programs\d2x-xl folders have to be located in the root folder of the installation drive (e.g. c:\projects and c:\programs\d2x-xl). The involved projects only use relative paths, but if you want to change the general structure of the installation or have the program folder somewhere else, you need to manually change the compiler include paths and linker output directories for all projects contained in the D2X-XL solution.


Files

Download all required source archives (you may want to place them in the projects folder):

Extract the library source archives to \projects\libraries and the D2X-XL source code to \projects\d2x-xl\trunk. Make sure to extract the folders contained in the archives. When done, you should have the following folders (which in turn should have a varying number of subfolders):

  • \projects\d2x-xl\trunk
  • \projects\libraries\libogg-1.3.3
  • \projects\libraries\libvorbis-1.1.2
  • \projects\libraries\SDL-1.2.14
  • \projects\libraries\SDL_mixer-1.2.11
  • \projects\libraries\SDL_image-1.2.7
  • \projects\libraries\smpeg-0.4.4

You will also need a D2X-XL installation in \programs\D2, so create one there or copy an existing over there.


Visual Studio

Launch Visual Studio. If it's the first launch:

  • select "Open", "Project/Solution..." from the "File" menu and load the D2X-XL solution (d2x-xl.sln) from \projects\d2x-xl\trunk\VC9.
  • Delete the d2x-trackir project from the solution.
  • Right click on "d2x-xl" in the solution explorer pane and chose "Set As Startup Project".
  • Find the drop down box in the toolbar located below the menu displaying the quick help "Solution Configurations" when hovering the mouse over it and select "Debug"
  • If you haven't installed the DirectX SDK to \projects\DirectX SDK:
    • Right click on "SDL" in the solution explorer pane and chose "Properties".
    • In the properties dialog, expand the "C++" branch and click on "General".
    • Change the DirectX SDK include path in "Additional Include Directories" to the proper location for your system (might be something like c:\program files\Microsoft DirectX SDK (March 2008)\include)
    • Add the DirectX SDK library path in the input section of the SDL projects linker options (e.g. c:\program files\Microsoft DirectX SDK (March 2008)\Lib\x86)

Otherwise

  • click on the d2-xl project link in the start page displayed by Visual Studio to open the project.


Build the project

To build the program and required DLLs, right click on "d2x-xl" in the solution explorer pane and:

  • chose "Build" to build it compiling only the changed files.

or

  • chose "Rebuild" to build it compiling all files of the project (this will make sure everything is really up to date).

If the linker complains about missing libraries, you will have to manually make Visual Studio build them. right click on the project name (E.g. SDL_mixer) and select "build".


Debugging

If the solution has been successfully built, simply press F5 to launch the debugger and run the program in it. The debugger will stop the program and display the code line causing the problem if it encounters any run time errors. That is, unless the problem is caused by code outside of D2X-XL or any of the libraries contained in its solution. In that case, open the call stack window (chose "Debug" -> "Windows" -> "Call Stack" from the menu) to see where the problem occurred.


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.