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

493 Commits

Author SHA1 Message Date
narzoul
b42e1584e5 Detect and disable broken source color key hardware support
Blitting with source color key appears to be broken on Radeon RX 5xxx series.
Hopefully this workaround fixes issue #79.
2020-12-14 16:09:44 +01:00
narzoul
dee081c083 Fixed black taskbar icons 2020-12-01 23:35:00 +01:00
narzoul
12944404e8 Fixed WM_SETTEXT drawing over previous caption text 2020-11-28 12:48:36 +01:00
narzoul
29f311ddc7 Improved logging of wParam/lParam for window messages 2020-10-03 19:06:51 +02:00
narzoul
a75739e5da Use window procedure override instead of CallWndRetProc
Fixes videos not displaying in The Guild Gold.
2020-08-21 15:22:32 +02: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
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