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

237 Commits

Author SHA1 Message Date
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
narzoul
545b08c55b Minor logging improvements 2019-08-01 16:00:20 +02:00
narzoul
063cefb46e Simplified Surface implementation 2019-08-01 16:00:19 +02:00
narzoul
b0c5736bbf Updated project to VS2019 and SDK/WDK 10.0.17763.0 2019-08-01 16:00:18 +02:00
narzoul
07de716af9 Reworked oversized surface support 2019-08-01 16:00:18 +02:00
narzoul
3e0eada40d Refactored adapter and device references 2019-08-01 16:00:17 +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
180811bda1 Handle forwarded exports in getProcAddress 2019-06-08 15:58:07 +02:00
narzoul
0f88271668 Fixed compatibility issue with Windows 10 v1903
See issue #43
2019-06-07 21:19:22 +02:00
narzoul
8e8eeb083a Fixed deadlock when hooking NVIDIA user-mode display drivers
See issue #28
2019-01-02 18:52:06 +01:00
narzoul
14104894b2 Generate full debug info for all build types 2019-01-02 18:17:30 +01:00
narzoul
3de50d98ad Fixed wrong palette returned by GetSystemPaletteEntries 2019-01-02 18:17:19 +01:00
narzoul
7fe68a6e1e Reverting commit 6a225516 due to possible BSOD on AMD drivers 2018-12-31 20:32:09 +01:00
narzoul
587af2c855 Fixed incorrect DC used for opening GDI adapter 2018-12-31 20:32:09 +01:00
narzoul
d655947f18 Fixed crash when rehooking a user-mode display driver 2018-12-31 20:32:08 +01:00
narzoul
c1b35e0434 Workaround for VirtualizeDesktopPainting shim 2018-12-31 20:32:08 +01:00
narzoul
403037c0da Workaround for ForceSimpleWindow shim 2018-12-31 20:32:07 +01:00
narzoul
ec61179b84 Track layered window transparency and position changes 2018-12-31 20:32:07 +01: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
12e78aab84 Moved presentation windows to dedicated thread 2018-12-08 21:58:19 +01:00
narzoul
906ef5ebe2 Added ReleaseWithDebugLogs configuration 2018-12-08 21:58:18 +01:00
narzoul
cd674d54c8 Fixed potential deadlocks during WM_ACTIVATEAPP 2018-12-08 21:57:15 +01:00
narzoul
7785133d02 Improved GDI performance 2018-12-08 21:57:14 +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
4717b9aa1b Fixed caret display issues 2018-12-08 21:57:12 +01:00
narzoul
2f00b74a56 Fixed display issues with user32 controls 2018-12-08 21:57:12 +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
e69b5e312c Moved common macros to compiler options 2018-12-08 21:53:41 +01:00
narzoul
785663700d Separate GDI and DirectDraw surfaces 2018-12-08 21:53:40 +01:00
narzoul
6183aed7da Optimize GDI redraw on window position changes 2018-12-08 21:53:38 +01:00
narzoul
7cbc65878a Update visible regions of all top-level windows on pos changes 2018-12-08 21:53:38 +01:00
narzoul
1ee48b11df Enable GDI emulation in windowed mode 2018-12-08 21:53:38 +01:00
narzoul
c384167244 Removed layered windows from DirectDraw primary surface 2018-12-08 21:53:31 +01:00