It has been bothering me for quite some time now that on newer systems fog is no longer working in CMx1 due to a missing feature in current graphics cards called fog table. I tried searching for a solution several time to no avail until a few days ago I have found a way to make it work. After I found it I sawn that it has bee posted on this forum too but in a different topic somewhere down the line so I thought if anyone else is interested maybe it should be in a more visible topic.
So the solution is downloading a DirectDraw wrapper under the following link: https://github.com/narzoul/DDrawCompat/releases/tag/experimental
Download the ddraw.zip, you will find a ddraw.dll inside it and what you have to do is copy this file into the folder where your CMx1 game executable is found. That is the root folder in CMBB and CMBO and \Run in CMAK. That's it. If you run your game this dll will be loaded instead of the offical one and it solves the fog table issue.
I have found one problem on my system that using the nVidia card the game would not run but using the intergrated graphics card it worked like a charm. According to others nVidia should work as well.
One other thing I was wondering is that I have a considerable collection of scenarios for the three CMx1 games, around 2300 for CMBB, 1600 for CMBO and 1100 for CMAK. I don't know if there is any copyright issue with sharing it but if there is none and there are people interested I can make them somehow available. I have checked that the old scenario depot contains around 1100 for the three and that number is 5000 for me.