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

Black screen after version 5.4 in game Heroes 3 Master of Puppets 3.07f #322

Closed Asmedian closed 1 month ago

Asmedian commented 1 month ago

The game starts, there is sound, the buttons respond by sound, but instead of an image there is a black screen. The latest working version is 5.4 on which everything works. I would like a fix to always use the latest version.

Game: https://github.com/HeroesLauncher/mop/releases

FunkyFr3sh commented 1 month ago

This mod is shipped with another directdraw wrapper which is named "zdraw" - cnc-ddraw and zdraw fighting each other and both trying to hook the same functions. I can't really fix it, you would have to ask the dev of zdraw if he could change his hooks or maybe remove zdraw completely (is it even needed?)

It looks like they're fighting only over 2 hooks "CreateWindowExA" and "GetDeviceCaps", these both are not important in HoMM3 for cnc-ddraw so I could just remove them for you (I need these for other games though, so I can't remove them completely from cnc-ddraw)

cnc-ddraw-HoMM3-MoP.zip

Asmedian commented 1 month ago

Thanks for the quick solution, i'll use this version for now. And in the future i hope to get rid of zdraw.

Asmedian commented 3 weeks ago

There is one more question. When press f4, the game changes windowed/fullscreen mode. But even in the fixed version, when switch the mode: start full screen->f4->windowed, the screen becomes black and need to return full screen in the game by pressing f4. It can be fixed?

FunkyFr3sh commented 3 weeks ago

cnc-ddraw-HoMM3.zip

I just enabled the cnc-ddraw windowed on F4 with this build instead, seems to be working fine