Skip to content

DirectDraw to Direct3D9 Conversion

Elisha Riedlinger edited this page Nov 18, 2020 · 40 revisions

Dd7to9 Introduction

Over the past couple of years I have been working on creating a feature to be able to convert ddraw's DirectDraw/Direct3D to Direct3D 9 (d3d9). The goal of this project is to fix compatibility issues with older games that use ddraw, as well allowing these games to use newer tools that require Direct3D 9 or higher.

The feature is built in dxwrapper and is called Dd7to9. So far most of the DirectDraw APIs have been implemented, while only a handfull of the Direct3D APIs have been implemented.

Note: To view the status of the DirectDraw to Direct3D9 Conversion check out the Status Page.

Installation

To use this feature you can do the following:

  1. Download the latest dxwrapper release.
  2. Extract ddraw.dll, dxwrapper.dll and dxwrapper.ini files from the release and copy it to the game folder.
  3. Open the dxwrapper.ini file and enable the Dd7to9 feature.
  4. Disable all application compatibility setting in the application.
  5. Start the game and enjoy.

Troubleshooting

If you run into issues try the following things:

  • If the game is running in a window and graphics look messed up, try:
    • disable in-game windowed mode and use fullscreen. Dd7to9 does not fully support in-game windowed mode for many games.
    • enabling FullscreenWindowMode. Some older games may not have a fullscreen option, using this option may override the game and set it to fullscreen.
  • If the movies/videos are not showing up or just displaying as black, try:
    • enabling FullscreenWindowMode. Some older games use a mixture of GDI and ddraw. With Direct3D 9 a surface can only be shared with GDI when using windowed mode.
  • If the game crashes after alt+tab, try:
    • enabling the DdrawEmulateSurface. This preserves the surface memory to fix bugs in some older games.
  • If the game crashes, try:
    • enabling the DdrawEmulateSurface. This preserves the surface memory to fix bugs in some older games.
    • enabling the SingleProcAffinity. Some games are not properly synchronized to run on multiple CPU cores, or simply don't properly handle powerful CPUs.
    • setting DdrawLimitDisplayModeCount to a value between 32 and 145. Some older games cannot handle a large number of display mode options.
    • enabling the HandleExceptions. This option tries to fix several common exceptions, such as the divide by zero exception in old games that were trying to calculate the CPU speed.
    • running the game with administrator rights. Some older games require admin rights to function properly.
    • making sure you are using the software rendering and not 3D rendering, if the game supports it. Currently this only works with the 2D APIs. Some games only support 3D rendering and won't work with this feature.

Note: To view the status of the DirectDraw to Direct3D9 Conversion check out the Status Page.

Supported 2D Games

Game Notes -Support-
Abe's Oddysee Requires DdrawEmulateSurface to allow alt+tab #22863a Full
Age of Wonders: Shadow Magic Only works if Direct3D is disabled #22863a Full
Age of Wonders 2 Only works if Direct3D is disabled #22863a Full
Alien Nations Requires "Hardware Accelerator" option to be disabled #22863a Full
Anno 1602: Creation of a New World #22863a Full
American Conquest #f03c15 None
American Conquest: Fight Back #f03c15 None
Amerzone #f03c15 None
Arcanum Of Steamworks and Magick Obscura #22863a Full
Atlantis: The Lost Tales (DirectDraw1) Textures on faces missing #ffcc01 Partial
Atlantis 2: Beyond Atlantis #22863a Full
Atlantis 3: The New World May require running with admin rights on some systems #22863a Full
Bad Mojo #f03c15 None
Caesar 3 Requires UseNativeResolution #22863a Full
Call To Power 2 Intro video just shows black screen #ffcc01 Partial
Castle Adventure #22863a Full
Chris Sawyer's Locomotion #22863a Full
Close Combat 2 #22863a Full
Close Combat 3 #22863a Full
Close Combat 4 #22863a Full
Close Combat 5 #22863a Full
Command & Conquer Gold #22863a Full
Command & Conquer: Tiberian Sun #22863a Full
Command & Conquer: Red Alert #22863a Full
Command & Conquer: Red Alert 2 #22863a Full
Commandos #f03c15 None
Commandos 2 #22863a Full
Commandos BCD #22863a Full
Corsairs Gold #f03c15 None
Creatures 2: The Albian Years Requires enabling DdrawWriteToGDI and setting DdrawOverrideBitMode to 16 #22863a Full
Creatures 3: Exodus Requires enabling DdrawWriteToGDI and setting DdrawOverrideBitMode to 16 #22863a Full
Dark Reign #22863a Full
Deadlock II #f03c15 None
Deathtrap Dungeon #f03c15 None
Deus #22863a Full
DOSBox #22863a Full
Diablo Corrupted images in menu, requires DdrawEmulateSurface to prevent crashing on some systems #22863a Full
Diablo Hellfire Recommended to enable DdrawEmulateSurface #22863a Full
Diablo Spawn Recommended to enable DdrawEmulateSurface #22863a Full
Digger XP #22863a Full
Dracula 2 #f03c15 None
Dune 2000 Requires FullscreenWindowMode for mouse cursor to work #22863a Full
Europa 1400: Gold Edition #f03c15 None
Gangsters: Organized Crime #f03c15 None
Geneforge Saga 1 #22863a Full
Geneforge Saga 2 #22863a Full
Geneforge Saga 3 #22863a Full
Geneforge Saga 4 #22863a Full
God of Nea #f03c15 None
Heroes of Might & Magic 3 #22863a Full
Heroes of Might & Magic 4 Requires fullscreen mode in game settings #22863a Full
InkBall #f03c15 None
Interstate 76 #f03c15 None
Interstate 82 #f03c15 None
Invictus: In the Shadow of Olympus #22863a Full
Jagged Alliance 2 #22863a Full
Jagged Alliance 2: Unfinished Business #22863a Full
Jagged Alliance 2: Wildfire #22863a Full
Jazz Jackrabbit 2 #22863a Full
King's Quest 8 Requires running in DirectDraw (Software) mode, can be configured by modifying Options.cs and setting this line assignGModeName Software #22863a Full
Konung 1 Requires FullscreenWindowMode for movies #22863a Full
Konung 2 Requires FullscreenWindowMode for movies #22863a Full
Lionheart: Legacy of the Crusader #22863a Full
Majesty Gold HD Requires windowed mode to be disabled in the MajXPrefs under %userprofile%\Documents\My Games\MajestyHD\ #22863a Full
Metal Gear Solid #22863a Full
Monster Truck Madness 2 Requires software rendering #f03c15 None
Moto Racer Requires "DirectX 3D" option disabled and EnableVSync enabled to slow down menu animation #22863a Full
Moto Racer 2 #22863a Full
Nethergate Resurrection Part of the background is cut off on some of the menus when starting a new game #ffcc01 Partial
NOX #f03c15 None
Outlaws + A Handful of Missions #22863a Full
Pacific General #22863a Full
Patrician 3 Requires running in Windows 7 compatibility mode with admin rights and setting DdrawLimitDisplayModeCount to 145 #22863a Full
Pax Imperia Eminent Domain #22863a Full
Pharaoh Gold Requires UseNativeResolution #ffcc01 Partial
Populous: The Beginning Requires the non-3D version and DdrawEmulateSurface, videos are not clear #ffcc01 Partial
Port Royale #f03c15 None
Port Royale 2 #f03c15 None
Pro Pinball Big Race USA #22863a Full
Pro Pinball Fantastic Journey #22863a Full
Rage of Mages #22863a Full
Rage of Mages II #22863a Full
Return of TIM #22863a Full
Requiem: Avenging Angel #f03c15 None
Runaway: A Road Adventure #22863a Full
Septerra Core Recommended to enable DdrawEmulateSurface #22863a Full
SimCity 3000 Landscape is missing items #ffcc01 Partial
SimCopter Requires FullscreenWindowMode for intro movies #22863a Full
Shadow Watch #f03c15 None
Shogo Requires software rendering and DdrawEmulateSurface #22863a Full
Star Wars: Galactic Battlegrounds #22863a Full
Star Wars: Jedi Knight Dark Forces 2 Requires 3D acceleration disabled and if using GOG version requires launching JK directly and bypassing GOG #22863a Full
Star Wars: Jedi Knight Mysteries of the Sith Requires 3D acceleration disabled and if using GOG version requires launching JK directly and bypassing GOG #22863a Full
Star Wars: X-Wing vs TIE Fighter Requires Power VR 3D Card to be disabled #22863a Full
StarCraft #22863a Full
StarCraft: Broodwars #22863a Full
Stronghold Note: if display looks messed up in the game try changing the resolution. #22863a Full
Stronghold Crusader Note: if display looks messed up in the game try changing the resolution. #22863a Full
Stronghold Crusader Extreme HD Note: if display looks messed up in the game try changing the resolution. #22863a Full
Stronghold HD Note: if display looks messed up in the game try changing the resolution. #22863a Full
SWAT 2 #f03c15 None
Throne of Darkness #22863a Full
TIM Even More Contraptions #22863a Full
Tomb Raider 2 #f03c15 None
Total Annihilation #22863a Full
Twisted Metal 2 #f03c15 None
Uprising: Join or Die #f03c15 None
Uprising 2: Lead and Destroy #f03c15 None
War Wind #22863a Full
War Wind II Minor corruption in the intro video #22863a Full
Warcraft 2 #22863a Full
WarGames Requires "Software Rasterizer" and SingleProcAffinity #22863a Full
Warhammer 40K: Final Liberation Requires DdrawEmulateSurface #22863a Full
Warhammer 40K: Rites of War #22863a Full
Warlords Battlecry #22863a Full
Warlords Battlecry 2 #22863a Full
Warlords Battlecry 3 Crashes when clicking More Info #ffcc01 Partial
Warlords III: Darklords Rising #f03c15 None
William’s Pinball Classics #f03c15 None
Wing Commander IV #f03c15 None
WinQuake Does not work with in-game windowed mode #22863a Full
Worms 2 #22863a Full
Worms Armageddon #22863a Full
Zeus and Poseidon Requires UseNativeResolution #ffcc01 Partial

Supported 3D Games

Game Notes -Support-
Age of Wonders #f03c15 None
Age of Wonders 2 #f03c15 None
Arx Fatalis #f03c15 None
Avernum: Escape From The Pit #f03c15 None
Avernum 2: Crystal Souls #f03c15 None
B-17 Flying Fortress: The Mighty 8th #f03c15 None
Battle Realms Complete #f03c15 None
Battle Isle: The Andosia War #f03c15 None
Blood 2: The Chosen #f03c15 None
Codemaster's Colin McRae Rally 1 #f03c15 None
Codemaster's Colin McRae Rally 2 #f03c15 None
Codename Outbreak #f03c15 None
Conquest: Frontier Wars #f03c15 None
Combat Mission: Beyond Overlord #f03c15 None
Croc 2 #f03c15 None
Dark Reign 2 #f03c15 None
Darkstone #f03c15 None
Descent 3 #f03c15 None
Diablo 2 #f03c15 None
Disciples 2: Gold Elves #f03c15 None
Divine Divinity #f03c15 None
Dungeon Keeper 2 #f03c15 None
Earth 2150 Trilogy: Escape from the Blue Planet #f03c15 None
Empire Earth Gold #f03c15 None
Empire Earth: The Art of Conquest #f03c15 None
Enemy Engaged: Comanche vs Hokum #f03c15 None
Etherlords #f03c15 None
Etherlords II #f03c15 None
Europa 1400: Gold Edition #f03c15 None
Evolva #f03c15 None
Evil Islands #f03c15 None
FA-18E Super Hornet #f03c15 None
Gorky 17 #f03c15 None
Gothic #f03c15 None
Gothic 2 #f03c15 None
Hitman: Codename 47 #f03c15 None
Hogs of War #f03c15 None
King's Quest 8 #f03c15 None
Knight Rider #f03c15 None
Knight Rider 2 #f03c15 None
Legacy of Kain: Soul Reaver #f03c15 None
MechWarrior 4 #f03c15 None
Might and Magic VIII: Day of the Destroyer #f03c15 None
Might and Magic IX #f03c15 None
Monster Truck Madness 2 #f03c15 None
Moto Racer #f03c15 None
Moto Racer 2 #f03c15 None
Myst III Exile #f03c15 None
Populous: The Beginning #f03c15 None
Raymond 2 #f03c15 None
Redline #f03c15 None
Return to Krondor #f03c15 None
Revenant #f03c15 None
Sacred Gold #f03c15 None
Shogo #f03c15 None
Simon the Sorcerer 3D #f03c15 None
Silent Hunter II #f03c15 None
Speed Busters #f03c15 None
Star Trek Armada 1 #f03c15 None
Star Trek Starfleet Academy #f03c15 None
Star Trek Starfleet Command #f03c15 None
Star Wars Rebellion #f03c15 None
Star Wars Rogue Squadron 3D #f03c15 None
Star Wars X-Wing Alliance #f03c15 None
StarTopia #f03c15 None
SWAT 3: Tactical Game of the Year Edition #f03c15 None
The Longest Journey #f03c15 None
The Nations Gold #f03c15 None
The Settlers IV Gold #f03c15 None
The Summoner #f03c15 None
Tom Clancy's Rainbow Six #f03c15 None
Tomb Raider 3 #f03c15 None
Tomb Raider 4 #f03c15 None
Tomb Raider 5 #f03c15 None
Ultima IX Ascension #f03c15 None
Unreal Gold #f03c15 None
Unreal Tournament GOTY #f03c15 None
Vampire: The Masquerade #f03c15 None
WarGames #f03c15 None
Wizardry 8 #f03c15 None
Wizards and Warriors #f03c15 None
X-COM Interceptor #f03c15 None
Clone this wiki locally