ThirteenAG / WidescreenFixesPack

Plugins to make or improve widescreen resolutions support in games, add more features and fix bugs.
https://thirteenag.github.io/wfp
MIT License
2.27k stars 215 forks source link

[Call of Cthulhu] - Windowed Mode has lighting issues #1617

Open deanff opened 2 weeks ago

deanff commented 2 weeks ago

Enabling windowed mode is a god-send as it prevents the game from crashing when alt-tabbing. Unfortunately, it causes highly-saturated bloom lighting.

FULLSCREEN: https://i.imgur.com/gzowi2P.jpeg WINDOWED: https://i.imgur.com/6KaRySA.jpeg

I tried adjusting the settings in wndmode.ini and downloading the latest dinput8.dll from the links in the Ultimate-ASI-Loader page, but had no luck resolving the issue.

Any thoughts / suggestions?

The DxWnd devs encountered this issue back in 2014, but managed to fix it: https://sourceforge.net/p/dxwnd/discussion/general/thread/e0267fe8/

Patch Notes: v2.02.85 - fix: revised handling of d3d D3DFORMAT field: fixes "Call of Cthulhu DCotE" color problems.

Compared with v2.02.84, it looks like they set D3DFORMAT to mode.Format (current screen mode) on first attempt, and D3DFMT_UNKNOWN if that fails.

The GOG version does not have this issue - but only because it has all dynamic lights disabled.

Let me know if there's anything I can do to help out (testing, debugging) - and thank you for your efforts on this project.

deanff commented 1 week ago

Couldn't find the source code for wndmode.dll. Seems to be a heavily modified version of d3dhook.dll made by Evgeny Vrublevsky in 2012: https://habr.com/en/articles/133956/ Source code used to be here: https://bitbucket.org/veg/tinyddraw/src

I tried out two alternatives that fixed the issue: DxWnd and dgVoodoo.

DxWnd: d3d9.dll (58 KB) dxwnd.dll (1,535 KB) dxwnd.dxw (6 KB)

dgVoodoo: D3D9.dll (471 KB) dgVoodoo.conf (21 KB)

dgVoodoo wins in file size and ease of modification. DxWnd wins in fluidity when alt-tabbing.

Actually, your own d3d9 wrapper had an interesting impact on the game: https://i.imgur.com/qevv4Rh.png If the brightness was lowered by 50% - it would match the original. Alas, adjusting the brightness from the in-game menu had no impact. Actually, the only windowed mode dll where the in-game brightness menu worked was dgVoodoo.

ThirteenAG commented 1 week ago

You can also try https://github.com/elishacloud/dxwrapper

deanff commented 6 days ago

Same brightness issue. And can't adjust brightness from in-game menu. Played around with a bunch of different settings on last stable release and one from a few days ago, but no luck.

ThirteenAG commented 6 days ago

Report it there, maybe Elisha would be interested in checking it out.