Commit graph

388 commits

Author SHA1 Message Date
FunkyFr3sh
c9262a5ee9 hook stretchblt 2022-10-02 18:41:06 +02:00
FunkyFr3sh
1cbfe2d926 tweak clipper function logging 2022-10-02 14:47:46 +02:00
FunkyFr3sh
f83d8f7bad add some more debug logging 2022-09-30 14:27:41 +02:00
FunkyFr3sh
a3469be07a improve debug logs 2022-09-30 14:16:30 +02:00
FunkyFr3sh
5c0dc2753d remove bool and make guard lines adjustable 2022-09-29 21:52:07 +02:00
FunkyFr3sh
c7f971c0be add some more debug logging 2022-09-29 13:44:25 +02:00
FunkyFr3sh
11f1422acf #177 add preset for Fairy Tale About Father Frost, Ivan and Nastya 2022-09-28 04:19:09 +02:00
FunkyFr3sh
11801618df add (commented out) clipper support to dds_blt 2022-09-27 15:28:57 +02:00
FunkyFr3sh
24f6a020d5 #177 support 2 more clipper functions - GetClipList and SetClipList - clipping not supported yet in dd_blt! 2022-09-27 13:56:36 +02:00
FunkyFr3sh
a8b3b1c736 add GetHWnd and SetHWnd clipper functions 2022-09-26 22:22:15 +02:00
FunkyFr3sh
1186c9cc00 add option to create opengl core context 2022-09-24 01:41:18 +02:00
FunkyFr3sh
d54011973f add option to change d3d9 adapter 2022-09-24 01:12:53 +02:00
FunkyFr3sh
415f74887f try to avoid d3d9_release to workaround nvidia bug 2022-09-23 02:17:33 +02:00
FunkyFr3sh
bd697e7b7a fix function name 2022-09-21 16:37:13 +02:00
FunkyFr3sh
d18df5faf1 #172 Add support for SetSurfaceDesc (Nancy Drew: Stay Tuned For Danger) 2022-09-21 16:07:32 +02:00
FunkyFr3sh
5616af006b add option to enable direct3d 12 renderer (via MS 9on12) 2022-09-20 11:21:32 +02:00
FunkyFr3sh
1b791fb2cb only lock cursor in borderless if game window is the foreground window 2022-09-20 08:59:36 +02:00
FunkyFr3sh
6372dc6884 add AVX memset 2022-09-20 02:27:01 +02:00
FunkyFr3sh
f4ee6128c4 detect if AVX is supported 2022-09-19 13:13:34 +02:00
FunkyFr3sh
e8acc35f0d add AVX test code 2022-09-18 19:02:15 +02:00
FunkyFr3sh
8d6b2f3bfe add option to lock surfaces 2022-09-17 13:46:45 +02:00
FunkyFr3sh
8a63e2b976 allocate memory with CreateFileMapping 2022-09-16 11:22:05 +02:00
FunkyFr3sh
5a9284a44e save and pass DDSD_BACKBUFFERCOUNT 2022-09-15 10:21:33 +02:00
FunkyFr3sh
edf69fcc2a add support for DDSD_LPSURFACE and DDSD_PITCH 2022-09-15 10:10:52 +02:00
FunkyFr3sh
0133030c6a add memset blt_clear wrapper 2022-09-15 02:12:27 +02:00
FunkyFr3sh
a2475ed259 replace blt_stretch 2022-09-13 15:51:14 +02:00
FunkyFr3sh
dc0204cf71 remove fixpitch setting 2022-09-13 09:34:48 +02:00
FunkyFr3sh
b03600fb4f #101 clear backbuffer on flip 2022-09-13 07:41:01 +02:00
FunkyFr3sh
21ccd1547f fix build for newer SDK versions 2022-09-11 07:34:40 +02:00
FunkyFr3sh
e578df74e3 make fixpitch setting working with primary surface too 2022-09-09 12:57:05 +02:00
FunkyFr3sh
10d0477cbd add color conversion blitters 2022-09-09 10:44:04 +02:00
FunkyFr3sh
c21123b606 specify full path to ddraw.ini in case of bad working dir 2022-09-08 04:20:51 +02:00
FunkyFr3sh
0997f514c4 separate blitters into a different file 2022-09-08 02:19:15 +02:00
FunkyFr3sh
15221b3120 add crc32 for testing 2022-09-07 02:51:42 +02:00
FunkyFr3sh
294e8f7d34 #164 add preset for Atrox 2022-09-05 09:08:59 +02:00
FunkyFr3sh
b2d6e13ba8 #138 add preset for infantry online 2022-02-05 04:03:00 +01:00
FunkyFr3sh
c6a5603294 optional D3DCREATE_FPU_PRESERVE for dune2000 and other games that might need it 2021-12-18 04:59:25 +01:00
FunkyFr3sh
c36522d377 #133 add option to save screenshots in a different directory 2021-12-17 03:16:08 +01:00
FunkyFr3sh
b8fd6d1f81 #131 #125 add option to remove video memory flag 2021-12-17 02:41:02 +01:00
FunkyFr3sh
768a3aaa7f #117 add hotkey settings to .ini 2021-09-29 12:55:20 +02:00
FunkyFr3sh
f23a3e49ba #121 fix cursor lock for space rangers 2021-09-19 04:24:22 +02:00
FunkyFr3sh
09f57918cb fix ClipCursor for ja2 2021-09-19 03:04:45 +02:00
FunkyFr3sh
8702ffe44a make cfg ini functions public 2021-09-16 02:25:22 +02:00
FunkyFr3sh
58a86abfc8 add new .ini setting to force release alt key on alt+tab 2021-09-16 01:57:44 +02:00
FunkyFr3sh
ebda8282b2 #118 merge latest sir-tech fixes
(cherry picked from commit 994d4c646fafe58c49631283c72b755d81dbf865)
2021-09-16 01:47:14 +02:00
FunkyFr3sh
31119eacb8 #118 fix shaders with ja2 wildfire 2021-09-09 21:34:44 +02:00
FunkyFr3sh
3f9ac549bc #121 return empty device identifier 2021-09-02 22:22:48 +02:00
FunkyFr3sh
ac1829f629 #114 add temporary workaround for "not responding" windows 2021-08-18 16:25:29 +02:00
FunkyFr3sh
2b883cfccb fix crash 2021-08-11 15:45:01 +02:00
FunkyFr3sh
4ee34d1c77 add setting for dinput detours hooks 2021-08-11 14:07:47 +02:00
FunkyFr3sh
b83005118d add new .ini setting for hiding child windows 2021-08-10 16:45:40 +02:00
FunkyFr3sh
1fde0ef382 add new ini setting "fixchilds" 2021-08-10 14:12:06 +02:00
FunkyFr3sh
02719f5744 remove passthrough setting and adjust presets 2021-08-08 22:39:32 +02:00
FunkyFr3sh
8314ea5545 do full Detours hook with hook=3 2021-08-06 02:07:50 +02:00
FunkyFr3sh
b3f9e7d045 #111 clear screen on resolution change and window resize 2021-08-05 00:26:29 +02:00
FunkyFr3sh
21790200af hook ShowWindow 2021-08-04 15:24:16 +02:00
FunkyFr3sh
a25e4d35f8 dinput.dll proxy with CoCreateInstance hook 2021-08-02 17:27:19 +02:00
FunkyFr3sh
2bc409d8fd add bilinear palette shader for d3d9 2021-07-21 14:52:44 +02:00
FunkyFr3sh
56ef3543c7 add some flags for SetDisplayMode 2021-07-03 18:07:38 +02:00
FunkyFr3sh
057e41e3c1 #100 tweak old 640x480 hack for cnc1 and ra1 2021-06-21 01:45:52 +02:00
FunkyFr3sh
efb8d84fcc add hack for ts 2021-06-18 12:18:35 +02:00
FunkyFr3sh
6cfeadaced fixes for cursor lock 2021-06-18 04:07:26 +02:00
FunkyFr3sh
684224b833 remove "handlemouse" setting 2021-06-18 04:06:48 +02:00
FunkyFr3sh
abdb74942b Revert "remove "handlemouse" setting"
This reverts commit f1bcff220d.
2021-06-16 07:47:15 +02:00
FunkyFr3sh
f1bcff220d remove "handlemouse" setting 2021-06-16 05:57:19 +02:00
FunkyFr3sh
4bb1cffee7 fix cursor lock for some dinput games 2021-06-15 02:21:44 +02:00
FunkyFr3sh
f29f712016 use older version of structs by default and cast to newer ones if needed 2021-06-14 09:57:26 +02:00
FunkyFr3sh
76b384e0cd some more tweaks to GetCaps 2021-06-14 09:18:14 +02:00
FunkyFr3sh
b7fe3d5b54 rename arg 2021-06-13 05:17:46 +02:00
FunkyFr3sh
a399797982 improve cursor lock 2021-06-12 05:45:28 +02:00
FunkyFr3sh
1eb87fd854 remove ddraw.h 2021-06-11 22:54:44 +02:00
FunkyFr3sh
1f11bf8b84 refactoring 2021-06-11 20:30:43 +02:00
FunkyFr3sh
19b43e8988 add .ini setting to return a full list of available resolutions 2021-06-10 03:48:26 +02:00
FunkyFr3sh
093284f565 add hack for armada 2021-06-09 07:24:17 +02:00
FunkyFr3sh
2934ac41da add new .ini setting for linear upscaling with gdi renderer 2021-06-07 02:59:21 +02:00
FunkyFr3sh
242c40a197 hook SetWindowsHookExA 2021-06-06 19:03:38 +02:00
FunkyFr3sh
50e6cf7534 make fixwndprochook useful for other games as well 2021-06-04 22:46:15 +02:00
FunkyFr3sh
03636f03ad remove old hack 2021-06-02 23:07:55 +02:00
FunkyFr3sh
96714b01c0 add new .ini settings fixwndprochook 2021-06-02 14:29:25 +02:00
FunkyFr3sh
f262004e13 add patch.h for testing 2021-06-01 17:35:00 +02:00
FunkyFr3sh
7372afd775 force redraw on ReleaseDC 2021-05-30 20:43:27 +02:00
FunkyFr3sh
29863ed472 hook MapWindowPoints 2021-05-29 21:40:21 +02:00
FunkyFr3sh
5baeb50d1e some passthrough tweaks 2021-05-29 20:52:57 +02:00
FunkyFr3sh
c3dd35f122 support GetDDInterface 2021-05-29 20:51:19 +02:00
FunkyFr3sh
e5dffb454b tweak QueryInterface 2021-05-28 22:19:38 +02:00
FunkyFr3sh
e5652ba849 add stubs 2021-05-26 17:07:14 +02:00
FunkyFr3sh
c5c47a5400 hook all dinput function 2021-05-23 14:55:36 +02:00
FunkyFr3sh
793ed44b44 add new "fixpitch" setting 2021-05-23 06:16:58 +02:00
FunkyFr3sh
9e9783f8d2 fix rgb palette 2021-05-22 12:23:25 +02:00
FunkyFr3sh
2425033a2f #93 support SetProcessDpiAwarenessContext for newer versions of windows 2021-05-22 06:07:11 +02:00
FunkyFr3sh
5db961656a rename upscale hack related stuff 2021-05-15 02:58:07 +02:00
FunkyFr3sh
c467b90e88 #92 allow shader upscale with vhack=true 2021-05-15 02:36:05 +02:00
FunkyFr3sh
39c62d6e7d support upscale hack for KKND Xtreme high resolution patch (vhack=true) 2021-05-15 00:41:50 +02:00
FunkyFr3sh
369d3c2b65 move dinput hooks into hook.c 2021-05-14 01:24:46 +02:00
FunkyFr3sh
1afa15bdba override first and last color in palette if DDPCAPS_ALLOW256 isn't set 2021-05-13 20:02:35 +02:00
FunkyFr3sh
3bc8fffe81 improve dinput hooks with hook=3 2021-05-11 21:45:38 +02:00
FunkyFr3sh
3e9c38dade fix some warning messages 2021-05-10 04:00:45 +02:00
FunkyFr3sh
6efc112c39 make old windows xp workaround optional 2021-05-08 23:42:29 +02:00
FunkyFr3sh
ae4446becb create backbuffer for flip games 2021-05-04 22:49:22 +02:00
FunkyFr3sh
7f9a6b5925 #81 use different workaround for D2 alt-key-stuck bug 2021-03-20 06:15:53 +01:00
FunkyFr3sh
2561147a4a fix wndproc hook 2021-03-03 20:30:31 +01:00
FunkyFr3sh
8f8fd74e3b adjust version numbers on shaders for core profiles 2021-02-22 12:10:21 +01:00
FunkyFr3sh
a6af34fbff optional wait_for_vblank on flip 2021-02-22 09:09:21 +01:00
FunkyFr3sh
65443fa4e4 new .ini option "maxgameticks=-2" 2021-02-19 03:24:11 +01:00
FunkyFr3sh
2fd2de207a typedef functions 2021-02-18 10:04:05 +01:00
FunkyFr3sh
e34cd3b5e2 re-enable maximize button 2021-02-18 07:10:15 +01:00
FunkyFr3sh
2d1b967630 add debug logging for window messages 2021-02-18 05:00:35 +01:00
FunkyFr3sh
76891cb766 use LoadLibrary 2021-02-03 20:50:14 +01:00
FunkyFr3sh
d8530d8cf6 fix typo 2021-02-02 21:33:39 +01:00
FunkyFr3sh
a6f85fbd73 improve fps limiter for vsync and maxfps=-1 2021-02-02 18:15:25 +01:00
FunkyFr3sh
76dd7ae674 create MiniDump on crash in Debug builds 2021-01-28 07:38:03 +01:00
FunkyFr3sh
a6a95ec936 add dummy IDirectDrawGammaControl 2021-01-09 19:51:26 +01:00
FunkyFr3sh
ddc631708d use WM_APP instead of WM_USER 2021-01-08 20:56:42 +01:00
FunkyFr3sh
05d665dea9 #52 fixes macOS OpenGL core profile 2020-10-23 17:56:24 +02:00
FunkyFr3sh
7d4075e314 #52 Possible fix for getting shaders to work on macOS 2020-10-23 03:17:03 +02:00
FunkyFr3sh
8c965c56c0 add dummy IAMMediaStream and IMediaStream interfaces 2020-10-22 21:30:37 +02:00
FunkyFr3sh
e106ce3055 add dummy Direct3D 2/3/7 interfaces 2020-10-22 18:58:56 +02:00
FunkyFr3sh
d85b6e3243 add hidden option for linear filtering on direct3d 9 (16bpp games only) 2020-10-21 17:14:40 +02:00
FunkyFr3sh
8e54756b4a add a new .ini setting for child window handling (currently only used for tm2) 2020-10-21 16:02:00 +02:00
FunkyFr3sh
8549494af2 #51 support GetDisplayMode 2020-10-20 16:38:51 +02:00
FunkyFr3sh
de02f46413 more hook 3/4 performance improvements 2020-10-20 05:59:41 +02:00
FunkyFr3sh
9c555c8e05 tweaks for last commit 2020-10-19 16:40:55 +02:00
FunkyFr3sh
b690cb5c24 improve hook 3/4 performance 2020-10-19 16:37:12 +02:00
FunkyFr3sh
7d0e3e8da5 replace "forcefps=" with "minfps=" 2020-10-18 02:40:45 +02:00
FunkyFr3sh
583d927da6 add a few more missing functions for logging 2020-10-16 01:03:01 +02:00
FunkyFr3sh
6e54817718 add a hack for Dungeon Keeper 2 util there's a better solution 2020-10-15 07:43:03 +02:00
FunkyFr3sh
1ebacfcd27 comment on ddraw passthrough 2020-10-15 07:22:48 +02:00
FunkyFr3sh
ae4b72c9c9 export DirectDrawCreateEx 2020-10-15 05:13:37 +02:00
FunkyFr3sh
b496169243 add dummy IDirect3D interface 2020-10-14 00:42:42 +02:00
FunkyFr3sh
b10ece0687 support GetMonitorFrequency 2020-10-13 22:55:49 +02:00
FunkyFr3sh
be79bb8c8b align and tweak some more 2020-10-13 11:29:52 +02:00
FunkyFr3sh
b417da74f6 align 2020-10-13 10:53:30 +02:00
FunkyFr3sh
25e561d953 add DebugLog build config 2020-10-13 10:15:42 +02:00
FunkyFr3sh
baaa87b18f refactoring 2020-10-13 09:20:52 +02:00
FunkyFr3sh
37af4e6ee4 add 2 new .ini settings "nonexclusive" and "resizable" 2020-10-06 20:43:40 +02:00
FunkyFr3sh
2c629cbe55 some Twisted Metal experiments 2020-10-06 02:33:41 +02:00
FunkyFr3sh
27323efa4b Fix for twisted metal 2 2020-09-27 13:38:41 +02:00
FunkyFr3sh
5231054096 #29 Fix Sierra City Building series scrolling bugs 2020-09-25 08:07:41 +02:00
FunkyFr3sh
3aed2239ab #29 Sierra's City Building series support (Caesar III, Pharaoh and Zeus) 2020-09-24 10:29:18 +02:00
FunkyFr3sh
ad16993376 Add Twisted Metal 2 section to ddraw.ini 2020-09-23 04:37:28 +02:00
FunkyFr3sh
62d1451885 IAT Hooking for all game modules (Without Detours) 2020-09-22 07:08:14 +02:00
FunkyFr3sh
28b4965611 #41 IAT Hooking for all game modules 2020-09-19 11:23:06 +02:00
FunkyFr3sh
4e6ecfe37c #39 hook GetDeviceCaps - fixes graphcial glitches for Megaman X4 2020-09-17 05:49:36 +02:00
FunkyFr3sh
2d94d42e91 #5 add forcefps bool 2020-01-23 08:58:22 +01:00
FunkyFr3sh
da09069d7b adjust fps limiter for gdi renderer 2020-01-22 11:35:04 +01:00
FunkyFr3sh
cee27902b1 support GetAvailableVidMem 2019-08-30 05:37:29 +02:00
FunkyFr3sh
1198cb0e93 always run bnet in windowed mode 2019-08-19 17:02:36 +02:00
FunkyFr3sh
8f28bfad9c resize window on bnet 2019-08-14 17:53:36 +02:00
FunkyFr3sh
43224a0f65 add resizeable bool 2019-08-13 15:46:05 +02:00
FunkyFr3sh
42541debda don't toggle fullscreen instantly when leaving bnet 2019-08-08 12:40:20 +02:00
FunkyFr3sh
7b70ec2297 temp changes 2019-08-08 07:13:53 +02:00
FunkyFr3sh
f400504dd8 clean up bnet related code 2019-08-08 03:19:15 +02:00
FunkyFr3sh
122dca8216 sync with master 2019-08-07 13:05:05 +02:00
FunkyFr3sh
0a779ac4fe sync with master 2019-08-07 12:45:40 +02:00
FunkyFr3sh
9a9e9feead automatically switch between windowed/fullscreen with d3d9 renderer 2019-08-07 04:40:43 +02:00
FunkyFr3sh
18f2e16bb0 make bnet moveable 2019-08-06 04:37:06 +02:00
FunkyFr3sh
11c103f36c some more hook.c tweaks 2019-03-19 09:45:14 +01:00
FunkyFr3sh
d42284c4bf optional hotpatch support 2019-03-19 06:57:49 +01:00
FunkyFr3sh
0f58746515 experimental tweaks for diablo and warcraft 2 2019-03-17 00:16:09 +01:00
FunkyFr3sh
45c2206946 adjust gdi renderer for accurateTimers 2018-11-30 05:18:44 +01:00
FunkyFr3sh
97ca023f09 use waitable timer also for fps limiter 2018-11-29 21:26:43 +01:00
FunkyFr3sh
435854456b use waitable timers for better precision (limit game ticks / flip wait) 2018-11-29 17:45:10 +01:00
FunkyFr3sh
14304ff330 only limit game ticks via unlock if there was never any blt or flip 2018-11-28 13:40:29 +01:00
FunkyFr3sh
8e75c40cc3 revert LimitGameTicks changes since it's causing flickering in unpatched versions of cnc1 and ra1 2018-11-28 13:28:07 +01:00
FunkyFr3sh
5d2d258d52 save last flip tick to force redraw in case the game switches between blt and flip 2018-11-19 08:36:18 +01:00
FunkyFr3sh
6f520b4843 add checks for media stream 2018-11-18 13:11:05 +01:00
FunkyFr3sh
e4437a278f Linear scaling using integer math (copied from ts-ddraw) 2018-11-17 05:54:22 +01:00
FunkyFr3sh
55328cb497 rename hidemouse to handlemouse since it got a lot more functionality now 2018-11-16 08:58:39 +01:00
FunkyFr3sh
ec435d21d3 make cursor visible on unlock for tiberian sun 2018-11-16 08:43:28 +01:00
FunkyFr3sh
d45fabe5cd add workaround for TS/YR stretching - don't stretch the menus 2018-11-16 06:37:11 +01:00
FunkyFr3sh
4d867fcaef add floats for scaling 2018-11-16 02:59:42 +01:00
FunkyFr3sh
5e4de793d4 fix tiberian sun menus 2018-11-15 09:45:24 +01:00
FunkyFr3sh
b04dc01104 make opengl compatible with older versions than 2.0 (for 16bit games only) 2018-11-15 06:16:09 +01:00
FunkyFr3sh
806746d364 experimental 16bit color support (Dune 2000) 2018-11-14 05:35:59 +01:00
FunkyFr3sh
45ceb74df2 use lodepng for screenshots 2018-11-12 06:31:02 +01:00
FunkyFr3sh
9811f310bc use fancy macros 2018-11-12 00:39:47 +01:00
FunkyFr3sh
bdb5675459 make maxgameticks working via surface unlock for atomic bomberman 2018-11-09 20:39:45 +01:00
FunkyFr3sh
72a86a9f78 make alt+enter working with a resized window 2018-11-04 19:35:38 +01:00
FunkyFr3sh
8ba6185965 fix for carmageddon 2 2018-11-02 02:21:16 +01:00
FunkyFr3sh
7b55df3ed7 remove screenshot hotkey 2018-11-01 20:14:33 +01:00
FunkyFr3sh
d56240e178 make windowed+stretching working for a lot of non-cnc games 2018-11-01 20:09:42 +01:00
FunkyFr3sh
0e6d415f63 remove sleep hack and add a smarter game speed limiter that takes the games performance into account 2018-10-31 11:48:41 +01:00
FunkyFr3sh
737a26bfb3 add Dungeon Keeper preset + required hack 2018-10-30 21:48:01 +01:00
FunkyFr3sh
5bcf6b2a97 resizable window 2018-10-27 16:44:09 +02:00
FunkyFr3sh
2d1ab88f85 partial support for DDBLTFAST_SRCCOLORKEY 2018-10-26 08:33:09 +02:00
FunkyFr3sh
cbc66c3bc2 implement EnumDisplayModes and BltFast - Fixes DDBLT_COLORFILL with NULL rect - support resolution changes during runtime (AoE2) 2018-10-26 05:27:10 +02:00
FunkyFr3sh
3fa02ac34d support for loading/saving settings for multiple games via a single settings file 2018-10-25 07:03:01 +02:00
FunkyFr3sh
4814054df5 remove duplicate code 2018-10-24 06:27:42 +02:00
FunkyFr3sh
35ac845688 use run-time dynamic linking for opengl32.dll to prevent random bugs where the game fails to start 2018-10-24 04:21:22 +02:00
FunkyFr3sh
21500ca591 make sure d3ddev is not null 2018-10-15 03:31:57 +02:00
FunkyFr3sh
59f0f4d9b2 add a header file for d3d9 renderer 2018-10-15 00:57:05 +02:00
FunkyFr3sh
28c9886dbe fix d3d9 multi threading 2018-10-15 00:01:31 +02:00
FunkyFr3sh
42d13edb92 fix d3d9 automatic cursor lock on alt+tab 2018-10-09 09:16:00 +02:00
FunkyFr3sh
bbe8fa11d8 release d3d9 on alt+enter 2018-10-07 16:49:35 +02:00
FunkyFr3sh
12655fa5a3 stop drawing and release d3d9 on alt+tab 2018-10-07 13:42:32 +02:00
FunkyFr3sh
36c14bd857 separate d3d9 and opengl shaders into 2 headers 2018-10-06 12:24:43 +02:00
FunkyFr3sh
a741fa9dca fix palette bug 2018-10-06 05:02:53 +02:00
FunkyFr3sh
519f499d23 improve d3d9 auto renderer check 2018-10-04 06:27:03 +02:00
FunkyFr3sh
9cbd2de62f force at least 5 FPS to avoid problems in the menus 2018-10-03 12:12:11 +02:00
FunkyFr3sh
c0a26ce858 enables fullscreen exclusive mode for d3d9 2018-10-03 08:50:00 +02:00