From 6b20484cd86ffb2e6b0075e27b5e4ae5b81fe84f Mon Sep 17 00:00:00 2001 From: gho tik Date: Wed, 17 Jun 2015 12:40:56 -0400 Subject: [PATCH] v2_03_25_src Former-commit-id: 3c0f75c523701024f1eb1270e9ba36d2cbff5ed6 --- Include/dxwnd.h | 2 +- build/dxwnd.dll | 2 +- build/dxwnd.exe | 2 +- build/exports/Crimson Skies.dxw | 5 ++- build/exports/Darius Gaiden.dxw | 9 +++-- .../Dark Planet Battle for Natrolis.dxw | 9 +++-- build/exports/Darkened Skye.dxw | 6 +++- build/exports/Devastation.dxw | 11 +++++-- build/exports/Devil Inside, the.dxw | 6 +++- build/exports/Die Hard Nakatomi Plaza.dxw | 9 +++-- build/exports/Dune 2000 (not emulated).dxw | 26 --------------- build/exports/Dune 2000.dxw | 6 ++-- build/exports/Empire of the Ants.dxw | 2 +- build/exports/Forsaken (HW).dxw | 8 ++--- build/exports/Killing Time.dxw | 31 ++++++++++++++++++ .../STCC Swedish TouringCar Championship.dxw | 31 ++++++++++++++++++ build/exports/Total Soccer 2000 (DirectX).dxw | 11 +++++-- build/exports/eXpendable.dxw | 9 +++-- build/readme-relnotes.txt | 7 +++- dll/ddraw.cpp | 20 +++++------ dll/dxhook.cpp | 2 +- dll/dxwnd.cpp | 2 +- dll/dxwnd.vs2008.suo | Bin 328704 -> 331264 bytes dll/hd3d7.cpp | 29 +++++++++++++++- dll/ole32.cpp | 7 +++- dll/user32.cpp | 2 ++ host/TabDebug.cpp | 2 -- host/TabDirect3D.cpp | 1 + host/TargetDlg.cpp | 1 - host/TargetDlg.h | 1 - host/dxwndhost.aps | Bin 157064 -> 157016 bytes host/dxwndhost.rc | Bin 99648 -> 99506 bytes host/dxwndhost.vs2008.suo | Bin 218112 -> 222720 bytes host/dxwndhostView.cpp | 2 -- host/resource | Bin 34956 -> 34772 bytes 35 files changed, 186 insertions(+), 75 deletions(-) delete mode 100644 build/exports/Dune 2000 (not emulated).dxw create mode 100644 build/exports/Killing Time.dxw create mode 100644 build/exports/STCC Swedish TouringCar Championship.dxw diff --git a/Include/dxwnd.h b/Include/dxwnd.h index 9881200..143c59f 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -175,7 +175,7 @@ #define STRESSRESOURCES 0x02000000 // simulates a lack of resources condition, for testing (debug opt.) #define MESSAGEPUMP 0x04000000 // inserts a "message pump" loop between repeated operation that may stop the task on Win7 and greater #define TEXTUREFORMAT 0x08000000 // Apply virtual pixel format to texture surfaces without DDSD_PIXELFORMAT attribute -#define GSKYHACK 0x10000000 // use VIDEOMEMORY+LOCALVIDMEM capability to turn hw acceleration on ... +//#define GSKYHACK 0x10000000 // use VIDEOMEMORY+LOCALVIDMEM capability to turn hw acceleration on ... #define LOCKRESERVEDPALETTE 0x20000000 // lock the reserved palette entries (usually 20: 0-9 and 246-255) #define UNLOCKZORDER 0x40000000 // Inhibit attempts to keep the main win on top of ZORDER by stripping BringWindowToTop and SetForegroundWindow calls #define EASPORTSHACK 0X80000000 // Hack to intercept and neutralize some of the hooks set internally by EA Sports games diff --git a/build/dxwnd.dll b/build/dxwnd.dll index b0fced2..9dafcdc 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5211d477a57e94924d26e7fdb6bafab7271fb26dbace81ea1d77114cad7fa1c3 +oid sha256:56ab101cb2b224e431663b2780b0f9909105b05d8224c9aaf04fce73f4478f2c size 576000 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index 4cbee38..d4cbbf5 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec8dfbc77b459282a1bde4e41baf74b3c9a05edfd78fd1f8660c051ce47cc97f +oid sha256:4689f5e3e9616fb6a9cffaa580a02ca3aceb4364593deeb30b373e1e6f0d0696 size 539648 diff --git a/build/exports/Crimson Skies.dxw b/build/exports/Crimson Skies.dxw index 84b3e28..f70aaa4 100644 --- a/build/exports/Crimson Skies.dxw +++ b/build/exports/Crimson Skies.dxw @@ -9,7 +9,7 @@ flag0=140525606 flagg0=1207959568 flagh0=20 flagi0=4194596 -tflag0=258 +tflag0=0 initx0=0 inity0=0 minx0=0 @@ -26,3 +26,6 @@ launchpath0= flagj0=128 winver0=0 maxres0=0 +notes0= +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Darius Gaiden.dxw b/build/exports/Darius Gaiden.dxw index e971208..4ffe178 100644 --- a/build/exports/Darius Gaiden.dxw +++ b/build/exports/Darius Gaiden.dxw @@ -5,10 +5,10 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=671089184 +flag0=671088674 flagg0=1207959552 flagh0=20 -flagi0=4 +flagi0=4194308 tflag0=0 initx0=0 inity0=0 @@ -24,3 +24,8 @@ maxfps0=0 initts0=2 winver0=0 maxres0=-1 +launchpath0= +notes0= +flagj0=128 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Dark Planet Battle for Natrolis.dxw b/build/exports/Dark Planet Battle for Natrolis.dxw index 9324fda..8094d4a 100644 --- a/build/exports/Dark Planet Battle for Natrolis.dxw +++ b/build/exports/Dark Planet Battle for Natrolis.dxw @@ -5,10 +5,10 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=671088673 +flag0=671088675 flagg0=1208025088 flagh0=20 -flagi0=12 +flagi0=4194316 tflag0=0 initx0=0 inity0=0 @@ -24,3 +24,8 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +launchpath0= +notes0= +flagj0=128 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Darkened Skye.dxw b/build/exports/Darkened Skye.dxw index ac9f547..a7c1926 100644 --- a/build/exports/Darkened Skye.dxw +++ b/build/exports/Darkened Skye.dxw @@ -5,7 +5,7 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=679493664 +flag0=679493666 flagg0=1207959552 flagh0=65556 flagi0=69206020 @@ -25,3 +25,7 @@ initts0=0 winver0=0 maxres0=-1 launchpath0= +notes0= +flagj0=128 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Devastation.dxw b/build/exports/Devastation.dxw index c550573..e1d416f 100644 --- a/build/exports/Devastation.dxw +++ b/build/exports/Devastation.dxw @@ -8,8 +8,8 @@ coord0=0 flag0=134217766 flagg0=1207959552 flagh0=65556 -flagi0=0 -tflag0=67 +flagi0=4194304 +tflag0=0 initx0=0 inity0=0 minx0=0 @@ -22,3 +22,10 @@ sizx0=800 sizy0=600 maxfps0=0 initts0=0 +launchpath0= +notes0= +flagj0=128 +flagk0=0 +winver0=0 +maxres0=0 +swapeffect0=0 diff --git a/build/exports/Devil Inside, the.dxw b/build/exports/Devil Inside, the.dxw index 0f74487..4c1269e 100644 --- a/build/exports/Devil Inside, the.dxw +++ b/build/exports/Devil Inside, the.dxw @@ -6,7 +6,7 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=671105072 +flag0=671105074 flagg0=1207959552 flagh0=16 flagi0=-2009071612 @@ -25,3 +25,7 @@ maxfps0=0 initts0=-4 winver0=0 maxres0=-1 +notes0= +flagj0=128 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Die Hard Nakatomi Plaza.dxw b/build/exports/Die Hard Nakatomi Plaza.dxw index 99a83be..47ee8ac 100644 --- a/build/exports/Die Hard Nakatomi Plaza.dxw +++ b/build/exports/Die Hard Nakatomi Plaza.dxw @@ -6,12 +6,12 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=671096866 +flag0=673194018 flagg0=1207959552 flagh0=20 flagi0=138412036 -flagj0=8328 -tflag0=6403 +flagj0=128 +tflag0=0 initx0=0 inity0=0 minx0=0 @@ -26,3 +26,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +notes0= +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Dune 2000 (not emulated).dxw b/build/exports/Dune 2000 (not emulated).dxw deleted file mode 100644 index 0435be3..0000000 --- a/build/exports/Dune 2000 (not emulated).dxw +++ /dev/null @@ -1,26 +0,0 @@ -[target] -title0=Dune 2000 -path0=D:\Games\Dune 2000\DUNE2000.DAT -module0= -opengllib0= -ver0=0 -coord0=0 -flag0=671105312 -flagg0=1207959568 -flagh0=20 -flagi0=4 -tflag0=64 -initx0=0 -inity0=0 -minx0=0 -miny0=0 -maxx0=0 -maxy0=0 -posx0=50 -posy0=50 -sizx0=800 -sizy0=600 -maxfps0=0 -initts0=0 -winver0=0 -maxres0=-1 diff --git a/build/exports/Dune 2000.dxw b/build/exports/Dune 2000.dxw index a90698b..328d89a 100644 --- a/build/exports/Dune 2000.dxw +++ b/build/exports/Dune 2000.dxw @@ -4,12 +4,15 @@ path0=D:\Games\Dune 2000\DUNE2000.DAT launchpath0=D:\Games\Dune 2000\DUNE2000.EXE module0= opengllib0= +notes0= ver0=0 coord0=0 flag0=671105058 flagg0=1207959568 flagh0=20 flagi0=4194308 +flagj0=128 +flagk0=0 tflag0=0 initx0=0 inity0=0 @@ -25,5 +28,4 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 -notes0= -flagj0=128 +swapeffect0=0 diff --git a/build/exports/Empire of the Ants.dxw b/build/exports/Empire of the Ants.dxw index 3971d7b..9c5eaee 100644 --- a/build/exports/Empire of the Ants.dxw +++ b/build/exports/Empire of the Ants.dxw @@ -9,7 +9,7 @@ flag0=402669606 flagg0=1207959552 flagh0=20 flagi0=4194308 -tflag0=64 +tflag0=0 initx0=0 inity0=0 minx0=0 diff --git a/build/exports/Forsaken (HW).dxw b/build/exports/Forsaken (HW).dxw index ad3c252..636132a 100644 --- a/build/exports/Forsaken (HW).dxw +++ b/build/exports/Forsaken (HW).dxw @@ -5,10 +5,10 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=411058208 -flagg0=1207959808 +flag0=950026274 +flagg0=1207959812 flagh0=20 -flagi0=2097156 +flagi0=4194308 tflag0=0 initx0=0 inity0=0 @@ -26,6 +26,6 @@ winver0=0 maxres0=-1 launchpath0= notes0= -flagj0=262272 +flagj0=162 flagk0=0 swapeffect0=0 diff --git a/build/exports/Killing Time.dxw b/build/exports/Killing Time.dxw new file mode 100644 index 0000000..d0796df --- /dev/null +++ b/build/exports/Killing Time.dxw @@ -0,0 +1,31 @@ +[target] +title0=Killing Time +path0=D:\Games\killingtime\KILLTIME.EXE +launchpath0= +module0= +opengllib0= +notes0=Movies not rendered correctly +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=138412036 +flagj0=4224 +flagk0=0 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/STCC Swedish TouringCar Championship.dxw b/build/exports/STCC Swedish TouringCar Championship.dxw new file mode 100644 index 0000000..d772e9c --- /dev/null +++ b/build/exports/STCC Swedish TouringCar Championship.dxw @@ -0,0 +1,31 @@ +[target] +title0=STCC Swedish TouringCar Championship +path0=D:\Games\STCC\STCC.exe +launchpath0= +module0= +opengllib0= +notes0=Still slow and choppy in emulation mode +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=138412036 +flagj0=4256 +flagk0=0 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/Total Soccer 2000 (DirectX).dxw b/build/exports/Total Soccer 2000 (DirectX).dxw index eba889f..af6c5db 100644 --- a/build/exports/Total Soccer 2000 (DirectX).dxw +++ b/build/exports/Total Soccer 2000 (DirectX).dxw @@ -5,10 +5,10 @@ module0= opengllib0= ver0=1 coord0=0 -flag0=134234784 -flagg0=1208025344 +flag0=134234274 +flagg0=1207959808 flagh0=20 -flagi0=12 +flagi0=4194308 tflag0=0 initx0=0 inity0=0 @@ -24,3 +24,8 @@ maxfps0=0 initts0=2 winver0=0 maxres0=-1 +launchpath0= +notes0= +flagj0=128 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/eXpendable.dxw b/build/exports/eXpendable.dxw index 38c084d..d6101cf 100644 --- a/build/exports/eXpendable.dxw +++ b/build/exports/eXpendable.dxw @@ -9,9 +9,9 @@ coord0=0 flag0=134217762 flagg0=1207959552 flagh0=20 -flagi0=134217732 -flagj0=8320 -tflag0=129 +flagi0=138412036 +flagj0=128 +tflag0=0 initx0=0 inity0=0 minx0=0 @@ -26,3 +26,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +notes0= +flagk0=0 +swapeffect0=0 diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index 6cd16e0..c53a606 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -825,4 +825,9 @@ fix: handling of DDERR_SURFACEBUSY error in blit operations, recovers "Virtua Co fix: several changes in palette handling, improve (but don't fix!) "Man in Black" palette rendering fix: EnumDisplayMode hooker, passing wrong vodeo modes to the callback routine. Fixes "Total Annihilation Kingdoms" crash fix: DxWnd GUI build with very large width, causing slow interface responsiveness. -add: added the "Suppress Release on backbuffer" that makes "Tetris Worlds" working, avoiding to release the backbuffer surface too many times. \ No newline at end of file +add: added the "Suppress Release on backbuffer" that makes "Tetris Worlds" working, avoiding to release the backbuffer surface too many times. + +v2.03.25: +fix: CoCreateInstance hooking for IDirectDraw interface: fixes "Darius Gaiden" +fix: BackBufferCaps value for NOSYSTEMEMULATED option. Fixes "Forsaken" crashes in AERO mode. +fix: GDI GetDC and GetWindowDC must not redirect the zero hWnd to the current main window if not in fullscreen mode. \ No newline at end of file diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index fc6cf8e..01085a1 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -2238,8 +2238,8 @@ static HRESULT BuildPrimaryEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf // DDSCAPS_SYSTEMMEMORY makes operations faster, but it is not always good... dwBackBufferCaps = (DDSCAPS_OFFSCREENPLAIN|DDSCAPS_SYSTEMMEMORY); // on WinXP Fifa 99 doesn't like DDSCAPS_SYSTEMMEMORY cap, so better to leave a way to unset it.... - // if(dxw.dwFlags5 & NOSYSTEMEMULATED) dwBackBufferCaps &= ~DDSCAPS_SYSTEMMEMORY; - if(dxw.dwFlags5 & GSKYHACK) dwBackBufferCaps = (DDSCAPS_OFFSCREENPLAIN|DDSCAPS_VIDEOMEMORY|DDSCAPS_LOCALVIDMEM); + // this is important to avoid that certain D3D operations will abort - see "Forsaken" problem + if(dxw.dwFlags5 & NOSYSTEMEMULATED) dwBackBufferCaps = DDSCAPS_OFFSCREENPLAIN; if(dxw.dwFlags5 & GDIMODE) return DD_OK; @@ -2905,19 +2905,19 @@ HRESULT WINAPI PrimaryStretchBlt(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, L ddsd.ddsCaps.dwCaps = dwBackBufferCaps; res=(*pCreateSurface)(lpPrimaryDD, (LPDDSURFACEDESC)&ddsd, &lpddsTmp, NULL); if(res) { - OutTraceE("CreateSurface: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); - OutTraceB("CreateSurface: %s\n", LogSurfaceAttributes((LPDDSURFACEDESC)&ddsd, "[Gateway]", __LINE__)); + OutTraceE("PrimaryStretchBlt: CreateSurface ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + OutTraceB("PrimaryStretchBlt: CreateSurface %s\n", LogSurfaceAttributes((LPDDSURFACEDESC)&ddsd, "[Gateway]", __LINE__)); return res; } // stretch-blit to target size on OFFSCREENPLAIN temp surface res= (*pBlt)(lpddsTmp, &TmpRect, lpddssrc, lpsrcrect, DDBLT_WAIT, 0); if(res) { - OutTraceE("Blt: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + OutTraceE("PrimaryStretchBlt: Blt ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); } else { // fast-blit to primary res= (*pBltFast)(lpdds, lpdestrect->left, lpdestrect->top, lpddsTmp, &TmpRect, DDBLTFAST_WAIT); - if(res) OutTraceE("Blt: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + if(res) OutTraceE("PrimaryStretchBlt: Blt ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); } (*pReleaseS)(lpddsTmp); return res; @@ -3005,7 +3005,7 @@ HRESULT WINAPI PrimaryBilinearBlt(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, // capabilities must cope with primary / backbuffer surface capabilities to get speedy operations ddsd.ddsCaps.dwCaps = dwBackBufferCaps; res=(*pCreateSurface)(lpPrimaryDD, (LPDDSURFACEDESC)&ddsd, &lpddsTmp, NULL); - if(res) OutTraceE("CreateSurface: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + if(res) OutTraceE("PrimaryBilinearBlt: CreateSurface ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); // get informations memset(&ddsd,0,dwSize); @@ -3013,7 +3013,7 @@ HRESULT WINAPI PrimaryBilinearBlt(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, ddsd.dwFlags = DDSD_LPSURFACE | DDSD_PITCH; res=(*pLock)(lpddssrc, 0, (LPDDSURFACEDESC)&ddsd, DDLOCK_SURFACEMEMORYPTR|DDLOCK_READONLY, 0); if(res) { - OutTraceE("Lock: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + OutTraceE("PrimaryBilinearBlt: Lock ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); return DD_OK; } bSourceBuf = (BYTE *)ddsd.lpSurface; @@ -3023,7 +3023,7 @@ HRESULT WINAPI PrimaryBilinearBlt(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, ddsd.dwFlags = DDSD_LPSURFACE | DDSD_PITCH; res=(*pLock)(lpddsTmp, 0, (LPDDSURFACEDESC)&ddsd, DDLOCK_SURFACEMEMORYPTR|DDLOCK_WRITEONLY|DDLOCK_WAIT, 0); if(res) { - OutTraceE("Lock: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + OutTraceE("PrimaryBilinearBlt: Lock ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); return DD_OK; } bDestBuf = (BYTE *)ddsd.lpSurface; @@ -3070,7 +3070,7 @@ HRESULT WINAPI PrimaryBilinearBlt(LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, (*pUnlockMethod(lpddssrc))(lpddssrc, NULL); (*pUnlockMethod(lpddsTmp))(lpddsTmp, NULL); res= (*pBltFast)(lpdds, lpdestrect->left, lpdestrect->top, lpddsTmp, &TmpRect, DDBLTFAST_WAIT); - if(res) OutTraceE("BltFast: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + if(res) OutTraceE("PrimaryBilinearBlt: BltFast ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); (*pReleaseS)(lpddsTmp); if(lpddsCopy) (*pReleaseS)(lpddsCopy); return res; diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index 2943cae..0811309 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -101,7 +101,7 @@ static char *Flag5Names[32]={ "TEXTURETRANSP", "NORMALIZEPERFCOUNT", "HYBRIDMODE", "GDICOLORCONV", "INJECTSON", "ENABLESONHOOK", "FREEZEINJECTEDSON", "GDIMODE", "CENTERTOWIN", "STRESSRESOURCES", "MESSAGEPUMP", "TEXTUREFORMAT", - "GSKYHACK", "LOCKRESERVEDPALETTE", "UNLOCKZORDER", "EASPORTSHACK", + "--GSKYHACK", "LOCKRESERVEDPALETTE", "UNLOCKZORDER", "EASPORTSHACK", }; static char *Flag6Names[32]={ diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index 46d6a6e..7b07040 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -27,7 +27,7 @@ along with this program. If not, see . #include "TlHelp32.h" -#define VERSION "2.03.24" +#define VERSION "2.03.25" #define DDTHREADLOCK 1 //#define LOCKTHREADS diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index 53ceb35801e8cf85f5adcae18eedbbe0bcb79260..1155ddf1fe93b3de4302dcd693ce4ba21ec71e74 100644 GIT binary patch delta 12557 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 delta 5500 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, lpRect->y1, lpRect->x2, lpRect->y2); + else strcpy(sRect, "(NULL)"); + OutTrace("Viewport::Clear lpd3dvp=%x p1=%x p2=%x rect=%s\n", lpd3dvp, p1, p2, sRect); + } + + // proxying the call .... + ret = (*pViewportClear)(lpd3dvp, p1, lpRect, p2); + + OutTraceD3D("Viewport::Clear ret=%x\n", ret); + return ret; +} diff --git a/dll/ole32.cpp b/dll/ole32.cpp index fd0d8fd..c620650 100644 --- a/dll/ole32.cpp +++ b/dll/ole32.cpp @@ -117,8 +117,13 @@ HRESULT STDAPICALLTYPE extCoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, #else LPDIRECTDRAW lpOldDDraw; case 0x6C14DB80: + // must go through DirectDrawCreate: needed for "Darius Gaiden" OutTraceDW("CoCreateInstance: IID_DirectDraw RIID\n"); - HookDDSession((LPDIRECTDRAW *)ppv, 1); + res=extDirectDrawCreate(NULL, &lpOldDDraw, 0); + if(res)OutTraceDW("DirectDrawCreate: res=%x(%s)\n", res, ExplainDDError(res)); + res=lpOldDDraw->QueryInterface(IID_IDirectDraw, (LPVOID *)ppv); + if(res)OutTraceDW("QueryInterface: res=%x(%s)\n", res, ExplainDDError(res)); + lpOldDDraw->Release(); break; case 0xB3A6F3E0: OutTraceDW("CoCreateInstance: IID_DirectDraw2 RIID\n"); diff --git a/dll/user32.cpp b/dll/user32.cpp index 73066de..caf2d76 100644 --- a/dll/user32.cpp +++ b/dll/user32.cpp @@ -1919,6 +1919,8 @@ static HDC WINAPI sGetDC(HWND hwnd, char *ApiName) HDC ret; HWND lochwnd; + if(!dxw.IsFullScreen()) return(*pGDIGetDC)(hwnd); + lochwnd=hwnd; if (dxw.IsRealDesktop(hwnd)) { diff --git a/host/TabDebug.cpp b/host/TabDebug.cpp index 4f99573..91b4348 100644 --- a/host/TabDebug.cpp +++ b/host/TabDebug.cpp @@ -47,8 +47,6 @@ void CTabDebug::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_FREEZEINJECTEDSON, cTarget->m_FreezeInjectedSon); DDX_Check(pDX, IDC_STRESSRESOURCES, cTarget->m_StressResources); DDX_Check(pDX, IDC_NOSYSTEMMEMORY, cTarget->m_NoSystemMemory); - DDX_Check(pDX, IDC_NOSYSTEMEMULATED, cTarget->m_NoSystemEmulated); - DDX_Check(pDX, IDC_GSKYHACK, cTarget->m_GSkyHack); } BEGIN_MESSAGE_MAP(CTabDebug, CDialog) diff --git a/host/TabDirect3D.cpp b/host/TabDirect3D.cpp index 5b9999c..b28dcca 100644 --- a/host/TabDirect3D.cpp +++ b/host/TabDirect3D.cpp @@ -34,6 +34,7 @@ void CTabDirect3D::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_NOD3DRESET, cTarget->m_NoD3DReset); DDX_Check(pDX, IDC_SUPPRESSD3DEXT, cTarget->m_SuppressD3DExt); DDX_Check(pDX, IDC_FORCESHEL, cTarget->m_ForcesHEL); + DDX_Check(pDX, IDC_NOSYSTEMEMULATED, cTarget->m_NoSystemEmulated); // Texture management DDX_Radio(pDX, IDC_TEXTURENONE, cTarget->m_TextureHandling); diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index a51df9a..b43bfe7 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -104,7 +104,6 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_DisableGammaRamp = FALSE; m_AutoRefresh = FALSE; m_TextureFormat = FALSE; - m_GSkyHack = FALSE; m_FixWinFrame = FALSE; m_EnableClipping = FALSE; m_CursorClipping = FALSE; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index 59c9e03..85be721 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -80,7 +80,6 @@ public: BOOL m_DisableGammaRamp; BOOL m_AutoRefresh; BOOL m_TextureFormat; - BOOL m_GSkyHack; BOOL m_FixWinFrame; BOOL m_EnableClipping; BOOL m_CursorClipping; diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index d6cafeac8b26458aea6de03f5ed43e42fc281e39..731ced817c26f946fd4e0c57911ece02779d7331 100644 GIT binary patch delta 1822 zcmZ{jZA_C_6vywmv;_(%Y^9^c@mkOY!J@LU&1AT?3Mfqh*+{6=@v`xtjUw#{h#wc z_nzMKJQt?IA54Z1SdFO z8ty1%ePg~-PB!jS%Eb47R7e@zEy{!C{uB8S$WvoanttZ71y+lzw9Mfsv6YsV*bdwF zm)h75()TUf15VL0F9PYaGYPV(b!1}$5r#(jw^N@hkAP3)>us+Dd1U#o_Fkn&^DCH` z&nF!liq-%BCG+3ckCc`hjI!>7OUf-d58@`Lub(S91oV? zby}6?q^^yr(Udy6G6Gpo*Xw~LWz^jp8IlFvJCxbpU^&&TyhtgcC#b=~V0kfEP6W%) z^Fg%-f@RN!ls)H%wZJ6Dpfw_gxmYV}X6-Cn9v)m%L4@?_wN$8(?_B$58$`?ug)-)lSSY*7+QbXN7=D`! zoxH?_))aV`3we0({1T%hh5;4veZ1(XTO6fG-?CdyR;y m&`r^C>?h>ns2|hhnX}_EdAc#GRwPZBN$9{LLLRzndHlco9zZ$( delta 1945 zcmZuxe@xV67=NEvIN)S(2B;i@oc!E$15dWFi4(Ys_>bsZ;#}dZl{MvOGgLMXP8Q zhlE-EcyKO&?%+qm31C;h8~%F@M5q&L+Oo7q?b~QJZxRCN9U-`{rRBxNJFKOpJFG?4 z>{6?k_oZs^Ojy+0|BM=?5T1dRFbTY{uZB@xV5kv(W8r}jo(f1-f}u=42AY`RvIg zsKXzuR3RrB+&FHAK)hvz<#;6-;yf8C@a?*wYeBxlzw1~yJQy+C3fa1W`D&i_0w@5S zq<@j;>q2-<(m_4;XJANDvjfTuqEonqUYw@KgV)<7n#4Y8g-h%e2SlT&p$WM}9Vsou zo9TcxqL!2vdX{Kkve-agg$SPCa<~LqaW)IWOg2#|Ld4aD+Pf*Qf#w}A>gVe;2=Pi& z33!@Hiy*kv4~ zV+T2~1y3*(;RS~8afTrk=NKX}wu<09W-+YBDuzt#V4%Dz8578tAQdmL5{xqpLpVnu z?`2?|gSOd;Sq`FOThT#O-m_q*LmGA5|LJ^uheN)^3lsv?IKz>lrTCE5F^qMRdJ?mo zG8c|xH?uo9La;2g4e;leAUbfCuA>|8vUM7vnxGX;3|*MbV8a@QGVEq3#u0`hyzKMt zGFT952)3b#VGCw6WMU0N8+QA|5rSO9=RlJRqtDU#F{T@qrWr}gH4}^ez+?T@w*jx; zg6JR)j{E~~;yy&@F)=(`%slqk%+PSTu=C(!{or_sm)1&O<$#S6zetzSNnBavEM^Y< zFH=v74e#!fo8SmTEIyqhp9qX1dECc4ne&f%fE~5ek5hPpKne?9tfdik;S8&@ILB&a u9>&#?nt@q$q~6CWhI;Jq!3hExx*aca%%?cRY8lQkoWWQZfg7`2GUh*Zpj2o8 diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index 79b4250bba9043a598ffc09c1ad275eb288a6498..ab69f9025111e1a86c72482ff387e8b5b1bbc0a3 100644 GIT binary patch delta 126 zcmX@m#kQ%FZG#Nc^rR-nMVk*W#k5T?;bE+r{Ggg`b3x}Np~-%!T9XqZ*{1K4V3e4y zz{e;ydB$9x>ANHt1*UJ1WK0pXWH4pWVK4+jBQR|+xv^7ubHbcgHIwa(l_posDuABR+W^zH0l5##n z9)kiyDnl+qDMJoJB0~v~odOgo2J(v-(tsk#)8m;KMW^49WaOFrY)%TVA%hWv8G{ak zArKl(HuMpm9I!`evcXiL?Q^6U4Hzd2RBN%P1NCP!R8HpqF3#)D5X|7s5Xs=d;K<-S qdE%GQ$q%lwaGC>6(P6M;Fr2LGD8K!YG~<)>$q}kcrf0M;dI12i+&gOk diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index 4197b9ba9006b3301a8fadaa5d9dcf565dc5850a..fd8ba34ddfe80d1eb746ccc3a9e7797964ebc4be 100644 GIT binary patch delta 4386 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 WiO@F-SPGSZvOuAgrQavxz5NSm4=}m_ delta 2180 zcmZWqe@xWp8UH@ddmMLgu=87b^5b@#*Ml(;b|6EF&Ysn^h?c==vSyGL+Ujg$T%%+| zV(k}!HZ`5S@vb~buscZhl`V}?zN>FDjH9eoqGV-Fv!Q9|jbXDi&JfqEt+BA@d;a)m zZ}MEe_rA~1&+~bo*O<;SMzi8k$U3vB)R8?ADXYvgXFzD0W^`Mfj(SL|08Mk!Ump{t za>C`1U!}zzOUuj4*6Yp=OsiqVE!35Ohve>;bs2R>#eU5pyUHJt5r<1g-gL-m_m}d| zjtcu5-jZKu)H~r}wsPHdneC7rncHj)>x;}8bODD;<8x~|`xoGZbpA|Bsaoyc9)tz! zYkiv#yYEINvk!{NXcPW)wzHRI`91(_*R0N5PJS)#dQ;}kU-RMWUDmCE#CZIN9~>!|!TxGdvfRLGIT8^>Py7syt(Q!XBI^&Rw#yzHPh6AERpI|vag z+T9Iy#m*A{i_$)Qo8WIkrg>_q*@TWCF*;EkCu=F9xi zjne23Sb>rGG@9HFy7j_nKgbPxedG(mqj%1Je^XRw4O)h#EiYd{?JhK0P1dY~Bc@i+ zV}IlQ|5|~9Dp=;Q*T7HFF36|qIyg%EdokC_J=0O_;ilhT*3jSIUY%$2;4*uAlVyNq zkR`!#oZ1i+JVAK^9*3){O~7y1=S$!q(=GDV&x3FjsI>?K6bM7D83Lq{lTf4LVR#W} zFbqB!ANI>nCPSi3(`dN}Ry}wxcBWI)JSo$8??FhWk#jBF zqA3X;@|=ZRcMe7%DQNf_6jIQHJek*2L?tGypp`ACLmh4UEv%!(642Ep6RI=Gso2Ho zE5J4U5f;rqa0^1S5TcTCn5BdhBNVv+f0ITL$9$KulFz*Am(!blRC5ugsPzQ+<>}#E zs=5Rp_16Pqdkz-d^pQ*GbYl|+spc}PEnbHp1!v(i8v7JOa_&SZ#cCCsf>S`wD{xCL ze(0i&>6k+m`4|0UF^x@mYfQ;rN5)0%%n3oYbgh;G}RT3icGI-icYs_MT`0%V-C z5xEKnGE=2OmCSD{P!rc6>ZD2oD=A)tIwih@R(Z6kT=5Mp2lED_8yZ@j!h#0Afju%l z*g~g%#z78e;GFptvviW(Q%@!yqSjX-AR7}tRh5ezv2Uv#aS4){v}iDW6Qz(%Mi{(m zAP?W?j6BHa9^`W@0-g31U^Ud!d(HST1y(WmTf%q_Xt!IiS~bS+S@TR>e4+P7`J5qsvd=cg=Eikv`6Cys#c?snLR5mHQYD zfLVh`rys{gnz;?dsyK#0knjI4L`EemCwE{_#yooe7CYY!m~@}iceBBr`sy%|MuBGB zOu~dBddh_C{szoY(FU9lO5cMwfKJbXE{~kz#_z-hCv7sJl#b?$br`9Z-fkvuGaB?> z89pdI-K8qpf)j3~ci5JTpJI;6G4MLi8kflK=d0G=W~cE2CbN{@W9vlUVDO9s_HHL8 z)094K??#T@-#vm!IH}KZ%CRcgr}n*qeLqxsGL_jC(9OS~SLwGg3=}NHDw_NTJ1OE8 zewr&{gf1;{Tkf*oDNfO&yX=0<MquCrO21_Xm=B6-Ixl%@ zc+CM-|%!tEs&~?1TqWw)91V_)u&5i$lmhxGF~3JFA+!P{{ZPz>(&4O diff --git a/host/dxwndhostView.cpp b/host/dxwndhostView.cpp index ea5c2d8..7179486 100644 --- a/host/dxwndhostView.cpp +++ b/host/dxwndhostView.cpp @@ -300,7 +300,6 @@ static void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_DisableGammaRamp) t->flags2 |= DISABLEGAMMARAMP; if(dlg->m_AutoRefresh) t->flags |= AUTOREFRESH; if(dlg->m_TextureFormat) t->flags5 |= TEXTUREFORMAT; - if(dlg->m_GSkyHack) t->flags5 |= GSKYHACK; if(dlg->m_FixWinFrame) t->flags |= FIXWINFRAME; if(dlg->m_EnableClipping) t->flags |= ENABLECLIPPING; if(dlg->m_CursorClipping) t->flags |= CLIPCURSOR; @@ -519,7 +518,6 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_DisableGammaRamp = t->flags2 & DISABLEGAMMARAMP ? 1 : 0; dlg->m_AutoRefresh = t->flags & AUTOREFRESH ? 1 : 0; dlg->m_TextureFormat = t->flags5 & TEXTUREFORMAT ? 1 : 0; - dlg->m_GSkyHack = t->flags5 & GSKYHACK ? 1 : 0; dlg->m_FixWinFrame = t->flags & FIXWINFRAME ? 1 : 0; dlg->m_EnableClipping = t->flags & ENABLECLIPPING ? 1 : 0; dlg->m_CursorClipping = t->flags & CLIPCURSOR ? 1 : 0; diff --git a/host/resource b/host/resource index c4c6b86e1a643afe915e982850d27d86e0663aa8..7f616934cf5c2470a284fd79bf5a85a03b041354 100644 GIT binary patch delta 14 WcmeB~$aJNjX~VOa>a4X#oH<^#?rw delta 56 zcmcc8&(t%KX~VM^c6Wwg25*MQ$>+liCtqM>nXDA6FgY)bZSsT|5k{lQ6QdQuBLCC` KHh+t`rv(5;eiaA+