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

52 Commits

Author SHA1 Message Date
narzoul
97197dde6a Removed dependency on common config header 2023-11-05 14:21:18 +01:00
narzoul
89a16d92e8 Added CpuAffinityRotation setting 2023-11-05 14:21:18 +01:00
narzoul
9068a8d9a6 Set overlay window positions based on the real primary surface 2023-11-05 14:21:18 +01:00
narzoul
483bf5f6dd Added support for CreateBitmap(Indirect)
Fixes QuickTime videos in Carmen Sandiego series (issue #156)
2023-11-05 14:21:18 +01:00
narzoul
d4f5020e6f Disable application calls to timeBeginPeriod/timeEndPeriod
Fixes stuttering in Pacific General.
2022-09-27 21:45:18 +02:00
narzoul
524f708a7f Handle display scaling while primary surface is lost 2022-09-27 21:45:18 +02:00
narzoul
87c2af5049 Added LogLevel setting 2022-09-27 21:45:10 +02:00
narzoul
516ed1f7da Added WinVersionLie setting 2022-09-27 21:45:08 +02:00
narzoul
408ccee3d8 Added DisplayRefreshRate setting 2022-09-27 21:45:03 +02:00
narzoul
229fe449ef Merge helper GUI threads 2022-09-27 21:45:02 +02:00
narzoul
fa8dec88c5 Block DwmEnableComposition
Fixes main menu flickering in Rogue Spear on Windows 7 (#126)
2022-09-27 21:45:02 +02:00
narzoul
c714383613 Added ResolutionScale setting 2022-09-27 21:45:01 +02:00
narzoul
5eaa79d04c Improved logging of pointers and references 2022-09-27 21:44:58 +02:00
narzoul
199d434f29 Added config overlay 2022-09-27 21:44:56 +02:00
narzoul
ffc8e04a35 Added SupportedResolutions setting 2022-09-27 21:44:55 +02:00
narzoul
ee350c7f08 Added DesktopColorDepth setting 2022-09-27 21:44:55 +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
74460b2d24 Added CpuAffinity setting 2022-09-27 21:44:52 +02:00
narzoul
b3b54d5fbd Added ThreadPriorityBoost setting 2022-09-27 21:44:35 +02:00
narzoul
b2c92f31da Use variable templates and auto template parameters 2021-03-28 11:19:28 +02: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
5911951d08 Use window region to emulate pre-DWM system region 2021-01-04 22:09:37 +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
2ce97329a9 Limit GlobalMemoryStatus values to 2GB 2020-06-21 22:48:51 +02:00
narzoul
b5e3de76cb Use QueryThreadCycleTime for mitigation of busy waiting 2020-06-02 17:18:13 +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
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
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
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
c7b94700d3 Use IAT hooks for D3DKMT* functions
Potential fix for issue #55.
2019-08-28 21:04:28 +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
d817c4bfb3 Simplified 8/16 bit display mode emulation 2019-08-01 16:00:16 +02:00
narzoul
c1b35e0434 Workaround for VirtualizeDesktopPainting shim 2018-12-31 20:32:08 +01:00
narzoul
727be63db1 Implement GDI system palette emulation 2018-12-31 20:31:58 +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
2f00b74a56 Fixed display issues with user32 controls 2018-12-08 21:57:12 +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
ab7271b986 Disable primary surface updates during display mode change 2017-07-02 16:38:31 +02:00
narzoul
640f746633 Implement 8/16 bit display mode emulation
8/16 bit display mode emulation is now implemented internally instead of
relying on the builtin Windows shims, as those are sometimes unreliable
(not triggering for some games on some systems when they should).

External DirectDraw hooks (such as the DWM8And16BitMitigation shim)
are disabled to avoid interference.

Fixes issues reported in #8, #9, #15.
2017-05-28 15:40:33 +02:00