1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00

31 Commits

Author SHA1 Message Date
narzoul
6f92c8ef22 Added config parser 2022-09-22 18:53:57 +02:00
narzoul
7c506d86c9 Support unicode file paths 2021-05-12 21:53:19 +02:00
narzoul
cb35ee4beb Fixed crash at startup in Anno 1503 AD 2021-04-07 20:19:03 +02:00
narzoul
4e00ce0447 Removed dependency on Detours 2021-03-28 20:03:55 +02:00
narzoul
b2c92f31da Use variable templates and auto template parameters 2021-03-28 11:19:28 +02:00
narzoul
71c67fffd4 Reworked vtable hooking 2021-03-16 14:13:20 +01:00
narzoul
35e66bd3cf Leave cleanup to process termination 2021-03-01 22:59:07 +01:00
narzoul
97e08f7988 Create log file in process dir instead of current working dir 2021-02-24 23:35:20 +01:00
narzoul
2ce97329a9 Limit GlobalMemoryStatus values to 2GB 2020-06-21 22:48:51 +02:00
narzoul
b5e3de76cb Use QueryThreadCycleTime for mitigation of busy waiting 2020-06-02 17:18:13 +02:00
narzoul
8f67fd158c Set per-monitor DPI awareness on Windows 8.1/10
Fixes an issue with the mouse being locked in top-left corner in
Project Visitor, if DPI scaling is higher than 100% and the in-game
resolution is much lower than the desktop resolution, e.g. 640x480
vs 1920x1080 (issue #41).
2020-05-10 15:29:29 +02:00
narzoul
c67437d5bf Separate log files per process name and instance number 2020-05-10 15:29:23 +02:00
narzoul
757f648385 Support injection via dciman32.dll 2020-05-10 14:20:35 +02:00
narzoul
10f61c11e9 Emulate disabled font smoothing 2020-04-28 09:20:48 +02:00
narzoul
e4f8cc97d9 Disable DWM 8/16 bit mitigation display setting hooks
Fixes upside-down icons with incorrect colors in Star Wars Rebellion (issue #22).
2020-04-26 23:31:33 +02:00
narzoul
ec7a40333e Attempt to mitigate thread scheduling issues caused by busy waiting
Fixes black intro videos in Star Wars Rebellion (issue #22)
and performance issues in The Longest Journey.
2020-04-12 16:18:56 +02:00
narzoul
32bcf16dc8 Removed DirectInputCreateA hook 2020-04-11 22:05:11 +02:00
narzoul
e78d3f2b69 Moved WIN32_LEAN_AND_MEAN macro to compiler switches 2020-02-01 14:12:01 +01:00
narzoul
d0289de9a2 Fixed a crash when DPI scaling is set higher than 100% 2019-08-19 14:29:10 +02:00
narzoul
d817c4bfb3 Simplified 8/16 bit display mode emulation 2019-08-01 16:00:16 +02:00
narzoul
26f8742dc2 Reverted forcing surfaces to system memory 2019-08-01 16:00:10 +02:00
narzoul
5b171691f0 Separate DirectDraw and UMD critical sections 2019-06-08 15:59:17 +02:00
narzoul
291a9c2f9a Fixed various multi-monitor display issues 2018-12-31 20:32:06 +01:00
narzoul
c53ffab664 Indented function logging 2018-12-08 21:57:14 +01:00
narzoul
58aba66ca2 Hook all GDI threads 2018-12-08 21:57:13 +01:00
narzoul
785663700d Separate GDI and DirectDraw surfaces 2018-12-08 21:53:40 +01:00
narzoul
e3396a18b8 Support for COM instantiation
Added proper installation of hooks when DirectDraw interfaces are instantiated
through the COM API (e.g. with CoCreateInstance).

Fixes a crash in Warhammer 40,000: Chaos Gate mentioned in issue #15.
2017-08-05 11:32:28 +02:00
narzoul
5c91706b03 Fixed black screen issue with Windows 10 Creators Update
Also added v-sync to direct primary surface updates (i.e. those that are
not using a back buffer and flip).

Fixes issues #3 and #15.
2017-06-05 16:35:32 +02:00
narzoul
640f746633 Implement 8/16 bit display mode emulation
8/16 bit display mode emulation is now implemented internally instead of
relying on the builtin Windows shims, as those are sometimes unreliable
(not triggering for some games on some systems when they should).

External DirectDraw hooks (such as the DWM8And16BitMitigation shim)
are disabled to avoid interference.

Fixes issues reported in #8, #9, #15.
2017-05-28 15:40:33 +02:00
narzoul
60129a1000 Suppress the ForceDirectDrawEmulation compatibility shim 2016-12-27 17:31:48 +01:00
narzoul
b8832a92be Moved DLL related parts to Dll namespace and subdirectory 2016-10-23 15:27:50 +02:00