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

288 Commits

Author SHA1 Message Date
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
b8bff744e5 Fixed sysmem/vidmem synchronization issues on integrated AMD GPUs 2020-06-27 11:12:13 +02:00
narzoul
4ca4e5d6ca Fixed overlap detection in Blitter
Fixes graphics corruption in TalesWeaver (issue #72).
2020-06-21 22:48:51 +02:00
narzoul
2ce97329a9 Limit GlobalMemoryStatus values to 2GB 2020-06-21 22:48:51 +02:00
narzoul
ff5bcc031c Eliminate redundant device state changes 2020-06-21 22:48:39 +02:00
narzoul
bb8ce374e2 Aggregate Draw(Indexed)Primitive calls 2020-06-21 21:32:25 +02:00
narzoul
8e07040750 Moved dynamic index/vertex buffers to separate class 2020-06-16 22:20:40 +02:00
narzoul
b5e3de76cb Use QueryThreadCycleTime for mitigation of busy waiting 2020-06-02 17:18:13 +02:00
narzoul
e7d0fa8f10 Prevent some redundant state changes from execute buffers 2020-05-30 21:23:49 +02:00
narzoul
6799ecc1a9 Added missing CommonLog.h/cpp files 2020-05-30 18:18:10 +02:00
narzoul
d8bf209d7a Fixed presentation window leak and eliminated unnecessary position changes 2020-05-28 00:20:35 +02:00
narzoul
bff7253ecd Improved rendering performance for indexed and system memory primitives 2020-05-26 14:42:14 +02:00
narzoul
ca9404ec6f Suppress flushes from execute buffers
Mitigates performance issues in Rowan's Mig Alley (issue #12).
2020-05-26 00:15:41 +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
b7aae9e403 Disable apphelp DirectDraw COM hooks 2020-05-02 11:45:53 +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
9de2102909 Wait for vertical blank during gamma ramp changes
Fixes fade effects and skipped credits/ending slides in Arcanum (issue #63)
2020-04-23 20:22:00 +02:00
narzoul
d06fe4e6ba Hook Direct3D execute buffer interface 2020-04-19 01:31:15 +02:00
narzoul
652bf67706 Hook Direct3D light and material interfaces 2020-04-17 23:53:18 +02:00
narzoul
1294e5df0d Improved GetDeviceCaps for 8 bit display DCs
Added proper implementation for COLORRES, NUMCOLORS, NUMRESERVED and
SIZEPALETTE queries.

NUMCOLORS is used by Star Wars Rebellion to determine how many entries
should not have the PC_NOCOLLAPSE flag when setting up some palettes
(issue #22).
2020-04-16 23:23:55 +02:00
narzoul
bbb850faf1 Create 8-bit render target primary surface in system memory
Fixes issue with entering space battles in Star Wars Rebellion
full-screen mode (issue #22).
2020-04-13 13:22:54 +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
4eb28cc596 Handle child window position changes
Fixes Loyalty window getting clipped while dragging it in Star Wars Rebellion.
2020-04-11 22:05:05 +02:00
narzoul
4d46189aa8 Handle window region changes (used by ComboBox drop-down animation) 2020-04-11 11:22:17 +02:00
narzoul
169b4c0534 Handle child window parent change to desktop (used by ComboLBox) 2020-04-11 10:56:11 +02:00
narzoul
3cc5a47156 Replace Ramp Emulation device with RGB Emulation
Fixes battle scenes in Star Wars Rebellion, apparently broken by a
Windows 10 update (issue #22).
Older versions of d3dim.dll still work correctly.
2020-04-06 23:00:20 +02:00
narzoul
13f3b0ced7 Alternative workaround for VirtualizeDesktopPainting shim
Fixes blue filled rectangle covering whole screen when exit confirmation
dialog is displayed in The Longest Journey.
2020-04-06 23:00:14 +02:00
narzoul
e9ecc5adbe Fixed presentation window Z order, deadlocks and WS_EX_LAYERED changes
Fixes deadlock after intro videos and invisible tooltips in
Star Wars Rebellion (issue #22).
2020-04-05 21:13:55 +02:00
narzoul
e78d3f2b69 Moved WIN32_LEAN_AND_MEAN macro to compiler switches 2020-02-01 14:12:01 +01:00
narzoul
aeaeeaed4d Log window message names 2020-02-01 14:11:47 +01:00
narzoul
b898519aa0 Avoid hooking ntdll stubs
Fixes issue #52
2020-01-03 00:40:41 +01:00
narzoul
6f14ddf9ae Fixed menu bar highlighting when window is not in top-left corner of desktop 2019-12-31 11:43:46 +01:00
narzoul
743d19bf25 Fixed popup menu scrolling 2019-12-14 15:54:50 +01:00
narzoul
e8491e65c2 Disable immersive context menus (updated for Win10 v1809) 2019-12-14 15:20:28 +01:00
narzoul
cb7a46cd5e Log module path and offset for function hooks 2019-12-09 13:12:53 +01:00
narzoul
6aaf12b0a4 Added critical section to all user-mode display driver functions
Fixes crashes and frozen screen issues in Laghaim Online (issue #58)
2019-11-02 22:55:55 +01:00
narzoul
a49a19c448 Fixed compilation error after Visual Studio update 2019-11-02 11:20:52 +01:00
narzoul
2a129c41c9 Removed dependency on context handle for driver hooks
Potential fix for issue #55.
2019-09-02 22:29:39 +02:00
narzoul
81c2748027 Improved hooking of user32 window procedures 2019-09-01 15:45:36 +02:00
narzoul
c7b94700d3 Use IAT hooks for D3DKMT* functions
Potential fix for issue #55.
2019-08-28 21:04:28 +02:00
narzoul
d1cd6658c9 Fixed deadlock in VirtualScreen::createSurface 2019-08-28 00:09:15 +02:00
narzoul
66e0d20897 Fixed GDI updates interrupted by presentation sync 2019-08-25 22:05:29 +02:00
narzoul
77bdff3f1c Added bounds checking to blits and color fills 2019-08-24 21:23:27 +02:00
narzoul
b8456cc1d4 Fixed deadlock in ScrollWindow(Ex) 2019-08-24 15:50:29 +02:00
narzoul
898c7e819c Added timeout for sysmem preference of blits
Improves performance in Dungeon Keeper 2.
2019-08-22 21:13:50 +02:00
narzoul
a45e5768ae Restrict lock surfaces to off-screen plain and render target surfaces 2019-08-22 15:24:07 +02:00