From a5f4e868f5faf96500af502871586860b2412aa8 Mon Sep 17 00:00:00 2001 From: gho tik Date: Wed, 12 Oct 2016 12:48:37 -0400 Subject: [PATCH] v2_03_99_srcfx3 Former-commit-id: ed8db9edaef28a3bab663963660a937ed93e447c --- Include/dxwnd.h | 6 +- build/dxwnd.dll | 4 +- build/dxwnd.exe | 4 +- build/dxwnd.ini | 169 +++-------------------------------- build/exports/The Sting!.dxw | 15 +++- build/readme-relnotes.txt | 12 ++- dll/ddraw.cpp | 82 +++++++++++++---- dll/ddtexture.cpp | 2 +- dll/dxhook.cpp | 21 ++++- dll/dxmapping.cpp | 86 +++++++++++------- dll/dxwcore.cpp | 2 +- dll/dxwnd.cpp | 2 +- dll/dxwnd.vs2008.suo | Bin 305664 -> 0 bytes dll/hd3d7.cpp | 50 ++++++----- dll/user32.cpp | 16 ++-- dll/winproc.cpp | 12 +-- host/TabDirectX2.cpp | 1 + host/TabInput.cpp | 7 +- host/TabSysLibs.cpp | 1 + host/TargetDlg.cpp | 6 +- host/TargetDlg.h | 7 +- host/dxwndhost.aps | Bin 254000 -> 0 bytes host/dxwndhost.rc | Bin 139708 -> 140602 bytes host/dxwndhost.vs2008.suo | Bin 103424 -> 111104 bytes host/dxwndhostView.cpp | 24 ++++- host/host.aps | Bin 47508 -> 47508 bytes host/resource | Bin 51346 -> 51894 bytes 27 files changed, 261 insertions(+), 268 deletions(-) delete mode 100644 dll/dxwnd.vs2008.suo delete mode 100644 host/dxwndhost.aps diff --git a/Include/dxwnd.h b/Include/dxwnd.h index b80d75b..1a2ea4d 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -27,7 +27,7 @@ #define FIXWINFRAME 0x00002000 #define HIDEHWCURSOR 0x00004000 #define SLOWDOWN 0x00008000 -#define ENABLECLIPPING 0x00010000 +#define DISABLECLIPPING 0x00010000 #define LOCKWINSTYLE 0x00020000 #define MAPGDITOPRIMARY 0x00040000 #define FIXTEXTOUT 0x00080000 @@ -255,6 +255,9 @@ #define FORCENOVSYNC 0x00000008 // Forces NO hardware VSync #define VSYNCSCANLINE 0x00000010 // Activates WaitForVerticalBlank algorythm based on reaching a given scan line #define TRIMTEXTUREFORMATS 0x00000020 // Emulates "DirectXTrimTextureFormats" shim to fix textures in Heavy Gear II +#define NOHALDEVICE 0x00000040 // Simulates a situation of lack of 3D hardware support, like in presence of remote desktop +#define CLIPLOCKED 0x00000080 // never destroy cursor clipper on window move events .... +#define PRETENDVISIBLE 0x00000100 // Pretend the main window is visible (IsWindowVisible) and on Z-order top (GetTopWindow) // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general @@ -355,6 +358,7 @@ void OutTraceHex(BYTE *, int); void *HookAPI(HMODULE, char *, void *, const char *, void *); void AdjustWindowFrame(HWND, DWORD, DWORD); char *hexdump(unsigned char *, int); +void HexTrace(unsigned char *, int); LRESULT CALLBACK extWindowProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK extChildWindowProc(HWND, UINT, WPARAM, LPARAM); diff --git a/build/dxwnd.dll b/build/dxwnd.dll index a439b38..3b0b72e 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d026c47f6a552131246762e9b1f03400fa5031ea484d5d72ffb555a8df94f99a -size 709120 +oid sha256:cf023536d20b33dd428096f18a29788e47eba0691547598d6de7ef7cc877956f +size 710144 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index 1a768db..743c81a 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f6b72cb6b9aacee5a608ebf28b57d92c9f814cb8b8e300ab867338c5abed17d -size 667648 +oid sha256:3840ce99c26e25e77df3d855fbd91c5533f0fcff4e4a876dc88b62a465d66b62 +size 668160 diff --git a/build/dxwnd.ini b/build/dxwnd.ini index 1efa4e6..0727a81 100644 --- a/build/dxwnd.ini +++ b/build/dxwnd.ini @@ -1,25 +1,13 @@ [window] -exportpath=D:\DxWnd\exports.ok\ -posx=-1195 -posy=557 +exportpath=D:\DxWnd.develop\v2_03_99fx2_src\build\exports\ +exepath=F:\Games\The Sting!\TheSting!\ +posx=1154 +posy=553 sizx=320 sizy=200 -debug=0 -autohide=0 -checkadmin=0 -namefromfolder=1 -multiprocesshook=0 -warnonexit=0 -updatepaths=1 -defaultcoord=0 -defaultposx=50 -defaultposy=50 -defaultsizx=800 -defaultsizy=600 -exepath=D:\Games\Heavy Gear 2\ [target] -title0=Star Trek Armada -path0=D:\Games\Star Trek Armada\Armada.exe +title0=The Sting! +path0=F:\Games\The Sting!\TheSting!\Sting.exe startfolder0= launchpath0= module0= @@ -29,18 +17,18 @@ registry0= ver0=0 monitorid0=0 coord0=0 -flag0=-1474297757 -flagg0=1544552448 -flagh0=73744 -flagi0=136314884 +flag0=136314914 +flagg0=1207959552 +flagh0=16 +flagi0=138412036 flagj0=4224 -flagk0=69632 +flagk0=65536 flagl0=0 flagm0=0 -tflag0=-2147477245 +tflag0=0 dflag0=0 -posx0=100 -posy0=100 +posx0=50 +posy0=50 sizx0=800 sizy0=600 maxfps0=0 @@ -53,132 +41,3 @@ slowratio0=1 scanline0=1 initresw0=0 initresh0=0 -title1=Jazz Jackrabbit 2 -path1=D:\Games\Jazz Jackrabbit 2\Jazz2.exe -startfolder1= -launchpath1= -module1= -opengllib1= -notes1= -registry1= -ver1=0 -monitorid1=-1 -coord1=0 -flag1=673185826 -flagg1=1207959552 -flagh1=8212 -flagi1=138412036 -flagj1=5248 -flagk1=65536 -flagl1=0 -flagm1=0 -tflag1=-2147477245 -dflag1=0 -posx1=50 -posy1=50 -sizx1=800 -sizy1=600 -maxfps1=0 -initts1=0 -winver1=0 -maxres1=-1 -swapeffect1=0 -maxddinterface1=7 -slowratio1=2 -scanline1=0 -initresw1=800 -initresh1=600 -title2=Armor Command -path2=D:\Games\Armor Command\armrcmd.exe -startfolder2= -launchpath2= -module2= -opengllib2= -notes2=Needs a copy of S3DTKW.dll in game folder.\n -registry2= -ver2=0 -monitorid2=-1 -coord2=0 -flag2=673185826 -flagg2=1207959552 -flagh2=8212 -flagi2=138412036 -flagj2=4224 -flagk2=65536 -flagl2=268435456 -flagm2=0 -tflag2=0 -dflag2=0 -posx2=50 -posy2=50 -sizx2=800 -sizy2=600 -maxfps2=0 -initts2=0 -winver2=0 -maxres2=-1 -swapeffect2=0 -maxddinterface2=7 -slowratio2=2 -scanline2=0 -initresw2=800 -initresh2=600 -title3=Heavy Gear 2 -path3=D:\Games\Heavy Gear 2\Heavy Gear 2.exe -startfolder3= -launchpath3= -module3= -opengllib3= -notes3= -registry3= -ver3=0 -monitorid3=-1 -coord3=0 -flag3=673185826 -flagg3=1208221696 -flagh3=8212 -flagi3=-2009071612 -flagj3=4224 -flagk3=98304 -flagl3=0 -flagm3=0 -tflag3=0 -dflag3=0 -posx3=50 -posy3=50 -sizx3=800 -sizy3=600 -maxfps3=0 -initts3=0 -winver3=0 -maxres3=-1 -swapeffect3=0 -maxddinterface3=7 -slowratio3=2 -scanline3=0 -initresw3=800 -initresh3=600 -[texture] -MinTexX=0 -MinTexY=0 -MaxTexX=0 -MaxTexY=0 -[keymapping] -timetoggle= -timefast= -timeslow= -altf4= -cliptoggle= -refresh= -logtoggle= -plogtoggle= -fpstoggle= -printscreen= -corner= -freezetime= -fullscreen= -workarea= -desktop= -minimize= -restore= -kill= diff --git a/build/exports/The Sting!.dxw b/build/exports/The Sting!.dxw index f9f251d..629ada4 100644 --- a/build/exports/The Sting!.dxw +++ b/build/exports/The Sting!.dxw @@ -1,6 +1,6 @@ [target] title0=The Sting! -path0=D:\Games\sting\Sting.exe +path0=F:\Games\The Sting!\TheSting!\Sting.exe launchpath0= module0= opengllib0= @@ -12,7 +12,7 @@ flagg0=1207959552 flagh0=16 flagi0=138412036 flagj0=4224 -flagk0=0 +flagk0=65536 tflag0=0 initx0=0 inity0=0 @@ -29,3 +29,14 @@ initts0=0 winver0=0 maxres0=-1 swapeffect0=0 +startfolder0= +registry0= +monitorid0=0 +flagl0=0 +flagm0=0 +dflag0=0 +maxddinterface0=7 +slowratio0=1 +scanline0=1 +initresw0=0 +initresh0=0 diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index 9f459c3..f553d73 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -1372,9 +1372,15 @@ fix: recovered DEFAULTMESSAGES option fix: normalized output for ddraw GetScanLine() method fix: fixed the policy for redrecting the WindowProc routine. Fixes "Ultimate Spiderman" clipping problems, and possibly much more -v2.03.99 +v2.03.99/fx1-3 fix: unwanted hook to directsound when passing by CoCreateInstance() fix: transient mode, now checks for both the target and the launcher to be dead before terminating -add: Direct3D TRIMTEXTUREFORMAT flag, to mimic MS "DirectXTrimTextureFormat" shim. Fixes problems in .... +add: Direct3D TRIMTEXTUREFORMAT flag, to mimic MS "DirectXTrimTextureFormat" shim. Fixes problems in "Heavy Gear 2" and "Star Wars: Rogue Squardon 3D". add: D3DDevice GetCaps hooking and full dump of D3DDevice capabilities - +add: "No HAL Device" flag, making it unavailable the IID_Direct3DHALDevice device. Fixes "Grand Prix World" when the 3D car models are invisible. +add: reorganization of mouse clipper fields, with the addition of LOCK mode (useful for Tribal Rage) +fix: handling of Lock/Unlock methods differentiated in ddraw 4 vs. 7. Fixes "Hoyle Casino Empire" +fix: texture hack now search for hacked textures in the texture.in folder, as stated in the documentation +fix: D3D7 EnumDevices hexdump fixed +add: flag "Pretend Win visible on top" (PRETENDVISIBLE) to let the program believe that the main window is always visible and on z-order top as a fullscreen window should be +fix: fixed some divide by 0 conditions when window is minimized \ No newline at end of file diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index 0e02daf..6439d92 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -1555,6 +1555,7 @@ static void HandleCapsD(char *sLabel, LPDDCAPS c) sLabel, c->dwVidMemTotal, c->dwVidMemFree, c->dwZBufferBitDepths, ExplainZBufferBitDepths(c->dwZBufferBitDepths)); OutTraceDDRAW("GetCaps(%s): MaxVisibleOverlays=%x CurrVisibleOverlays=%x\n", sLabel, c->dwMaxVisibleOverlays, c->dwCurrVisibleOverlays); + if(IsDebug) HexTrace((unsigned char *)c, c->dwSize); if(dxw.bHintActive){ if(c->dwVidMemTotal > dwMaxMem) ShowHint(HINT_LIMITMEM); @@ -1591,13 +1592,14 @@ static HRESULT WINAPI extGetCapsD(int dxversion, GetCapsD_Type pGetCapsD, LPDIRE HRESULT res; OutTraceDDRAW("GetCaps(D%d): lpdd=%x %s %s\n", dxversion, lpdd, c1?"c1":"NULL", c2?"c2":"NULL"); res=(*pGetCapsD)(lpdd, c1, c2); - if(res) + if(res) { OutTraceE("GetCaps(D): ERROR res=%x(%s)\n", res, ExplainDDError(res)); - else { - if (c1) HandleCapsD("D-HW", c1); - if (c2) HandleCapsD("D-SW", c2); + return res; } + if (c1) HandleCapsD("D-HW", c1); + if (c2) HandleCapsD("D-SW", c2); + if((dxw.dwFlags3 & FORCESHEL) && c1) { DDCAPS_DX7 swcaps; // DDCAPS_DX7 because it is the bigger in size int size; @@ -1619,6 +1621,20 @@ static HRESULT WINAPI extGetCapsD(int dxversion, GetCapsD_Type pGetCapsD, LPDIRE if (c2) HandleCapsD("D-SW(fixed)", c2); } + if((dxw.dwFlags8 & NOHALDEVICE) && c1) { + OutTraceDW("GetCaps(D): NOHALDEVICE\n"); + c1->ddsCaps.dwCaps = DDCAPS_NOHARDWARE; + c1->ddsCaps.dwCaps2 = DDCAPS2_CANRENDERWINDOWED; + c1->dwPalCaps = 0; + c1->dwFXCaps = 0; + c1->dwFXAlphaCaps = 0; + c1->dwCKeyCaps = 0; + c1->dwVidMemTotal = c1->dwVidMemFree = 0; + c1->dwZBufferBitDepths = 0; + c1->dwMaxVisibleOverlays = c1->dwCurrVisibleOverlays = 0; + HandleCapsD("D-HW(NoHAL)", c1); + } + if((dxw.dwFlags3 & MINIMALCAPS)) SetMinimalCaps(c1, c2); if(dxw.dwFlags3 & CAPMASK) MaskCapsD(c1, c2); @@ -2602,6 +2618,13 @@ HRESULT WINAPI extGetAttachedSurface(int dxversion, GetAttachedSurface_Type pGet return DDERR_NOTFOUND; } } + + if((dxw.dwFlags8 & NOHALDEVICE) && (lpddsc->dwCaps & DDSCAPS_ZBUFFER)){ + // tested with "Grand Prix World": if a ZBUFFER is returned, CreateDevice fails! + *lplpddas = NULL; + OutTraceDW("GetAttachedSurface(%d): NOHALDEVICE no attached ZBUFFER\n", dxversion); + return DDERR_NOTFOUND; + } } else { // Virtual primary surfaces are created with no DDSCAPS_3DDEVICE caps, so don't look for it .... @@ -3831,7 +3854,7 @@ static HRESULT WINAPI extLockDir(int dxversion, Lock_Type pLock, LPDIRECTDRAWSUR if(res==DDERR_SURFACELOST){ lpdds->Restore(); res = (*pLock)(lpdds, lprect, lpDDSurfaceDesc, flags, hEvent); - OutTraceDW("Lock SURFACELOST RETRY: ret=%x(%s)\n", res, ExplainDDError(res)); + OutTraceDW("Lock SURFACELOST RETRY: ret=%x(%s)\n", res, ExplainDDError(res)); } if(res) OutTraceE("Lock ERROR: ret=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); @@ -3872,6 +3895,7 @@ static HRESULT WINAPI extUnlock(int dxversion, Unlock4_Type pUnlock, LPDIRECTDRA BOOL IsPrim; BOOL IsBack; Blt_Type pBlt; + RECT rect; IsPrim=dxwss.IsAPrimarySurface(lpdds); IsBack=dxwss.IsABackBufferSurface(lpdds); @@ -3901,13 +3925,22 @@ static HRESULT WINAPI extUnlock(int dxversion, Unlock4_Type pUnlock, LPDIRECTDRA case 7: pBlt=pBlt7; break; } - if(dxversion >= 4){ - // v2.03.20: apparently, it seems that in ddraw 7 you can set an empty rectangle to mean the whole area .... - // this fixes the black screen otherwise present in "Arcanum". - // v2.02.92: found in Fifa 2000: lpRect is completely ignored, receiving bogus values like (-1, -1, -1, -1} - // or {0, 0, 0, 0}, or {-109119151, -109119151, -109119151, -109119151}. - // better use the Lock-ed rect - lprect = PopLockedRect(lpdds, lprect); + switch(dxversion){ + case 4: + // v2.02.92: found in Fifa 2000: lpRect is completely ignored, receiving bogus values like (-1, -1, -1, -1} + // or {0, 0, 0, 0}, or {-109119151, -109119151, -109119151, -109119151}. + // better use the Lock-ed rect + lprect = PopLockedRect(lpdds, lprect); + break; + case 7: + if(lprect){ + rect = *lprect; + lprect = ▭ + // v2.03.20: apparently, it seems that in ddraw 7 you can set an empty rectangle to mean the whole area .... + // this fixes the black screen otherwise present in "Arcanum". + if(IsPrim && ((lprect->right - lprect->left) == 0) && ((lprect->bottom - lprect->top) == 0)) lprect = NULL; + } + break; } if((dxw.dwFlags6 & FIXPITCH) && !(IsPrim||IsBack) && (lpdds == SaveSurface)){ @@ -3989,17 +4022,27 @@ static HRESULT WINAPI extUnlockDir(int dxversion, Unlock4_Type pUnlock, LPDIRECT LPDIRECTDRAWSURFACE lpDDSPrim; GetGDISurface_Type pGetGDISurface; Blt_Type pBlt; + RECT rect; IsPrim=dxwss.IsAPrimarySurface(lpdds); IsBack=dxwss.IsABackBufferSurface(lpdds); - if(dxversion >= 4){ - // v2.03.20: apparently, it seems that in ddraw 7 you can set an empty rectangle to mean the whole area .... - // this fixes the black screen otherwise present in "Arcanum". - // v2.02.92: found in Fifa 2000: lpRect is completely ignored, receiving bogus values like (-1, -1, -1, -1} - // or {0, 0, 0, 0}, or {-109119151, -109119151, -109119151, -109119151}. - // better use the Lock-ed rect - lprect = PopLockedRect(lpdds, lprect); + switch(dxversion){ + case 4: + // v2.02.92: found in Fifa 2000: lpRect is completely ignored, receiving bogus values like (-1, -1, -1, -1} + // or {0, 0, 0, 0}, or {-109119151, -109119151, -109119151, -109119151}. + // better use the Lock-ed rect + lprect = PopLockedRect(lpdds, lprect); + break; + case 7: + if(lprect){ + rect = *lprect; + lprect = ▭ + // v2.03.20: apparently, it seems that in ddraw 7 you can set an empty rectangle to mean the whole area .... + // this fixes the black screen otherwise present in "Arcanum". + if(IsPrim && ((lprect->right - lprect->left) == 0) && ((lprect->bottom - lprect->top) == 0)) lprect = NULL; + } + break; } if(IsTraceDDRAW){ @@ -4797,6 +4840,7 @@ static HRESULT WINAPI extGetCapsS(int dxInterface, GetCapsS_Type pGetCapsS, LPDI caps->dwCaps |= (DDSCAPS_BACKBUFFER|DDSCAPS_VIDEOMEMORY|DDSCAPS_FLIP|DDSCAPS_LOCALVIDMEM); // you never know.... caps->dwCaps &= ~(DDSCAPS_SYSTEMMEMORY|DDSCAPS_OFFSCREENPLAIN); // backbuffer surfaces can't be this way if(caps->dwCaps & DDSCAPS_3DDEVICE) caps->dwCaps |= DDSCAPS_LOCALVIDMEM; + //if(caps->dwCaps & DDSCAPS_3DDEVICE) caps->dwCaps |= (DDSCAPS_LOCALVIDMEM | DDSCAPS_COMPLEX); } // v2.03.82: fixed logic for ZBUFFER capabilities: "The Creed" may have two, in SYSTEMMEMORY or in VIDEOMEMORY ... diff --git a/dll/ddtexture.cpp b/dll/ddtexture.cpp index 27cd5e8..8cd171d 100644 --- a/dll/ddtexture.cpp +++ b/dll/ddtexture.cpp @@ -347,7 +347,7 @@ static void TextureHack(LPDIRECTDRAWSURFACE s, int dxversion) if(!hash) break; // almost certainly, an empty black surface! // Look for the .BMP file. - sprintf_s(pszFile, MAX_PATH, "%s\\texture.out\\texture.%03d.%03d.%s.%08X.bmp", + sprintf_s(pszFile, MAX_PATH, "%s\\texture.in\\texture.%03d.%03d.%s.%08X.bmp", GetDxWndPath(), ddsd.dwWidth, ddsd.dwHeight, SurfaceType(ddsd.ddpfPixelFormat), hash); hf = fopen(pszFile, "rb"); if(!hf) break; // no updated texture to load diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index 26d649f..4343855 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -67,7 +67,7 @@ static char *FlagNames[32]={ "HOOKDI", "MODIFYMOUSE", "HANDLEEXCEPTIONS", "SAVELOAD", "EMULATEBUFFER", "HOOKDI8", "BLITFROMBACKBUFFER", "SUPPRESSCLIPPING", "AUTOREFRESH", "FIXWINFRAME", "HIDEHWCURSOR", "SLOWDOWN", - "ENABLECLIPPING", "LOCKWINSTYLE", "MAPGDITOPRIMARY", "FIXTEXTOUT", + "DISABLECLIPPING", "LOCKWINSTYLE", "MAPGDITOPRIMARY", "FIXTEXTOUT", "KEEPCURSORWITHIN", "USERGB565", "SUPPRESSDXERRORS", "PREVENTMAXIMIZE", "LOCKEDSURFACE", "FIXPARENTWIN", "SWITCHVIDEOMEMORY", "CLIENTREMAPPING", "HANDLEALTF4", "LOCKWINPOS", "HOOKCHILDWIN", "MESSAGEPROC" @@ -141,7 +141,7 @@ static char *Flag7Names[32]={ static char *Flag8Names[32]={ "FORCEWAIT", "FORCENOWAIT", "FORCEVSYNC", "FORCENOVSYNC", - "VSYNCSCANLINES", "TRIMTEXTUREFORMATS", "", "", + "VSYNCSCANLINES", "TRIMTEXTUREFORMATS", "NOHALDEVICE", "CLIPLOCK", "", "", "", "", "", "", "", "", "", "", "", "", @@ -277,6 +277,23 @@ void OutTrace(const char *format, ...) dxw.dwTFlags = tFlags; // restore settings } +void HexTrace(unsigned char *buf, int len) +{ + char line[3*32 + 40]; + char hex[6]; + int count=0; + while(len){ + sprintf(line,"%04X: ", count); + for(int i=32; i && len; i--, len--, buf++){ + sprintf(hex, "%02X.", *buf); + strcat(line, hex); + } + strcat(line, "\n"); + OutTrace(line); + count += 32; + } +} + // from MSDN: // GetVersionEx may be altered or unavailable for releases after Windows 8.1. Instead, use the Version Helper functions // diff --git a/dll/dxmapping.cpp b/dll/dxmapping.cpp index 6abf839..8d7f361 100644 --- a/dll/dxmapping.cpp +++ b/dll/dxmapping.cpp @@ -82,15 +82,17 @@ POINT dxwCore::GetFrameOffset() POINT dxwCore::ClientOffset(HWND hwnd) { - POINT upleft, ret; + POINT upleft, ret = {0, 0}; - upleft.x = upleft.y = 0; - (*pClientToScreen)(hwnd, &upleft); - ret.x = (((upleft.x - iPosX) * dwScreenWidth) + (iSizX >> 1)) / iSizX; - ret.y = (((upleft.y - iPosY) * dwScreenHeight) + (iSizY >> 1)) / iSizY; - if(ret.x < 0) ret.x = 0; - if(ret.y < 0) ret.y = 0; - OutTraceB("ClientOffset: hwnd=%x offset=(%d,%d)\n", hwnd, ret.x, ret.y); + if(iSizX && iSizY) { + upleft.x = upleft.y = 0; + (*pClientToScreen)(hwnd, &upleft); + ret.x = (((upleft.x - iPosX) * dwScreenWidth) + (iSizX >> 1)) / iSizX; + ret.y = (((upleft.y - iPosY) * dwScreenHeight) + (iSizY >> 1)) / iSizY; + if(ret.x < 0) ret.x = 0; + if(ret.y < 0) ret.y = 0; + OutTraceB("ClientOffset: hwnd=%x offset=(%d,%d)\n", hwnd, ret.x, ret.y); + } return ret; } @@ -98,10 +100,12 @@ POINT dxwCore::ClientOffset(HWND hwnd) RECT dxwCore::GetWindowRect(RECT win) { - win.left = (((win.left - iPosX) * (LONG)dwScreenWidth) + (iSizX >> 1)) / iSizX; - win.top = (((win.top - iPosY) * (LONG)dwScreenHeight) + (iSizY >> 1)) / iSizY; - win.right = (((win.right - iPosX) * (LONG)dwScreenWidth) + (iSizX >> 1)) / iSizX; - win.bottom = (((win.bottom - iPosY) * (LONG)dwScreenHeight) + (iSizY >> 1)) / iSizY; + if(iSizX && iSizY) { + win.left = (((win.left - iPosX) * (LONG)dwScreenWidth) + (iSizX >> 1)) / iSizX; + win.top = (((win.top - iPosY) * (LONG)dwScreenHeight) + (iSizY >> 1)) / iSizY; + win.right = (((win.right - iPosX) * (LONG)dwScreenWidth) + (iSizX >> 1)) / iSizX; + win.bottom = (((win.bottom - iPosY) * (LONG)dwScreenHeight) + (iSizY >> 1)) / iSizY; + } return win; } @@ -110,10 +114,12 @@ RECT dxwCore::GetWindowRect(RECT win) RECT dxwCore::GetClientRect(RECT win) { - win.left = ((win.left * dwScreenWidth) + (iSizX >> 1)) / iSizX; - win.top = ((win.top * dwScreenHeight) + (iSizY >> 1)) / iSizY; - win.right = ((win.right * dwScreenWidth) + (iSizX >> 1)) / iSizX; - win.bottom = ((win.bottom * dwScreenHeight) + (iSizY >> 1)) / iSizY; + if(iSizX && iSizY) { + win.left = ((win.left * dwScreenWidth) + (iSizX >> 1)) / iSizX; + win.top = ((win.top * dwScreenHeight) + (iSizY >> 1)) / iSizY; + win.right = ((win.right * dwScreenWidth) + (iSizX >> 1)) / iSizX; + win.bottom = ((win.bottom * dwScreenHeight) + (iSizY >> 1)) / iSizY; + } return win; } @@ -252,46 +258,58 @@ void dxwCore::MapClient(int *nXDest, int *nYDest) void dxwCore::UnmapWindow(LPRECT rect) { - rect->left= ((rect->left - iPosX) * (int)dwScreenWidth) / iSizX; - rect->top= ((rect->top - iPosY) * (int)dwScreenHeight) / iSizY; - rect->right= ((rect->right - iPosX) * (int)dwScreenWidth) / iSizX; - rect->bottom= ((rect->bottom - iPosY) * (int)dwScreenHeight) / iSizY; + if(iSizX && iSizY) { + rect->left= ((rect->left - iPosX) * (int)dwScreenWidth) / iSizX; + rect->top= ((rect->top - iPosY) * (int)dwScreenHeight) / iSizY; + rect->right= ((rect->right - iPosX) * (int)dwScreenWidth) / iSizX; + rect->bottom= ((rect->bottom - iPosY) * (int)dwScreenHeight) / iSizY; + } } void dxwCore::UnmapWindow(LPPOINT point) { - point->x= ((point->x - iPosX) * (int)dwScreenWidth) / iSizX; - point->y= ((point->y - iPosY) * (int)dwScreenHeight) / iSizY; + if(iSizX && iSizY) { + point->x= ((point->x - iPosX) * (int)dwScreenWidth) / iSizX; + point->y= ((point->y - iPosY) * (int)dwScreenHeight) / iSizY; + } } // UnmapClient: transforms the client real coordinates of the real desktop into virtual ones void dxwCore::UnmapClient(LPPOINT lppoint) { - lppoint->x = ((lppoint->x * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; - lppoint->y = ((lppoint->y * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + if(iSizX && iSizY) { + lppoint->x = ((lppoint->x * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; + lppoint->y = ((lppoint->y * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + } } void dxwCore::UnmapClient(int *nXDest, int *nYDest) { - *nXDest = ((*nXDest * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; - *nYDest = ((*nYDest * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + if(iSizX && iSizY) { + *nXDest = ((*nXDest * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; + *nYDest = ((*nYDest * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + } } void dxwCore::UnmapClient(int *nXDest, int *nYDest, int *nWidth, int *nHeight) { - *nXDest = ((*nXDest * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; - *nYDest = ((*nYDest * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; - *nWidth = ((*nWidth * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; - *nHeight = ((*nHeight * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + if(iSizX && iSizY) { + *nXDest = ((*nXDest * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; + *nYDest = ((*nYDest * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + *nWidth = ((*nWidth * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; + *nHeight = ((*nHeight * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + } } void dxwCore::UnmapClient(LPRECT lpRect) { - lpRect->left = ((lpRect->left * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; - lpRect->right = ((lpRect->right * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; - lpRect->top = ((lpRect->top * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; - lpRect->bottom = ((lpRect->bottom * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + if(iSizX && iSizY) { + lpRect->left = ((lpRect->left * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; + lpRect->right = ((lpRect->right * (int)dwScreenWidth) + (iSizX >> 1)) / iSizX; + lpRect->top = ((lpRect->top * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + lpRect->bottom = ((lpRect->bottom * (int)dwScreenHeight) + (iSizY >> 1)) / iSizY; + } } // GetMonitorWorkarea: retrieves the desktop coordinates of the whole desktop (id == -1) or of a given monitor (id >= 0) diff --git a/dll/dxwcore.cpp b/dll/dxwcore.cpp index ba33cf4..24f3577 100644 --- a/dll/dxwcore.cpp +++ b/dll/dxwcore.cpp @@ -363,7 +363,7 @@ POINT dxwCore::FixCursorPos(POINT prev) if (h) curr.y = (curr.y * dxw.GetScreenHeight()) / h; } - if((dxw.dwFlags1 & ENABLECLIPPING) && lpClipRegion){ + if((dxw.dwFlags1 & DISABLECLIPPING) && lpClipRegion){ // v2.1.93: // in clipping mode, avoid the cursor position to lay outside the valid rect // note 1: the rect follow the convention and valid coord lay between left to righ-1, diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index e2e3ae5..e06b253 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.99.b3" +#define VERSION "2.03.99.fx3" #define DDTHREADLOCK 1 //#define LOCKTHREADS diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo deleted file mode 100644 index e11832c047fb2bd567db022bc214352d263546ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305664 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 diff --git a/dll/hd3d7.cpp b/dll/hd3d7.cpp index d3fdc20..897ff5a 100644 --- a/dll/hd3d7.cpp +++ b/dll/hd3d7.cpp @@ -800,23 +800,6 @@ typedef struct { LPVOID arg; } CallbackArg7; -static void HexDump(unsigned char *buf, int len) -{ - char line[3*32 + 40]; - char hex[6]; - int count=0; - while(len){ - sprintf(line,"%04X: ", count); - for(int i=32; i && len; i--, len--, buf++){ - sprintf(hex, "%02X.", *buf); - strcat(line, hex); - } - strcat(line, "\n"); - OutTrace(line); - count += 32; - } -} - static void DumpD3DDeviceDesc(LPD3DDEVICEDESC d3, char *label) { if(IsTraceD3D){ @@ -834,7 +817,7 @@ static void DumpD3DDeviceDesc(LPD3DDEVICEDESC d3, char *label) if(d3->dwFlags & D3DDD_MAXBUFFERSIZE) OutTrace("MaxBufferSize=%d ", d3->dwMaxBufferSize); if(d3->dwFlags & D3DDD_MAXVERTEXCOUNT) OutTrace("MaxVertexCount=%d ", d3->dwMaxVertexCount); OutTrace("Texture min=(%dx%d) max=(%dx%d)\n", d3->dwMinTextureWidth, d3->dwMinTextureHeight, d3->dwMaxTextureWidth, d3->dwMaxTextureHeight); - HexDump((unsigned char *)d3, d3->dwSize); + HexTrace((unsigned char *)d3, d3->dwSize); } else OutTrace("EnumDevices: CALLBACK dev=%s ddesc=NULL\n", label); @@ -861,7 +844,7 @@ static void DumpD3DDeviceDesc7(LPD3DDEVICEDESC7 d3, char *label) OutTrace("Texture min=(%dx%d) max=(%dx%d)\n", d3->dwMinTextureWidth, d3->dwMinTextureHeight, d3->dwMaxTextureWidth, d3->dwMaxTextureHeight); // to be completed .... //OutTrace("\n"); - HexDump((unsigned char *)d3, sizeof(D3DDEVICEDESC7)); + HexTrace((unsigned char *)d3, sizeof(D3DDEVICEDESC7)); } else OutTrace("EnumDevices: CALLBACK dev=%s ddesc=NULL\n", label); @@ -874,6 +857,14 @@ HRESULT WINAPI extDeviceProxy(GUID FAR *lpGuid, LPSTR lpDeviceDescription, LPSTR OutTraceD3D("EnumDevices: CALLBACK GUID=%x(%s) DeviceDescription=\"%s\", DeviceName=\"%s\", arg=%x\n", lpGuid->Data1, ExplainGUID(lpGuid), lpDeviceDescription, lpDeviceName, ((CallbackArg *)arg)->arg); DumpD3DDeviceDesc(lpd3ddd1, "HWDEV"); DumpD3DDeviceDesc(lpd3ddd2, "SWDEV"); + + // IID_IDirect3DHALDevice = 0x84e63de0.... + if((dxw.dwFlags8 & NOHALDEVICE) && (lpGuid->Data1 == 0x84e63de0)) + { + OutTraceDW("EnumDevices: D3DHALDEVICE SKIP\n"); + return TRUE; + } + if(dxw.dwFlags4 & NOPOWER2FIX){ D3DDEVICEDESC lpd3ddd1fix, lpd3ddd2fix; if(lpd3ddd1) memcpy(&lpd3ddd1fix, lpd3ddd1, sizeof(D3DDEVICEDESC)); @@ -895,7 +886,10 @@ HRESULT WINAPI extDeviceProxy7(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LP { HRESULT res; OutTraceD3D("EnumDevices(D3D7): CALLBACK DeviceDescription=\"%s\", DeviceName=\"%s\", arg=%x\n", lpDeviceDescription, lpDeviceName, ((CallbackArg *)arg)->arg); - DumpD3DDeviceDesc((LPD3DDEVICEDESC)lpd3ddd, "DEV"); + DumpD3DDeviceDesc7(lpd3ddd, "DX7DEV"); + + // to do: NOHALDEVICE handling, we have no GUID here! + if(dxw.dwFlags4 & NOPOWER2FIX){ D3DDEVICEDESC7 lpd3dddfix; if(lpd3ddd) memcpy(&lpd3dddfix, lpd3ddd, sizeof(D3DDEVICEDESC7)); @@ -1130,6 +1124,12 @@ HRESULT WINAPI extInitializeVP(void *lpvp, LPDIRECT3D lpd3d) return res; } +#ifndef D3DERR_NOTAVAILABLE +#define _FACD3D 0x876 +#define D3DERR_NOTAVAILABLE MAKE_HRESULT(1, _FACD3D, 2154) +#endif + + HRESULT WINAPI extCreateDevice2(void *lpd3d, REFCLSID Guid, LPDIRECTDRAWSURFACE lpdds, LPDIRECT3DDEVICE2 *lplpd3dd) { HRESULT res; @@ -1137,6 +1137,11 @@ HRESULT WINAPI extCreateDevice2(void *lpd3d, REFCLSID Guid, LPDIRECTDRAWSURFACE OutTraceD3D("CreateDevice(D3D2): d3d=%x GUID=%x(%s) lpdds=%x%s\n", lpd3d, Guid.Data1, ExplainGUID((GUID *)&Guid), lpdds, dxwss.ExplainSurfaceRole((LPDIRECTDRAWSURFACE)lpdds)); + if((dxw.dwFlags8 & NOHALDEVICE) && (Guid.Data1 == 0x84e63de0)) { + OutTraceDW("CreateDevice(D3D2): D3DHALDEVICE SKIP\n"); + return D3DERR_NOTAVAILABLE; + } + res=(*pCreateDevice2)(lpd3d, Guid, lpdds, lplpd3dd); if(res!=DD_OK) { OutTraceE("CreateDevice(D3D2) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); @@ -1156,6 +1161,11 @@ HRESULT WINAPI extCreateDevice3(void *lpd3d, REFCLSID Guid, LPDIRECTDRAWSURFACE4 OutTraceD3D("CreateDevice(D3D3): d3d=%x GUID=%x(%s) lpdds=%x%s\n", lpd3d, Guid.Data1, ExplainGUID((GUID *)&Guid), lpdds, dxwss.ExplainSurfaceRole((LPDIRECTDRAWSURFACE)lpdds)); + if((dxw.dwFlags8 & NOHALDEVICE) && (Guid.Data1 == 0x84e63de0)) { + OutTraceDW("CreateDevice(D3D3): D3DHALDEVICE SKIP\n"); + return D3DERR_NOTAVAILABLE; + } + res=(*pCreateDevice3)(lpd3d, Guid, lpdds, lplpd3dd, unk); if(res!=DD_OK) { OutTraceE("CreateDevice(D3D3) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); diff --git a/dll/user32.cpp b/dll/user32.cpp index 31b505a..553d6f3 100644 --- a/dll/user32.cpp +++ b/dll/user32.cpp @@ -190,6 +190,7 @@ static HookEntryEx_Type Hooks[]={ {HOOK_HOT_CANDIDATE, 0, "SetWindowLongW", (FARPROC)SetWindowLongW, (FARPROC *)&pSetWindowLongW, (FARPROC)extSetWindowLongW}, {HOOK_HOT_CANDIDATE, 0, "GetWindowLongW", (FARPROC)GetWindowLongW, (FARPROC *)&pGetWindowLongW, (FARPROC)extGetWindowLongW}, {HOOK_IAT_CANDIDATE, 0, "IsWindowVisible", (FARPROC)NULL, (FARPROC *)&pIsWindowVisible, (FARPROC)extIsWindowVisible}, + {HOOK_IAT_CANDIDATE, 0, "GetTopWindow", (FARPROC)GetTopWindow, (FARPROC *)&pGetTopWindow, (FARPROC)extGetTopWindow}, // hot by MinHook since v2.03.07 {HOOK_HOT_CANDIDATE, 0, "SystemParametersInfoA", (FARPROC)SystemParametersInfoA, (FARPROC *)&pSystemParametersInfoA, (FARPROC)extSystemParametersInfoA}, {HOOK_HOT_CANDIDATE, 0, "SystemParametersInfoW", (FARPROC)SystemParametersInfoW, (FARPROC *)&pSystemParametersInfoW, (FARPROC)extSystemParametersInfoW}, @@ -203,7 +204,6 @@ static HookEntryEx_Type Hooks[]={ {HOOK_HOT_CANDIDATE, 0, "IsWindow", (FARPROC)IsWindow, (FARPROC *)&pIsWindow, (FARPROC)extIsWindow}, {HOOK_HOT_CANDIDATE, 0, "GetWindow", (FARPROC)GetWindow, (FARPROC *)&pGetWindow, (FARPROC)extGetWindow}, {HOOK_HOT_CANDIDATE, 0, "GetWindowThreadProcessId", (FARPROC)GetWindowThreadProcessId, (FARPROC *)&pGetWindowThreadProcessId, (FARPROC)extGetWindowThreadProcessId}, - {HOOK_HOT_CANDIDATE, 0, "GetTopWindow", (FARPROC)GetTopWindow, (FARPROC *)&pGetTopWindow, (FARPROC)extGetTopWindow}, {HOOK_HOT_CANDIDATE, 0, "GetFocus", (FARPROC)GetFocus, (FARPROC *)&pGetFocus, (FARPROC)extGetFocus}, #endif @@ -1133,8 +1133,7 @@ HCURSOR WINAPI extSetCursor(HCURSOR hCursor) HCURSOR ret; ret=(*pSetCursor)(hCursor); - OutTraceDW("GDI.SetCursor: Cursor=%x, ret=%x\n", hCursor, ret); - //MessageBox(0, "SelectPalette", "GDI32.dll", MB_OK | MB_ICONEXCLAMATION); + OutTraceB("GDI.SetCursor: Cursor=%x, ret=%x\n", hCursor, ret); return ret; } @@ -2121,7 +2120,8 @@ BOOL WINAPI extClipCursor(RECT *lpRectArg) OutTrace("ClipCursor: rect=(NULL)\n"); } - if (!(dxw.dwFlags1 & ENABLECLIPPING)) return 1; + if (!(dxw.dwFlags1 & DISABLECLIPPING)) return TRUE; + if ((dxw.dwFlags8 & CLIPLOCKED) && (lpRectArg == NULL)) return TRUE; if(lpRectArg){ Rect=*lpRectArg; @@ -2150,12 +2150,12 @@ BOOL WINAPI extClipCursor(RECT *lpRectArg) BOOL WINAPI extGetClipCursor(LPRECT lpRect) { - // v2.1.93: if ENABLECLIPPING, return the saved clip rect coordinates + // v2.1.93: if DISABLECLIPPING, return the saved clip rect coordinates BOOL ret; // proxy.... - if (!(dxw.dwFlags1 & ENABLECLIPPING)) { + if (!(dxw.dwFlags1 & DISABLECLIPPING)) { ret=(*pGetClipCursor)(lpRect); // v2.03.11: fix for "SubCulture" mouse movement if(lpRect && dxw.Windowize) *lpRect = dxw.GetScreenRect(); @@ -2737,7 +2737,7 @@ HWND WINAPI extGetTopWindow(HWND hwnd) HWND ret; OutTraceDW("GetTopWindow: hwnd=%x fullscreen=%x\n", hwnd, dxw.IsFullScreen()); // a fullscreen program is supposed to be always top Z-order on the desktop! - ret = (dxw.IsFullScreen() && dxw.IsDesktop(hwnd)) ? dxw.GethWnd() : (*pGetTopWindow)(hwnd); + ret = (dxw.IsFullScreen() && dxw.IsDesktop(hwnd) && (dxw.dwFlags8 & PRETENDVISIBLE)) ? dxw.GethWnd() : (*pGetTopWindow)(hwnd); OutTraceDW("GetTopWindow: ret=%x\n", ret); return ret; } @@ -3278,7 +3278,7 @@ BOOL WINAPI extIsWindowVisible(HWND hwnd) BOOL ret; ret=(*pIsWindowVisible)(hwnd); OutTraceB("IsWindowVisible: hwnd=%x ret=%x\n", hwnd, ret); - if(dxw.IsDesktop(hwnd) && !ret){ + if(dxw.IsDesktop(hwnd) && (dxw.dwFlags8 & PRETENDVISIBLE) && !ret){ OutTraceDW("IsWindowVisible: FORCING ret=TRUE\n"); ret=TRUE; } diff --git a/dll/winproc.cpp b/dll/winproc.cpp index 7a76d33..5d8b08f 100644 --- a/dll/winproc.cpp +++ b/dll/winproc.cpp @@ -384,8 +384,8 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp dxw.dwFlags1 &= ~LOCKWINPOS; } while((*pShowCursor)(1) < 0); - if(dxw.dwFlags1 & CLIPCURSOR) dxw.EraseClipCursor(); - if(dxw.dwFlags1 & ENABLECLIPPING) (*pClipCursor)(NULL); + if((dxw.dwFlags1 & CLIPCURSOR) && !(dxw.dwFlags8 & CLIPLOCKED)) dxw.EraseClipCursor(); + if(dxw.dwFlags1 & DISABLECLIPPING) dxw.EraseClipCursor(); break; case WM_EXITSIZEMOVE: if(IsToBeLocked){ @@ -394,7 +394,7 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp } if((dxw.dwFlags1 & HIDEHWCURSOR) && dxw.IsFullScreen()) while((*pShowCursor)(0) >= 0); if(dxw.dwFlags2 & SHOWHWCURSOR) while((*pShowCursor)(1) < 0); - if(dxw.dwFlags1 & ENABLECLIPPING) extClipCursor(lpClipRegion); + if(dxw.dwFlags1 & DISABLECLIPPING) extClipCursor(lpClipRegion); if(dxw.dwFlags2 & REFRESHONRESIZE) dxw.ScreenRefresh(); if(dxw.dwFlags4 & HIDEDESKTOP) dxw.HideDesktop(dxw.GethWnd()); if(dxw.dwFlags5 & CENTERTOWIN) { @@ -489,12 +489,12 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp case WM_SETFOCUS: OutTraceDW("WindowProc: hwnd=%x GOT FOCUS\n", hwnd); if(dxw.dwFlags1 & CLIPCURSOR) dxw.SetClipCursor(); - if (dxw.dwFlags1 & ENABLECLIPPING) extClipCursor(lpClipRegion); + if (dxw.dwFlags1 & DISABLECLIPPING) extClipCursor(lpClipRegion); break; case WM_KILLFOCUS: OutTraceDW("WindowProc: hwnd=%x LOST FOCUS\n", hwnd); - if (dxw.dwFlags1 & CLIPCURSOR) dxw.EraseClipCursor(); - if (dxw.dwFlags1 & ENABLECLIPPING) (*pClipCursor)(NULL); + if((dxw.dwFlags1 & CLIPCURSOR) && !(dxw.dwFlags8 & CLIPLOCKED)) dxw.EraseClipCursor(); + if (dxw.dwFlags1 & DISABLECLIPPING) dxw.EraseClipCursor(); break; case WM_SYSCOMMAND: // v2.03.56.fix1 by FunkyFr3sh: ensure that "C&C Red Alert 2" receives the WM_SYSCOMMAND / SC_CLOSE message diff --git a/host/TabDirectX2.cpp b/host/TabDirectX2.cpp index 2e38076..b25ce6e 100644 --- a/host/TabDirectX2.cpp +++ b/host/TabDirectX2.cpp @@ -35,6 +35,7 @@ void CTabDirectX2::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_FIXREFCOUNTER, cTarget->m_FixRefCounter); DDX_Check(pDX, IDC_RETURNNULLREF, cTarget->m_ReturnNullRef); DDX_Check(pDX, IDC_FORCESHEL, cTarget->m_ForcesHEL); + DDX_Check(pDX, IDC_NOHALDEVICE, cTarget->m_NoHALDevice); DDX_Check(pDX, IDC_MINIMALCAPS, cTarget->m_MinimalCaps); DDX_Check(pDX, IDC_SETZBUFFERBITDEPTHS, cTarget->m_SetZBufferBitDepths); DDX_Check(pDX, IDC_DEINTERLACE, cTarget->m_Deinterlace); diff --git a/host/TabInput.cpp b/host/TabInput.cpp index 13fbac0..9bc5602 100644 --- a/host/TabInput.cpp +++ b/host/TabInput.cpp @@ -31,8 +31,8 @@ void CTabInput::DoDataExchange(CDataExchange* pDX) DDX_Radio(pDX, IDC_CURSORAUTOMATIC, cTarget->m_MouseVisibility); // Cursor Handling DDX_Check(pDX, IDC_MODIFYMOUSE, cTarget->m_ModifyMouse); - DDX_Check(pDX, IDC_ENABLECLIPPING, cTarget->m_EnableClipping); - DDX_Check(pDX, IDC_CLIPCURSOR, cTarget->m_CursorClipping); + //DDX_Check(pDX, IDC_DISABLECLIPPING, cTarget->m_EnableClipping); + //DDX_Check(pDX, IDC_CLIPCURSOR, cTarget->m_CursorClipping); DDX_Check(pDX, IDC_KEEPCURSORWITHIN, cTarget->m_KeepCursorWithin); DDX_Check(pDX, IDC_KEEPCURSORFIXED, cTarget->m_KeepCursorFixed); DDX_Check(pDX, IDC_MESSAGEPROC, cTarget->m_MessageProc); @@ -41,7 +41,8 @@ void CTabInput::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_SLOW, cTarget->m_SlowDown); DDX_Check(pDX, IDC_RELEASEMOUSE, cTarget->m_ReleaseMouse); DDX_Check(pDX, IDC_VIRTUALJOYSTICK, cTarget->m_VirtualJoystick); - //DDX_Check(pDX, IDC_FRAMECOMPENSATION, cTarget->m_FrameCompensation); + // Cursor Clipper + DDX_Radio(pDX, IDC_CLIPPERAUTO, cTarget->m_MouseClipper); // DirectInput DDX_Check(pDX, IDC_HOOKDI, cTarget->m_HookDI); DDX_Check(pDX, IDC_HOOKDI8, cTarget->m_HookDI8); diff --git a/host/TabSysLibs.cpp b/host/TabSysLibs.cpp index a0cbc5b..113de62 100644 --- a/host/TabSysLibs.cpp +++ b/host/TabSysLibs.cpp @@ -35,6 +35,7 @@ void CTabSysLibs::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_FIXCLIPPERAREA, cTarget->m_FixClipperArea); DDX_Check(pDX, IDC_SYNCPALETTE, cTarget->m_SyncPalette); DDX_Check(pDX, IDC_NOWINERRORS, cTarget->m_NoWinErrors); + DDX_Check(pDX, IDC_PRETENDVISIBLE, cTarget->m_PretendVisible); // OpenGL DDX_Check(pDX, IDC_HOOKOPENGL, cTarget->m_HookOpenGL); // duplicated diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 4754ad0..8d19f83 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -31,6 +31,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_DxFilterMode = 0; // default: ddraw filtering m_DCEmulationMode = 0; // default: no emulation m_MouseVisibility = 0; + m_MouseClipper = 0; m_OffendingMessages = 0; m_TextureHandling = 0; m_HookDI = FALSE; @@ -149,8 +150,8 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_IndependentRefresh = FALSE; m_TextureFormat = FALSE; m_FixWinFrame = FALSE; - m_EnableClipping = FALSE; - m_CursorClipping = FALSE; + //m_EnableClipping = FALSE; + //m_CursorClipping = FALSE; m_VideoToSystemMem = FALSE; m_FixTextOut = FALSE; m_SharedDC = FALSE; @@ -241,6 +242,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_FixClipperArea = FALSE; // ?? m_SyncPalette = FALSE; m_NoWinErrors = FALSE; + m_PretendVisible = FALSE; m_AnalyticMode = FALSE; m_NoPaletteUpdate = FALSE; m_WireFrame = FALSE; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index f0f3be3..32c9e42 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -33,6 +33,7 @@ public: int m_DxFilterMode; int m_DCEmulationMode; int m_MouseVisibility; + int m_MouseClipper; int m_OffendingMessages; int m_TextureHandling; int m_SonProcessMode; @@ -110,8 +111,8 @@ public: BOOL m_IndependentRefresh; BOOL m_TextureFormat; BOOL m_FixWinFrame; - BOOL m_EnableClipping; - BOOL m_CursorClipping; + //BOOL m_EnableClipping; + //BOOL m_CursorClipping; BOOL m_VideoToSystemMem; BOOL m_FixTextOut; BOOL m_SharedDC; @@ -199,6 +200,7 @@ public: BOOL m_FixClipperArea; BOOL m_SyncPalette; BOOL m_NoWinErrors; + BOOL m_PretendVisible; BOOL m_AnalyticMode; BOOL m_NoPaletteUpdate; BOOL m_LimitResources; @@ -234,6 +236,7 @@ public: BOOL m_DisableDisableAltTab; BOOL m_NoImagehlp; BOOL m_ForcesHEL; + BOOL m_NoHALDevice; BOOL m_MinimalCaps; BOOL m_SetZBufferBitDepths; BOOL m_ForcesSwapEffect; diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps deleted file mode 100644 index 4f6b7494554d23c5222236c2675fb01acfccb352..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254000 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 diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index 2da3b69c14f3168f53fd4da68668661e8841a3a7..9f5f8fcfd19d67297292d2dbb4ef960d294580f6 100644 GIT binary patch delta 803 zcmYk4Ur5tY6vxj|+kP!IYX%EThml1L+HY?A&0ci5BuShz%?$cu*~8M-FzX>m)W_%_ z9q5$IHNp8%8Pladh>9SIkRH^RdJ6aALqXI_4-wMYZwq`l_gv2X-gD3Wob&p<@@i2@ zeVZ=yKrM|7sOicVy#-bkRPca9Ru|M6UZqfP<)Ihpe<7Qy$!_rucLzy_>agO%f|<_)O6@FE}@(cY{X$E|r%~ zp^eWu(8SM^sF?lG2^|om5iKUx@&;(69vJ3rYAGk%~ zrsdljzn#D`Lx4fbWcE_oO@FW8|A!m_i&b@5ll&O^VP z*`Y@4ig7Y1J_^-RS~CQsoU_md?NU;QSgS-%Nc=c7)9%P=TKb`&lQZq8QA5(jU)rg!KEiUOQbVa`?{TzB zs5XsZA}4f%i@%TIXLFqaR?DF;h+(X-7Mwg0!wh}RU!MtCIX;e`&_kiMdRmPuJR8SJ zwr|BEPQ+wcXuv}TD2_kDr#w84#r&}W%Vj?FTL~PpkSTe<+6X-Yqen1>1yoo-hH2Sf z#i;};GM29VSi1A`as3LXj`qzEGPB7%4j5jUX+WtbV}^WF^aWm|joMr&+6 zV;kSslWwFwvm@jxcnb@%N{FoAkRAc(-vIn-^3ZZt3{7 z6vlM%KzTKQ$8H#nl?q}x4d-23`pT>iL@D>*mE6Bqc5O3b_wys=qKW8C2l){hS4Z3H z61#=goe&=0h{)6$_qu1^CeE@cwGlQXdWcnTWss{OoN#pSoWbcV;>Cb6LZ&xg=BFw? z9~ puHyZRfb^&Nc=vB<*LYbP2@c@i*Fo7F;~{VL3E$Ga`*m(z{|hfKp_l*w diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index bcc4d7c19b077660d92abf5053a2a6f4dba87837..d5d86e325f37f9a75fe575001e89f6d67233321c 100644 GIT binary patch delta 10674 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 delta 5183 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 T_>Pd=yJ0VE2V)Yh4U+!?aLFR- diff --git a/host/dxwndhostView.cpp b/host/dxwndhostView.cpp index 9a081e8..b03b12c 100644 --- a/host/dxwndhostView.cpp +++ b/host/dxwndhostView.cpp @@ -277,6 +277,13 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) case 2: t->flags2 |= SHOWHWCURSOR; break; } + switch(dlg->m_MouseClipper){ + case 0: break; + case 1: t->flags |= DISABLECLIPPING; break; + case 2: t->flags |= CLIPCURSOR; break; + case 3: t->flags |= CLIPCURSOR; t->flags8 |= CLIPLOCKED; break; + } + switch(dlg->m_OffendingMessages){ case 0: break; case 1: t->flags3 |= FILTERMESSAGES; break; @@ -394,6 +401,7 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_DisableDisableAltTab) t->flags7 |= DISABLEDISABLEALTTAB; if(dlg->m_NoImagehlp) t->flags5 |= NOIMAGEHLP; if(dlg->m_ForcesHEL) t->flags3 |= FORCESHEL; + if(dlg->m_NoHALDevice) t->flags8 |= NOHALDEVICE; if(dlg->m_MinimalCaps) t->flags3 |= MINIMALCAPS; if(dlg->m_SetZBufferBitDepths) t->flags6 |= SETZBUFFERBITDEPTHS; if(dlg->m_ForcesSwapEffect) t->flags6 |= FORCESWAPEFFECT; @@ -427,8 +435,8 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_IndependentRefresh) t->flags2 |= INDEPENDENTREFRESH; if(dlg->m_TextureFormat) t->flags5 |= TEXTUREFORMAT; if(dlg->m_FixWinFrame) t->flags |= FIXWINFRAME; - if(dlg->m_EnableClipping) t->flags |= ENABLECLIPPING; - if(dlg->m_CursorClipping) t->flags |= CLIPCURSOR; + //if(dlg->m_EnableClipping) t->flags |= DISABLECLIPPING; + //if(dlg->m_CursorClipping) t->flags |= CLIPCURSOR; if(dlg->m_VideoToSystemMem) t->flags |= SWITCHVIDEOMEMORY; if(dlg->m_FixTextOut) t->flags |= FIXTEXTOUT; if(dlg->m_HookGlide) t->flags4 |= HOOKGLIDE; @@ -514,6 +522,7 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_FixClipperArea) t->flags7 |= FIXCLIPPERAREA; if(dlg->m_SyncPalette) t->flags6 |= SYNCPALETTE; if(dlg->m_NoWinErrors) t->flags7 |= NOWINERRORS; + if(dlg->m_PretendVisible) t->flags8 |= PRETENDVISIBLE; if(dlg->m_AnalyticMode) t->flags3 |= ANALYTICMODE; if(dlg->m_ReplacePrivOps) t->flags5 |= REPLACEPRIVOPS; if(dlg->m_InitialRes) t->flags7 |= INITIALRES; @@ -603,6 +612,11 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) if(t->flags & HIDEHWCURSOR) dlg->m_MouseVisibility = 1; if(t->flags2 & SHOWHWCURSOR) dlg->m_MouseVisibility = 2; + dlg->m_MouseClipper = 0; + if(t->flags & DISABLECLIPPING) dlg->m_MouseClipper = 1; + if(t->flags & CLIPCURSOR) dlg->m_MouseClipper = 2; + if(t->flags8 & CLIPLOCKED) dlg->m_MouseClipper = 3; + dlg->m_OffendingMessages = 0; if(t->flags3 & FILTERMESSAGES) dlg->m_OffendingMessages = 1; if(t->flags3 & DEFAULTMESSAGES) dlg->m_OffendingMessages = 2; @@ -689,6 +703,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_DisableDisableAltTab = t->flags7 & DISABLEDISABLEALTTAB ? 1 : 0; dlg->m_NoImagehlp = t->flags5 & NOIMAGEHLP ? 1 : 0; dlg->m_ForcesHEL = t->flags3 & FORCESHEL ? 1 : 0; + dlg->m_NoHALDevice = t->flags8 & NOHALDEVICE ? 1 : 0; dlg->m_MinimalCaps = t->flags3 & MINIMALCAPS ? 1 : 0; dlg->m_SetZBufferBitDepths = t->flags6 & SETZBUFFERBITDEPTHS ? 1 : 0; dlg->m_ForcesSwapEffect = t->flags6 & FORCESWAPEFFECT ? 1 : 0; @@ -741,8 +756,8 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_IndependentRefresh = t->flags2 & INDEPENDENTREFRESH ? 1 : 0; dlg->m_TextureFormat = t->flags5 & TEXTUREFORMAT ? 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; + //dlg->m_EnableClipping = t->flags & DISABLECLIPPING ? 1 : 0; + //dlg->m_CursorClipping = t->flags & CLIPCURSOR ? 1 : 0; dlg->m_VideoToSystemMem = t->flags & SWITCHVIDEOMEMORY ? 1 : 0; dlg->m_FixTextOut = t->flags & FIXTEXTOUT ? 1 : 0; dlg->m_SharedDC = t->flags6 & SHAREDDC ? 1 : 0; @@ -826,6 +841,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_FixClipperArea = t->flags7 & FIXCLIPPERAREA ? 1 : 0; dlg->m_SyncPalette = t->flags6 & SYNCPALETTE ? 1 : 0; dlg->m_NoWinErrors = t->flags7 & NOWINERRORS ? 1 : 0; + dlg->m_PretendVisible = t->flags8 & PRETENDVISIBLE ? 1 : 0; dlg->m_AnalyticMode = t->flags3 & ANALYTICMODE ? 1 : 0; dlg->m_ReplacePrivOps = t->flags5 & REPLACEPRIVOPS ? 1 : 0; dlg->m_InitialRes = t->flags7 & INITIALRES ? 1 : 0; diff --git a/host/host.aps b/host/host.aps index 6a498d03e85fef7ab1de3ee32e169354191a7c48..66fef52595f861b316bf6437e9f6fc1353897bf9 100644 GIT binary patch delta 355 zcmbR8nQ6*rrU?p+MiUk7MJ>}RjN^-ol4CORi%Y3VY(ue^#RUGn4ts}yEp?T>o^m}+Bj1lESn2e(>n_$ z^LLg4R4ivU%=~+BR=^yX*daK}WUdNS$8tDJY936i7si@2Uk$3P6wZ1zAEqpJ0ZjH1 poaMd{CcA4P%z0XiVxgv7TciqQc`XL&-CVf1o}1BV^T&0Ixd6(NnQZ_7 delta 355 zcmbR8nQ6*rrU?p+h7%R-MJ?jXiYxPyV>0rKOTdI)Q8L5E(y9H7E|a+@EC-X*Cwoog z1G73eKbm-#1<1TO({D20bY&>3VY(ue^#RUGn4ts}yEp?T>o^m}+Bj1lESn2e(>n_$ z^LLg4R4ivU%=~+BR=^yX*daK}WUdNS$8tDJY936i7si@2Uk$3P6wZ1zAEqpJ0ZjH1 poaMd{CcA4P%z0XiVxgv7TciqQc`XL&-CVf1o}1Bd^T&0Ixd5>~nPdO} diff --git a/host/resource b/host/resource index 6a90a1db696067e3dd420f667819fbebd641c9ec..6babaaad765681c05956f4bf9c991507a19020bf 100644 GIT binary patch delta 213 zcmbO?uO%9XSnw%%cwz)&zt9r7Ro`j$ugFk}@gCm0vgA0Qz zLl}eSk!~#_Grr$`CTyuu^rh0W%Au`Q$($d6*otKZD!k zh3<-z56t43EW|D~`JWlvWCvw7kUmEL$p=|9L3$={(pP}#VD|yq>CE6gSy4+FET>ea qF!`J!n_vjg1%5zx0A0Zl48%^81H}}