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

273 Commits

Author SHA1 Message Date
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
narzoul
590b6f1ad0 Use HeapAlloc for lock surface memory allocations 2019-08-21 14:51:48 +02:00
narzoul
55e08f62d4 Avoid initial lock surface copy for unmodified surfaces 2019-08-19 22:42:48 +02:00
narzoul
d0289de9a2 Fixed a crash when DPI scaling is set higher than 100% 2019-08-19 14:29:10 +02:00
narzoul
32a67548ae Changed surface alignment to work around performance issues on some drivers 2019-08-19 14:29:05 +02:00
narzoul
8cc73dc68d Moved lock surface handling to UMD level 2019-08-11 23:55:52 +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
bb6092e0bd Partial workaround for black D3DTA_DIFFUSE color on some drivers when RHW=0
Fixes black screen issues under some circumstances (e.g. underwater) in
Might and Magic 9 (issue #48).
2019-08-10 14:23:52 +02:00
narzoul
7068d282ff Improved palette handling
Fixes windowed-mode palette issues in SimCopter (issue #46)
2019-08-03 12:09:19 +02:00
narzoul
b747448330 Readded buffer overflow fix for Diablo 1
See issue #3.
2019-08-03 12:09:19 +02:00
narzoul
f9f4b6fb00 Fixed bitmap orientation for Create*Bitmap functions
Fixes upside-down save game screenshots in Siege of Avalon (issue #42)
2019-08-03 12:09:18 +02:00
narzoul
b6f6f2acf0 Limit maximum video memory
Fixes blurry textures in Rayman 2 and crash in Settlers 4
2019-08-03 12:09:17 +02:00
narzoul
e83371afed Moved GDI synchronization to UMD level
Fixes deadlock when starting Rayman 2 (issue #30).
2019-08-03 12:09:12 +02:00
narzoul
7b6b7c911c Resync source surface from system memory during presentation blit
Fixes issues with writing to unlocked primary surfaces (e.g. Nox).
2019-08-01 16:00:22 +02:00
narzoul
d23904afd2 Prefer color fills in system memory 2019-08-01 16:00:22 +02:00
narzoul
c526cc2506 Prefer locks and blits in system memory 2019-08-01 16:00:21 +02:00