FunkyFr3sh / cnc-ddraw

GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic 2D games for better compatibility with Windows 2000, XP, Vista, 7, 8, 10, 11, Wine (Linux/macOS/Android) and Virtual Machines
https://discord.gg/afWXJNDDF5
MIT License
2.12k stars 143 forks source link
borderless compatiblity d3d9 ddraw directdraw directx integer-scaling opengl upscaling windowed wrapper

cnc-ddraw

cnc-ddraw can fix compatibility issues in older 2D games, such as black screen, bad performance, crashes or defective Alt+Tab.

 

Features

 

Instructions

  1. Download cnc-ddraw.zip and extract it into your game folder
  2. Start the game

Wine (Linux/macOS/Android) only: override ddraw in winecfg manually or run cnc-ddraw config.exe once.

 

If you use cnc-ddraw with a game that got its own windowed mode built in then make sure you disable the games own windowed mode first. You can enable windowed mode via cnc-ddraw config.exe instead.

 

If the game starts but it doesn't work perfectly then open the config program and check the Compatibility settings.

 

cnc-ddraw does not support Direct3D/Glide, it will only work with games that use a DirectDraw (Software) renderer. Usually you can tell by the look of the game if it's a 3D game or not, but you can also let cnc-ddraw generate a debug log and search for "IDirect3D" - Link: https://github.com/FunkyFr3sh/cnc-ddraw/issues/44

 

Some games may require additional steps before they can be used with cnc-ddraw, please check the wiki for more details.

 

If the game doesn't start at all or it's crashing, then please generate a debug log file and upload it.

 

Need help and don't have a github account? Ask your questions on Discord (No registration required)

 

Hotkeys

 

Supported Games

There are a lot more games supported but I don't usually update the list, just give it a try and if it doesn't work then check the wiki and the instructions above.