narzoul / DDrawCompat

DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11
BSD Zero Clause License
940 stars 70 forks source link

Might and Magic IX issue #48

Closed LaZar00 closed 5 years ago

LaZar00 commented 5 years ago

Great job! I think this project can be a lot interesting and will help a lot of people using old games.

I was testing ddraw.dll with MM9 (Might and Magic IX), english/GOG version, and it seems to fullscreen the game without the tedious border window. I want to use this dll before the widescreen fix because this fix has some problems (like loading screens freezes).

But although I can run the game, get into the menu, if I load a saved game (or maybe begin a new one), when the Loading screen appears (with the boat and points running), it should pass from 2D to 3D, and leaves the 2D loading screen in the display, and the 3D graphics are not displayed, as far as I've seen they are in background, not refreshed.

I assume it must be some 2D-3D change operation but I don't know.

I write this only FYI. If you can solve it, it would be awesome!

Thanks a lot!

elishacloud commented 5 years ago

I am pretty sure the experimental version of DDrawCompat used to work with the GOG version of MM9. However, I think some Windows 10 update seems to have broken it. Now it just shows a black screen once you try and actually start a game. It may be something similar to an issue I reported before, see #15.

narzoul commented 5 years ago

I can't reproduce the issue with either the previous or the current experimental release. Save games load up fine in a few seconds, although there is no loading screen, only a black screen while it loads. You mentioned a boat with points running, but I don't get that even with native DirectDraw. I have the GOG version. Anyway, could you please check if the issue is still present for you with the latest experimental release?

LaZar00 commented 5 years ago

I have tested the new experimental release (the previous one was not working for me, black screen from the beginning), but this latest one works well when playing at day. I had some problems in some parts (outside) at night. Being in a city at night seems to work though. Have in mind that I'm using a notebook with 2 vgas, an embedded one Intel HD 630 and Geforce 960m (which is the primary adaptar and I have selected it for MM9 and in Nvidia options).

After checking the log, I'm not sure if ddraw.dll is getting the nvidia adapter:


1c1c 22:34:58.932 Process path: C:\Games\Might and Magic IX\lithtech.exe 1c1c 22:34:58.932 Environment variable __COMPAT_LAYER = "DWM8And16BitMitigation DisableDXMaximizedWindowedMode RunAsAdmin DetectorsXP" 1c1c 22:34:58.932 Loading DDrawCompat dynamically from C:\Games\Might and Magic IX\DDRAW.dll 1c1c 22:34:58.937 Disabling external hook to DirectDrawCreate in apphelp.dll 1c1c 22:34:58.938 Disabling external hook to DirectDrawCreateEx in apphelp.dll 1c1c 22:34:58.938 DDrawCompat loaded successfully 1c1c 22:34:58.938 Installing registry hooks 1c1c 22:34:58.939 Installing Direct3D driver hooks 1c1c 22:34:58.939 Installing display mode hooks 1c1c 22:34:58.949 Hooking user mode display driver: C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_bf9afe57cbde0e11\igdumdim32.dll 1c1c 22:34:58.966 Installing DirectDraw hooks 1c1c 22:34:58.968 Installing Direct3D hooks 1c1c 22:34:58.972 Installing GDI hooks 1c1c 22:34:59.008 Finished installing hooks 1c1c 22:38:50.710 Detaching DDrawCompat due to process termination 1c1c 22:38:50.711 DDrawCompat detached successfully


narzoul commented 5 years ago

Thanks for the feedback!

About not using the NVIDIA adapter, as far as I know this is unfortunately expected behavior for Optimus laptops on Windows 10 with DirectX 8 and below. See here: https://nvidia.custhelp.com/app/answers/detail/a_id/3733

I thought the black screen at night issue should be fixed by the TELP patch, but not when underwater. I can reproduce the underwater black screen issue on Intel HD but not on my dedicated AMD Radeon card. I will try to look into this later.

LaZar00 commented 5 years ago

Here the people comments about blackscreen issue (I have not tested it tough). It seems that TELP patch, which comes in the GOG release included, do not works:

https://www.gog.com/forum/might_and_magic_series/mm9_black_screen_during_nightin_water

I do not remember where, but some people said that MM9 that sells GOG do not works in Windows 10 as it should (unless that someone uses some DirectX8->DirectX10 wrapper and cshell.dll mod).

Thanks for the nvidia/Intel/Optimus issue. I didn't know that in Windows 10 the laptops with Optimus and games with DirectX 8 can only use the embedded (Intel) adapter.

This is a note FYI: I don't want to compare wrappers, but actually, I can play (moderately well) MM9 in Windows 10 in my notebook using dgVodoo2 (and with the cshell.dll mod). I hope this is not an issue for you to comment. ;)

narzoul commented 5 years ago

The black screen issue is fixed for the underwater case on my Intel HD. Please test if it works for you as well, especially the night time case as I couldn't reproduce that.

narzoul commented 5 years ago

Forgot to mention: it should also fix the black screen issue when changing the Gamma Correction slider in Video Options.

LaZar00 commented 5 years ago

I can confirm that now the night INSIDE cities and OUTSIDE cities is working. It also works when underwater at night. I have only tested 3-4 places tough, so I can not tell if it will work in all places. The Gamma Correction is also working. It helps a lot at night in dark zones.

narzoul commented 5 years ago

Thanks! I'll close this then, but feel free to reopen it if you find more issues.