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

55 Commits

Author SHA1 Message Date
narzoul
24bb72138d Fixed a race condition leading to a crash when installing hooks
See issue #306.
2024-07-01 23:52:25 +02:00
narzoul
f70e2f9d32 Fixed ValidateDevice 2024-07-01 23:52:24 +02:00
narzoul
5b35b3b261 Added AltTabFix=noactivateapp setting
Fixes alt-tabbing in Tonic Trouble (issue #286).
2024-04-21 21:03:56 +02:00
narzoul
8e84130378 Merged AltTabFix=keepvidmem and keepvidmemnp 2024-04-21 21:03:56 +02:00
narzoul
79d2eea9e3 Added support for Steam overlay in fullscreen mode 2024-04-21 21:03:55 +02:00
narzoul
ec9cf32e91 Fixed alt-tabbing in Rayman 2
See issue #286.
2024-04-21 21:03:54 +02:00
narzoul
d5a89cad94 Reworked presentation handling during lost primary suface
Fixes video problems in Prince of Persia 3D (issue #273).
2024-04-21 21:03:10 +02:00
narzoul
c344ec3408 Added a primary surface repository 2024-04-14 15:09:19 +02:00
narzoul
97805b17b6 Improved support for DPI unaware apps 2023-11-12 18:02:38 +01:00
narzoul
9eba917e09 Fixed software palettized textures when PalettizedTextures is off
Fixes menu corruption in Colin McRae Rally.
2023-11-11 17:16:39 +01:00
narzoul
f13e010834 Added AltTabFix=keepvidmemnp setting 2023-11-11 17:16:39 +01:00
narzoul
7ec4d076f6 Fixed fullscreen mode detection in SetCooperativeLevel
See issue #225.
2023-11-11 17:16:39 +01:00
narzoul
83941ddb8e Don't set GDI resource while primary is lost 2023-11-05 14:21:19 +01:00
narzoul
25f325ec17 Log used resource formats 2023-11-05 14:21:18 +01:00
narzoul
97197dde6a Removed dependency on common config header 2023-11-05 14:21:18 +01:00
narzoul
ab443a1ac2 Remove mipmap caps from textures with single mip level
Fixes texture creation errors in Extreme-G 2 (see issue #159).
2022-11-26 14:38:23 +01:00
narzoul
13e4d90116 Added SoftwareDevice setting 2022-09-27 21:45:21 +02:00
narzoul
bb0eadc310 Added PalettizedTextures setting 2022-09-27 21:45:20 +02:00
narzoul
9bca0a6ba0 Fixed alt-tabbing in Titanic: Adventure Out of Time 2022-09-27 21:45:18 +02:00
narzoul
2099c80095 Fixed GDI display issues in Titanic: Adventure Out of Time 2022-09-27 21:45:16 +02:00
narzoul
18360643f5 Fixed handleActivateApp not enumerating some surfaces 2022-09-27 21:45:15 +02:00
narzoul
641df63f14 Use types and constants from ddrawi.h 2022-09-27 21:45:11 +02:00
narzoul
04c29d1f38 Added RemoveBorders setting 2022-09-27 21:45:08 +02:00
narzoul
0ee03e4553 Added KeepVideoMemory setting 2022-09-27 21:45:07 +02:00
narzoul
80863f77a7 Updated presentation logic 2022-09-27 21:45:05 +02:00
narzoul
436a8184bb Handle mirroring and color keying via Direct3D 2022-09-27 21:44:59 +02:00
narzoul
664c573d91 Fixed performance issues caused by D3DKMTWaitForVerticalBlankEvent
See issue #104 and #120.
2022-09-27 21:44:58 +02:00
narzoul
5eaa79d04c Improved logging of pointers and references 2022-09-27 21:44:58 +02:00
narzoul
62983b19fe Create helper surfaces via DirectDraw runtime 2022-09-27 21:44:53 +02:00
narzoul
6396b7420d Fixed palette issues in Deer Hunter 2 2021-04-08 00:29:51 +02:00
narzoul
71c67fffd4 Reworked vtable hooking 2021-03-16 14:13:20 +01:00
narzoul
799e9a95ae Removed dependency on D3DKMTPresent
Fixes presentation issues when Hardware Accelerated GPU Scheduling is enabled
(issue #73).
2020-07-13 23:44:05 +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
9b24a9b306 Removed the GetDDInterface override
Fixes a crash in UEFA Challenge (issue #50).
2019-08-11 12:48:02 +02:00
narzoul
063cefb46e Simplified Surface implementation 2019-08-01 16:00:19 +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
291a9c2f9a Fixed various multi-monitor display issues 2018-12-31 20:32:06 +01:00
narzoul
727be63db1 Implement GDI system palette emulation 2018-12-31 20:31:58 +01:00
narzoul
58aba66ca2 Hook all GDI threads 2018-12-08 21:57:13 +01:00
narzoul
537ef9c595 Improved presentation scheduling
Fixes cursor flickering issues in Siege of Avalon (issue #34)
and multimon flip issues on Windows 8.1 (issue #28).
2018-12-08 21:57:09 +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
947bb41bf3 Emulate flip when the primary surface is requested in system memory
When the primary surface chain is requested to be created in system memory,
flip should be emulated (copy from back buffer to front buffer) to be
consistent with legacy DirectDraw behavior.

Fixes flashing graphical artifacts in Carmageddon (Win95 version) menus
when exiting from a race, mentioned in issue #3.
2017-07-25 21:27:40 +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
5b5863b028 Fixed various alt-tabbing issues 2016-12-20 18:52:50 +01:00
narzoul
1d14b606c2 Implemented GetGDISurface and FlipToGDISurface 2016-11-05 11:45:55 +01:00
narzoul
7220b80999 Tagged all DirectDraw objects for tracking lifetime 2016-10-31 13:47:59 +01:00
narzoul
30bf0435f8 Fixed GetDDInterface implementation 2016-10-23 15:28:20 +02:00