Explore the snowy homeland of the Barbarians, face fiendish new monsters, and arm yourself with thousands of new weapons, armor, and magical items in the fight against the last of the Prime Evils.

Description

cnc-ddraw can fix compatibility issues in older 2D (DirectDraw) games, such as black screen, bad performance, crashes or defective Alt+Tab. Adds new features such as borderless mode, windowed mode and upscaling via shaders.

Preview
cnc-ddraw 6.7
Post comment Comments
echo11
echo11 - - 138 comments

THX!

Reply Good karma Bad karma+3 votes
Guest
Guest - - 699,555 comments

it is possible to implement direct draw zoom like wroms?

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

Zoom is possible, but only if the game gets patched to support it.

Currently cnc-ddraw zoom works with worms 2 plus, kknd extreme, c&c 1 and c&c red alert

Reply Good karma+3 votes
katsuie_
katsuie_ - - 11 comments

hi , it is possible to zoom for aoe2?

Reply Good karma Bad karma+2 votes
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

Nope, unfortunately not. Someone would have to write a game patch for it. cnc-ddraw does only one part of the zoom, other part needs to be handled by the game itself like it was done in worms 2 plus, kknd extreme, c&c 1 and c&c red alert

Reply Good karma+3 votes
Guest
Guest - - 699,555 comments

game no start if you use voobly rending 32 bits
game stop and freezing when you have windowed.dll on your Age of Empire II\
without any message error.

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

You mean wndmode.dll? Yes that can't be used, you have to choose either cnc-ddraw OR wndmode.dll - do not try to mix two different wrappers, it may cause problems. You can enable cnc-ddraw windowed mode via cnc-ddraw config.exe instead

AOE2 does not have a 32bit mode, so that means you probably enabled a different wrapper as well. Do not try to mix different wrappers, cnc-ddraw does also use 32bit mode by default, so there is no need to use a different wrapper for that

Reply Good karma+3 votes
Guest
Guest - - 699,555 comments

Can you fix this bug?

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

Which bug?

Reply Good karma+3 votes
Guest
Guest - - 699,555 comments

to no load dll when you have windowed hook or voobly wrappers

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

You can't combine cnc-ddraw with other wrappers, it's not possible.

You have to choose either wndmode or cnc-ddraw, never try to use both.

Why would you want to use wndmode? cnc-ddraw does have a very good windowed mode.

Reply Good karma+2 votes
Guest
Guest - - 699,555 comments

i means no load dll in those case to avoid bug :
BOOL WINAPI DllMain(HINSTANCE hInst, DWORD reason, LPVOID)
{
if (reason == DLL_PROCESS_ATTACH)
{

if (fileExist(pathWindowed))
{
//avoid
return TRUE;
}
// //HKEY_CURRENT_USER\SOFTWARE\Voobly\Voobly\game\13\windowmode
if (GetProcessIdByName("Voobly.exe") && isWindowedVoobly())
{
//avoid
return TRUE;
}

...
}

Reply Good karma Bad karma0 votes
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

There might be a way to do something like this. At least for wndmode.dll it could work. Not sure about the voobly wrapper.

But why would you want this? If you don'T want to use cnc-ddraw then just don't put it into your game folder?

Maybe you could ask the voobly devs if they could add a checkbox for cnc-ddraw?

Reply Good karma+1 vote
Guest
Guest - - 699,555 comments

it is for you i tell you this, if some one write commentary "no work", you will know why.People will just downlaod and use without searching if they have windowed.dll in their folder or if they have windowed activacted on voobly.
It is just to avoid freeze game without error message.

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

I just installed voobly and here are my test results:

- Game does start with 32bit mode enabled
- Game is not working with windowed mode enabled (invisible window)

But even with windowed mode disabled, the game is crashing after a few seconds with cnc-ddraw, works fine without it. This problem does only happen on voobly though, the original single player game is working fine without crashes.

I tried to debug it, but they don't like debuggers and banned me from the server. So now I can't continue testing.

It's probably the best if you ask the voobly devs for support, they could just add a checkbox for cnc-ddraw. They would also be able to debug it, which I can't due to the anti-cheat on their server.

Also, after installing voobly my single player game wasn't working anymore, i get a "The scenario could not be loaded" error and had to reinstall my game

Reply Good karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

Okay, good news: Ban was only temporary.

I added detection now for the following:

- Render in 32-bit color
- wndmode.dll
- windmode.dll
- DxWnd

I still can't use the debugger though, so I'm not sure about the crash. Does cnc-ddraw work for you without a crash? Did you play a whole game through?

Here is the temp build for testing:
Github.com

Reply Good karma+1 vote
golicah769
golicah769 - - 2 comments

Still issue with GetModuleHandleExA(flags, returnAddress, &mod;);
i think ddraw.dll load before windowed.dll so condition is avoid.
i think you should add this :
Codefile.io

i know read registery key is not adviced and read voobly process too, but here no choice.We can't recomplie wndmode.dll and voobly will never recompile client.If you see a better way to do. Maybe the code i give is the wrong way to do.
Ty for add fix.

maybe if you contact chris Voobly.com
voobly can integrate cnc-ddraw

thanks for you work. :)

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

golicah769

Can you tell me how to reproduce the issue? I tested it with voobly and it worked every time. I also tested it with userpatch (wndmode.dll) and also with the widescreen patch from katsuie (windmode.dll) without issues.

What settings do you use? Did you install some more patches/updates other than just the voobly ones?

Note: that the load order doesn't matter for my solution, I'm just checking which module is trying to create the DirectDraw object. Normally the game is doing it, but if there's a hook then the call would come from another dll. So my patch doesn't trigger right at startup, it happens a bit later when all dlls were loaded already.

Checking if the file is in the game folder might not be a good solution. Just because the file is there doesn't mean it's actually being used

Edit:

Maybe you can do 1 test run for me with the cnc-ddraw debug build?

Download it here: Github.com

After the test run, check your game folder for "cnc-ddraw-*.log" - Upload me the file(s) somewhere so I can see what happened

Reply Good karma+1 vote
golicah769
golicah769 - - 2 comments

Voobly conf:
Memberplushq.com

Streamable.com
Streamable.com

patch:
Voobly.com
same with 1.RC
log file:
Codeshare.io

without windowed this work porpely.but when i use windowed it freez windows like video

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

golicah769 Thanks! I can see the problem. It's a windows compatibility issue. "apphelp.dll" is hooking the game and the call comes from there instead. I'll try to find a different solution

Reply Good karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

@golicah769 - I think I got it working now with compatibility modes enabled as well:

Here is the temp build for testing:
Github.com

Reply Good karma+1 vote
Guest
Guest - - 699,555 comments

now no working for voobly , even if disable windowed it say can't load both.

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

It can't detect windowed right now, it detects "Render in 32-bit color". Does it work if you disable that one?

The "Render in 32-bit color" is the main setting in voobly, this one enables their wrapper.

Reply Good karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

golicah769

It seems like voobly behaves differently depending on the version of windows being used. I combined now my solution with yours, it's using the registry key now as well to detect windowed mode

Temp test build Github.com

Reply Good karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

Updated to 6.7

Changelog

Fixed main menu issues in Carmageddon 1 lores mode
Added a workaround for crashes on VMware Windows Vista virtual machines
Fixed F4 (toggle windowed) hotkey in Heroes of Might and Magic 3 & 4
Fixed Maintain Aspect Ratio / windowboxing settings for Airline Tycoon
Added tooltips to a few cnc-ddraw config settings
Added a preset for Heroes of Might and Magic III - Master of Puppets mod
Added a preset for Age Of Empires 1 RockNRor patch
Added support for Robin Hood - The Legend of Sherwood - see proxy-dlls.zip
Added support for Sudden Strike 2
Added support for The Missing on Lost Island
Added support for Gorasul: The Legacy of the Dragon

Reply Good karma+3 votes
Guest
Guest - - 699,555 comments

这个在模拟器(exagear)上使用的话,打开红警会显示使用了较慢的补丁,请更换补丁

Reply Good karma Bad karma0 votes
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

"-WARNING- Using slow software rendering, please update your graphics card driver " ???

Reply Good karma+1 vote
katsuie_
katsuie_ - - 11 comments

Crazy mod, you deserve a medal, with your tool we can implement aoc zoom.
this is crazy i have 1980x1080 i can load 2560 x 1440 resolution 11.
I.ibb.co
i think with cnc-ddraw we can implement zoom in aoc .
This mod is crazy i can load 1980x1080 to 1366x760 screen :) .
Big thanks <3

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

katsuie_

Yes, cnc-ddraw does support upscaling and downscaling.
Note that downscaling currently does not work in windowed mode, Upscaling works though.

Reply Good karma+1 vote
lowlifescum
lowlifescum - - 12 comments

EDIT: this is for commandos 2 men of courage.
just in case anyone is having the issue where the game freezes immediately on start up it because the cutscenes use some obscure codec. if you into the data folder then wofip folder and rename:

DATARO.pop to DATARO.pop.old
DATALE00.pop to DATALE00.pop.old
DATAEI.pop to DATAEI.pop.old

then the game should launch. downside no cutscenes but at least its playable. haven't played a full game yet so i don't know if all the files need to be renamed to avoid crashes

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

lowlifescum What game is it?

Note: cnc-ddraw was tested with 300+ games

Reply Good karma+1 vote
lowlifescum
lowlifescum - - 12 comments

oh sorry, commandos 2 men of courage. i wasn't aware the comments sections would get lumped together

Reply Good karma Bad karma+2 votes
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

Ah I see! I'll have a look into the game, maybe I can fix the cutscenes. Had been testing it before, but that was long time ago.

Reply Good karma+1 vote
lowlifescum
lowlifescum - - 12 comments

did a little more digging and it has to do with the indeo codec being turned off by default post winxp. tried turning it back on via cmd but no luck

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

lowlifescum

That's weird, the latest version of cnc-ddraw does actually fix the indeo bug (that was one of the changes of release 6.7!)

I had no time to look at the game yet, been busy with a few other games the last days

Edit:
Just tested it - wihtout cnc-ddraw the videos do not play, it sends me straight to the main menu. With cnc-ddraw it works fine, i can see all the intros

Reply Good karma+1 vote
luftangriff
luftangriff - - 3 comments

Hey friend, big work. But this seems to fall back to software rendering (huge lag up to seconds). Maybe you're using the latest shader version that not everyone can handle? Please keep it at shader v4.0 if possible thanks.

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

luftangriff
Hardware requirements for the hardware acceleration are very low, it does work with OpenGL 2.0 (2004) or DirectX 9 (2002). So I guess there's probably a different problem on your end, are you maybe using a virtual machine?

If you want, you could generate a debug log (cnc-ddraw-log*.log) and upload it somewhere so I can check. Download: Github.com

What game is it BTW?

Reply Good karma+1 vote
luftangriff
luftangriff - - 3 comments

Not sure friend. Just latests Sandboxie. Is that bad?

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

luftangriff

I had once problems with the OpenGL renderer on sandboxie, but directx has been working fine. Gernally it should work though.

I'm still not sure if the software renderer you are talking about is the cnc-ddraw software renderer AKA this here: "-WARNING- Using slow software rendering, please update your graphics card driver", or if the game is switching to the software renderer? What game is it?

Reply Good karma+1 vote
Reaper;)
Reaper;) - - 16 comments

Hi
Is this program able to be better than “Wrapper v1.90” for Disciples 2, and is there an option to speed up the game ;)?

Reply Good karma Bad karma+1 vote
FunkyFr3sh Author
FunkyFr3sh - - 36 comments

Reaper;) I'm not an expert with this game, so I can't really tell you TBH. I tested this game a couple years ago and it did work, that's why it ended up in the "supported games" list. You may just have to give it a try. If it doesn't work, let me know and I'll check

Reply Good karma+1 vote
Post a comment
Tags