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

173 Commits

Author SHA1 Message Date
narzoul
fc16184256 Handle resolution scaling in windowed mode 2022-09-27 21:45:13 +02:00
narzoul
96ad1d6ab6 Added DpiAwareness setting 2022-09-27 21:45:12 +02:00
narzoul
fa99142587 Added AlignSysMemSurfaces setting 2022-09-27 21:45:12 +02:00
narzoul
641df63f14 Use types and constants from ddrawi.h 2022-09-27 21:45:11 +02:00
narzoul
87c2af5049 Added LogLevel setting 2022-09-27 21:45:10 +02:00
narzoul
0bc2694cce Force resolution scaling on primary surface 2022-09-27 21:45:09 +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
31444c364a Support gamma ramps in borderless fullscreen mode 2022-09-27 21:45:06 +02:00
narzoul
9813e8b1b7 Added VSync setting 2022-09-27 21:45:05 +02:00
narzoul
80863f77a7 Updated presentation logic 2022-09-27 21:45:05 +02:00
narzoul
55eab96f78 Added FullscreenMode setting 2022-09-27 21:45:05 +02:00
narzoul
0d85ab5dc6 Added highlighting and focus to config overlay 2022-09-27 21:45:03 +02:00
narzoul
9d7f36c45b Scale config overlay with resolution 2022-09-27 21:45:03 +02:00
narzoul
7a84efc1da Apply ResolutionScale to layered windows 2022-09-27 21:45:01 +02:00
narzoul
c714383613 Added ResolutionScale setting 2022-09-27 21:45:01 +02:00
narzoul
075287b16a Perform sysmem to vidmem render target blits via Direct3D 2022-09-27 21:44:59 +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
b878028748 Always wait for flip before Blt/Lock
Returning DDERR_WASSTILLDRAWING interferes with rendering in Lego Island.
Viewport clear should wait for flip, but it's internally buffered by ddraw
and flushed during Blt, which didn't happen because of Blt failing early.
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
2b691ebdc7 Increment clipper ref count while attached to a surface
Fixes a crash in Midtown Madness startup.

Clipper attached to primary surface was destroyed before
Surface destructor was executed.
2022-09-27 21:44:56 +02:00
narzoul
7dfb030ae2 Restrict GDI redirection to main monitor in fullscreen mode
Fixes display issues with games not respecting surface pitch
2022-09-27 21:44:54 +02:00
narzoul
0584a0007a Fixed popup menu position in scaled fullscreen mode 2022-09-27 21:44:53 +02:00
narzoul
f7962f6e3b Fixed presentation of layered windows in scaled fullscreen mode 2022-09-27 21:44:53 +02:00
narzoul
ccc23c75b9 Emulate hardware cursor in scaled fullscreen mode 2022-09-27 21:44:53 +02:00
narzoul
647a4bfcff Added DisplayResolution setting 2022-09-27 21:44:53 +02:00
narzoul
62983b19fe Create helper surfaces via DirectDraw runtime 2022-09-27 21:44:53 +02:00
narzoul
51a451f424 Perform P8 to R8G8B8 conversion in pixel shader 2022-09-27 21:44:53 +02:00
narzoul
359256660e Fixed flickering mouse cursor in Icewind Dale 2 2021-05-15 19:25:33 +02:00
narzoul
83143589ee Fixed crash caused by implicit release of clippers
See issues #96 and #97.
2021-05-15 16:29:10 +02:00
narzoul
fc0b904c25 Fixed resource leak in PrimarySurface::getLastSurface() 2021-04-08 10:55:29 +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
35e66bd3cf Leave cleanup to process termination 2021-03-01 22:59:07 +01:00
narzoul
0d91170fb5 Use _beginthreadex instead of CreateThread 2021-03-01 22:02:31 +01:00
narzoul
b4ef2a1c0c Use angle brackets in all include directives 2021-02-24 23:35:20 +01:00
narzoul
205f517845 Fixed scroll bar control painting and thumb tracking 2021-02-24 23:30:48 +01:00
narzoul
39bb699cf7 Use RealizePalette for windowed mode palette changes 2021-01-31 11:40:43 +01:00
narzoul
950bde4161 Always take window client DCs from cache 2021-01-28 23:00:48 +01:00
narzoul
0e7f397863 Moved palettized presentation handling to driver level 2021-01-17 00:45:08 +01:00
narzoul
affc5ab17e Release DirectDraw critical section between GetDC/ReleaseDC
Fixes invisible exit confirmation dialog in Metal Gear Solid (issue #49).
2021-01-13 22:11:50 +01:00
narzoul
7b660e1396 Bypass restrictions on maximum render target size (2048x2048) 2021-01-08 01:20:24 +01:00
narzoul
5911951d08 Use window region to emulate pre-DWM system region 2021-01-04 22:09:37 +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
4ca4e5d6ca Fixed overlap detection in Blitter
Fixes graphics corruption in TalesWeaver (issue #72).
2020-06-21 22:48:51 +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
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
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