This repository contains an independently reconstructed source implementation of the original Deus Ex Extension.dll, produced through AI-assisted reverse engineering.
The project is intended for preservation, research, modding, compatibility work, debugging, and general study of the Deus Ex / Unreal Engine 1 native UI layer.
This is not an official Ion Storm, Eidos Interactive, Epic Games, or Square Enix source release, and this project is not affiliated with or endorsed by any of those companies.
The source code was reconstructed from analysis of the original retail binaries and related technical information.
The reconstruction process used, among other things:
- decompiler output;
- disassembly / assembly code;
- original and publicly available SDK headers;
- exported Unreal class headers;
- UnrealScript classes;
- native function declarations;
- runtime behavior observed in the original game;
- comparison against the original retail
Extension.dll.
A substantial part of the reconstruction was performed with AI assistance and then manually compiled, tested, compared against the original game behavior, and corrected through multiple iterations.
No leaked or proprietary original Extension.dll source code was used in this reconstruction.
The reconstructed code should therefore not be considered the original Ion Storm source code. It is an independently produced source reconstruction intended to reproduce the behavior of the original binary as accurately as practical.
The reconstructed DLL builds successfully using the original Microsoft Visual C++ 6.0 / VC98 toolchain.
It has been tested in-game through at least the Hong Kong portion of Deus Ex without any currently known critical issues.
Several reconstruction errors affecting behavior and visual fidelity were discovered during testing and subsequently corrected.
Further differences from the original implementation may still exist.
Bug reports, testing, comparison against the original DLL, and improvements to reconstruction fidelity are welcome.
You will need:
- Microsoft Visual C++ 6.0 / VC98;
- Windows XP or Windows 2000, preferably inside a virtual machine;
- a legally obtained installation of the original Deus Ex;
- the required Deus Ex native SDK headers and import libraries;
- access to the repository files from inside the build environment.
Some files from the Deus Ex native SDK are required to build this source.
Take the Engine and Core directories from DxHeaders.zip and copy them to:
Extension\SDK\
Then take:
engine.lib
Core.lib
from DxLibs.zip and place them in:
Extension\SDK\Core\lib\
Extension\SDK\Engine\lib\
These files are not part of the reconstructed Extension.dll source itself.
My Deus Ex development directory on the host machine was:
C:\Games\DeusEx_RTX\
C:\Games\DeusEx_RTX\Extension\Inc\
C:\Games\DeusEx_RTX\Extension\Src\
C:\Games\DeusEx_RTX\Extension\Classes\
C:\Games\DeusEx_RTX\Extension\Textures\
I shared this directory with a Windows XP virtual machine.
Inside the VM it appeared as:
Z:\DeusEx_RTX\
Then I opened:
Extension.dsw
from inside the virtual machine and built the project with Microsoft Visual C++ 6.0.
Check the following files for build preparation and installation details:
_PrepareBuildDir_Extension.bat
_PostBuildInstall_Extension.bat
_PrepareBuildDir_Extension.bat prepares the build directory.
_PostBuildInstall_Extension.bat copies the resulting Extension.dll back into the Deus Ex installation.
You may need to edit the paths inside these batch files to match your local setup.
My build environment uses VMware Workstation with a Windows XP virtual machine.
Other virtualization software should also work as long as it can run Windows XP or Windows 2000 and provides access to the Deus Ex development directory.
This repository does not provide the original Deus Ex game.
A legally obtained copy of Deus Ex is required for normal use, testing, and comparison with the original implementation.
Original game assets are not intended to be redistributed as part of this reconstruction project.
One of the goals of this project is to preserve technical knowledge about the native components of Deus Ex and make that knowledge publicly accessible.
The reconstructed source is intentionally published so that it can be studied, verified, corrected, modified, and improved by others rather than remaining dependent on a single private implementation.
The long-term goal is to make continued maintenance, compatibility work, bug fixing, engine research, and possible future ports of Deus Ex easier.
This source is provided as-is, without warranty of any kind.
The reconstruction may contain inaccuracies or behavioral differences from the original binary.
Use it at your own risk.
Again, this repository contains an independently reconstructed implementation, not the original proprietary Ion Storm source code.