Posted April 10, 2021
Hello all, I've been having serious trouble getting the entire Cossacks I series as well as related games by GSC to run on my Windows 10 HP Spectre X360 laptop, however the good news is I've found some fixes which do a great deal to make the game playable, although there is still more work to be done. I'd like to request some assistance from GOG, the developers and from other members of this community to help me test out potential fixes and provide their expertise.
When attempting to load the game from a fresh GOG install, I receive the following error message (including the spelling mistake):
Loading error
Dilplay mode 1024x768x8 not found. Cossacks should not run.
Upon selecting the "Retry" option provided, I receive the following error message instead:
ERROR
Direct Draw Init Failed (80004001)
Which is promptly followed by the game failing to load and crashing out instead.
Now errors of this type have been reported by other users in the past, however none of the fixes which were previously prescribed for these other users worked for me. I attempted various manipulations with the Windows compatibility settings for the executable dmcr.exe, I tried a GSC ddraw.dll patch from 2008 and a community patch from 2019 consisting of a file called dplayx.dll, but I had no success with either approach. I also attempted to run the game in windowed mode using a program called DxWnd, but it didn't seem to have any effect whatsoever and the same errors still appeared.
I did finally find a solution that works very well which I will share in just a moment, but it's not perfect and I'm not sure if there's any tweaks which can be done to make it better. I also found a second approach which shows much promise, but a great deal of further testing is required as well as some technical expertise I don't currently possess.
Solution 1:
Cossacks and other related GSC games were made for machines running Windows XP, Vista etc. and thus became quickly outdated as the standards for DirectX changed along with the hardware running it. GSC released some patches to fix the problems that resulted, culminating at present in the use of a file called "mdraw.dll" in the game directory, which serves as a substitute for the old ddraw.dll DirectDraw drivers that were formerly in use.
Unfortunately, the drivers provided by mdraw.dll are themselves now outdated, requiring a new replacement. I found that if I took the ddraw.dll file from the latest dgVooDoo2 package (dgVoodoo 2 is a set of graphics drivers that allow newer graphics cards and CPU's to emulate older ones), renamed it to mdraw.dll and used it to replace mdraw.dll in the various Cossacks 1 game directories, the games now run almost perfectly with the main exception of limited mouse range in the game menus (the mouse cursor refuses to move all the way to the bottom, making some options inaccessible).
I initially had problems in-game with the mouse also not being able to move to the bottom of the screen, but I've found that this problem was resolved by setting the resolution to a level proportional to my monitor size (my default Windows resolution is 3840x2160, but this setting made the game crash; 1920x1080 however works fine). In-game resolution can be set from within the game's menu, but if you're unable to reach the setting because of the existing mouse range restrictions, it can also be set in mode.dat within the relevant game directory. I'm unaware though of any method for altering the resolution of the game's opening menu, if anyone knows how then it would be fantastic if they could share.
I'm still new to the usage of dgVoodoo 2 so I'm not sure what can be done about the menu mouse issues, there are certainly some settings to play with. There are also issues with video playback for the American Conquest series when using this same method to fix the game, otherwise it seems to run fine aside from the same opening menu mouse limitations I've found thus far in Cossacks 1.
Solution 2:
I attempted to use DxWnd to intercept program calls to DirectDraw and re-route them to protocols designed for newer hardware, as is a common practise for many older games these days. However the usage of DxWnd didn't seem to have any effect on the operation of the game (or lack thereof) even when directly utilized as the launcher for dmcr.exe.
I realized that DxWnd is looking for calls to ddraw.dll, whereas at this stage Cossacks is currently patched to utilize mdraw.dll instead. By replacing mdraw.dll with a symbolic link to ddraw.dll in the same directory and copying ddraw.dll over from my Windows\SysWOW64 folder to serve as the old DirectDraw driver, DxWnd was able to intercept the game's DirectDraw calls and force it to run inside a window. I seem to be having the most luck by setting the re-routed DirectX version to 7.0. The main problem at this stage is that while I'm now able to click anywhere inside the opening menu with this approach, the mouse cursor isn't moving on the screen to match the mouse position.
I have a great deal of experimentation still left to do with both repair approaches, but I could really use some help and expertise because there's a lot of things to try and I'm still very much new to both DxWnd and dgVoodoo 2. Confirmation from others that they're having similar issues would also be useful. I'm running Windows 10 Professional Build 19042, my main GPU is an NVIDIA GeForce MX 150.
I hope the staff at GOG take notice of the issue as well as the partial fixes I've suggested, so that the game can be made to at least partially run for users like myself immediately after installation as opposed to refusing to even launch.
Thanks for your time, any help/advice/moral support will be tremendously appreciated.
--Derpy
Note: I apologize for being unable to post links to DxWnd and dgVoodoo 2, however I've been trolled by downvoters into negative reputation and thus my privileges are restricted for the time being. Links to both programs can be readily found by searching for them on Google.
When attempting to load the game from a fresh GOG install, I receive the following error message (including the spelling mistake):
Loading error
Dilplay mode 1024x768x8 not found. Cossacks should not run.
Upon selecting the "Retry" option provided, I receive the following error message instead:
ERROR
Direct Draw Init Failed (80004001)
Which is promptly followed by the game failing to load and crashing out instead.
Now errors of this type have been reported by other users in the past, however none of the fixes which were previously prescribed for these other users worked for me. I attempted various manipulations with the Windows compatibility settings for the executable dmcr.exe, I tried a GSC ddraw.dll patch from 2008 and a community patch from 2019 consisting of a file called dplayx.dll, but I had no success with either approach. I also attempted to run the game in windowed mode using a program called DxWnd, but it didn't seem to have any effect whatsoever and the same errors still appeared.
I did finally find a solution that works very well which I will share in just a moment, but it's not perfect and I'm not sure if there's any tweaks which can be done to make it better. I also found a second approach which shows much promise, but a great deal of further testing is required as well as some technical expertise I don't currently possess.
Solution 1:
Cossacks and other related GSC games were made for machines running Windows XP, Vista etc. and thus became quickly outdated as the standards for DirectX changed along with the hardware running it. GSC released some patches to fix the problems that resulted, culminating at present in the use of a file called "mdraw.dll" in the game directory, which serves as a substitute for the old ddraw.dll DirectDraw drivers that were formerly in use.
Unfortunately, the drivers provided by mdraw.dll are themselves now outdated, requiring a new replacement. I found that if I took the ddraw.dll file from the latest dgVooDoo2 package (dgVoodoo 2 is a set of graphics drivers that allow newer graphics cards and CPU's to emulate older ones), renamed it to mdraw.dll and used it to replace mdraw.dll in the various Cossacks 1 game directories, the games now run almost perfectly with the main exception of limited mouse range in the game menus (the mouse cursor refuses to move all the way to the bottom, making some options inaccessible).
I initially had problems in-game with the mouse also not being able to move to the bottom of the screen, but I've found that this problem was resolved by setting the resolution to a level proportional to my monitor size (my default Windows resolution is 3840x2160, but this setting made the game crash; 1920x1080 however works fine). In-game resolution can be set from within the game's menu, but if you're unable to reach the setting because of the existing mouse range restrictions, it can also be set in mode.dat within the relevant game directory. I'm unaware though of any method for altering the resolution of the game's opening menu, if anyone knows how then it would be fantastic if they could share.
I'm still new to the usage of dgVoodoo 2 so I'm not sure what can be done about the menu mouse issues, there are certainly some settings to play with. There are also issues with video playback for the American Conquest series when using this same method to fix the game, otherwise it seems to run fine aside from the same opening menu mouse limitations I've found thus far in Cossacks 1.
Solution 2:
I attempted to use DxWnd to intercept program calls to DirectDraw and re-route them to protocols designed for newer hardware, as is a common practise for many older games these days. However the usage of DxWnd didn't seem to have any effect on the operation of the game (or lack thereof) even when directly utilized as the launcher for dmcr.exe.
I realized that DxWnd is looking for calls to ddraw.dll, whereas at this stage Cossacks is currently patched to utilize mdraw.dll instead. By replacing mdraw.dll with a symbolic link to ddraw.dll in the same directory and copying ddraw.dll over from my Windows\SysWOW64 folder to serve as the old DirectDraw driver, DxWnd was able to intercept the game's DirectDraw calls and force it to run inside a window. I seem to be having the most luck by setting the re-routed DirectX version to 7.0. The main problem at this stage is that while I'm now able to click anywhere inside the opening menu with this approach, the mouse cursor isn't moving on the screen to match the mouse position.
I have a great deal of experimentation still left to do with both repair approaches, but I could really use some help and expertise because there's a lot of things to try and I'm still very much new to both DxWnd and dgVoodoo 2. Confirmation from others that they're having similar issues would also be useful. I'm running Windows 10 Professional Build 19042, my main GPU is an NVIDIA GeForce MX 150.
I hope the staff at GOG take notice of the issue as well as the partial fixes I've suggested, so that the game can be made to at least partially run for users like myself immediately after installation as opposed to refusing to even launch.
Thanks for your time, any help/advice/moral support will be tremendously appreciated.
--Derpy
Note: I apologize for being unable to post links to DxWnd and dgVoodoo 2, however I've been trolled by downvoters into negative reputation and thus my privileges are restricted for the time being. Links to both programs can be readily found by searching for them on Google.
Post edited April 10, 2021 by Derpowitz
This question / problem has been solved by narzoul
