From 8b109aa7109781873c9e6ca712367280c81d6c3c Mon Sep 17 00:00:00 2001 From: gho tik Date: Wed, 18 Sep 2013 12:38:18 -0400 Subject: [PATCH] v2_02_35_src Former-commit-id: 454030ad57769588f94804d3b02764a1ce5232c7 --- Include/dxwnd.h | 1 + build/dxwnd.dll | 4 +-- build/dxwnd.exe | 2 +- build/dxwnd.ini | 52 ++++++++++++++++++++++++++++++++++++++ build/readme-relnotes.txt | 5 ++++ dll/ddraw.cpp | 26 ++++++++++++++----- dll/dxhook.cpp | 26 ++++++++++++++++++- dll/dxwcore.cpp | 48 ++++++++++++++++++++++++----------- dll/dxwnd.cpp | 2 +- dll/dxwnd.vs2008.suo | Bin 207872 -> 227020 bytes host/Resource.h | 1 + host/TabProgram.cpp | 1 + host/TargetDlg.cpp | 1 + host/TargetDlg.h | 1 + host/dxwnd.ini | 5 ++++ host/dxwndhost.aps | Bin 163524 -> 163848 bytes host/dxwndhost.rc | 31 ++++++++++++----------- host/dxwndhost.vs2008.suo | Bin 308736 -> 317440 bytes host/dxwndhostView.cpp | 2 ++ 19 files changed, 166 insertions(+), 42 deletions(-) create mode 100644 build/dxwnd.ini create mode 100644 host/dxwnd.ini diff --git a/Include/dxwnd.h b/Include/dxwnd.h index 5efc826..19f592c 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -100,6 +100,7 @@ #define YUV2RGB 0x00040000 // Simulate YUV to RGB color conversion #define RGB2YUV 0x00080000 // Simulate RGB to YUV color conversion #define BUFFEREDIOFIX 0x00100000 // fix buffered IO incompatibilities between pre-Win98 and post-WinNT +#define FILTERMESSAGES 0x00200000 // eliminates window-related messages that might be offending for a fullscreen program // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general diff --git a/build/dxwnd.dll b/build/dxwnd.dll index c3b90e9..55ef062 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:996722440a942e7241f3ee9fc60589c3dee97d84b8487c8c319ebf8962da3105 -size 406016 +oid sha256:3f5743861a1292a4618e1a2ba0010db02dbcd6cf7af54405d41963ffc14594c0 +size 407040 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index 29a59a1..d840ab8 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ccd2bbf780cc35a20ef2cd852c3b1a5934717b1d477906c67b3d3a9ad156e19 +oid sha256:fdfc4f4a7a785e89e56cf5ea2ec95e1735e2ffe4a572a4036764839d377bf628 size 524800 diff --git a/build/dxwnd.ini b/build/dxwnd.ini new file mode 100644 index 0000000..aeb736c --- /dev/null +++ b/build/dxwnd.ini @@ -0,0 +1,52 @@ +[window] +posx=1435 +posy=210 +sizx=320 +sizy=420 +[target] +title0=Rayman 2 Demo +path0=D:\Games\Rayman2Demo\Rayman2Demo.exe +module0= +opengllib0= +ver0=1 +coord0=0 +flag0=402653217 +flagg0=1207959552 +flagh0=2097172 +flagi0=0 +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 +title1=Mirror's Edge +path1=D:\Games\Mirror's Edge\Binaries\MirrorsEdge.exe +module1= +opengllib1= +ver1=0 +coord1=0 +flag1=134217762 +flagg1=1207959552 +flagh1=2097172 +flagi1=0 +tflag1=512 +initx1=0 +inity1=0 +minx1=0 +miny1=0 +maxx1=0 +maxy1=0 +posx1=50 +posy1=50 +sizx1=800 +sizy1=600 +maxfps1=0 +initts1=6 diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index ae2bc15..dcc2b62 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -255,6 +255,11 @@ Added "Fix buffered IO after Win98" flag: this is meant to fix an incompatibilit As a result, games like "Dylan Dog Horror Luna Park" show IO errors while reading data from the CD. Unfortunately, this is not the only problem of this game, so Dylan Dog fans will have to wait further. Maybe some other programs suffer of this problem, and I will strongly appreciate if anyone finds some. +v2.02.35 +fixed BACKBUFFER surface attributes in direct (not emulated) mode: Rayman 2 playable again +added FILTERMESSAGES flag ("filter offending messages") to eliminate some problems to games not developed to work windowized (Rayman 2, Mirror's Edge ...) +fixed bug crashing the program when "keep aspect ratio" is selected with window size set to 0 + diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index d28f439..37b7074 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -372,7 +372,7 @@ static void DescribeSurface(LPDIRECTDRAWSURFACE lpdds, int dxversion, char *labe res=lpdds->GetSurfaceDesc((LPDDSURFACEDESC)&ddsd); } if(res)return; - OutTrace("Surface %s: ddsd=%x dxversion=%d ", lpdds, dxversion); + OutTrace("Surface %s: ddsd=%x dxversion=%d ", label, lpdds, dxversion); DumpSurfaceAttributes((LPDDSURFACEDESC)&ddsd, label, line); } @@ -2225,9 +2225,12 @@ static HRESULT BuildBackBufferDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateS HRESULT res; // create BackBuffer surface - ClearSurfaceDesc((void *)&ddsd, dxversion); - ddsd.dwFlags = DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH; - ddsd.ddsCaps.dwCaps=DDSCAPS_SYSTEMMEMORY; + // ClearSurfaceDesc((void *)&ddsd, dxversion); + memcpy(&ddsd, lpddsd, lpddsd->dwSize); + ddsd.dwFlags &= ~(DDSD_WIDTH|DDSD_HEIGHT|DDSD_BACKBUFFERCOUNT|DDSD_REFRESHRATE|DDSD_PIXELFORMAT); + ddsd.dwFlags |= (DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH); + ddsd.ddsCaps.dwCaps &= ~(DDSCAPS_PRIMARYSURFACE|DDSCAPS_FLIP|DDSCAPS_COMPLEX); + //ddsd.ddsCaps.dwCaps|=DDSCAPS_SYSTEMMEMORY; if (dxversion >= 4) ddsd.ddsCaps.dwCaps |= DDSCAPS_OFFSCREENPLAIN; ddsd.dwWidth = dxw.GetScreenWidth(); ddsd.dwHeight = dxw.GetScreenHeight(); @@ -2235,6 +2238,8 @@ static HRESULT BuildBackBufferDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateS LPDIRECTDRAWSURFACE lpPrim; DDSURFACEDESC2 prim; (*pGetGDISurface)(lpPrimaryDD, &lpPrim); + memset(&prim, 0, sizeof(DDSURFACEDESC2)); + prim.dwSize = (dxversion >= 4) ? sizeof(DDSURFACEDESC2) : sizeof(DDSURFACEDESC); res=lpPrim->GetSurfaceDesc((DDSURFACEDESC *)&prim); (*pReleaseS)(lpPrim); ddsd.dwWidth = prim.dwWidth; @@ -2244,9 +2249,16 @@ static HRESULT BuildBackBufferDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateS DumpSurfaceAttributes((LPDDSURFACEDESC)&ddsd, "[Backbuf]" , __LINE__); res=(*pCreateSurface)(lpdd, &ddsd, lplpdds, 0); if(res) { - OutTraceE("CreateSurface ERROR: res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); - if(res==DDERR_INVALIDPIXELFORMAT) DumpPixFmt(&ddsd); - return res; + if ((dxw.dwFlags1 & SWITCHVIDEOMEMORY) && (res==DDERR_OUTOFVIDEOMEMORY)){ + OutTraceD("CreateSurface: CreateSurface DDERR_OUTOFVIDEOMEMORY ERROR at %d, retry in SYSTEMMEMORY\n", __LINE__); + ddsd.ddsCaps.dwCaps &= ~DDSCAPS_VIDEOMEMORY; // try ... + ddsd.ddsCaps.dwCaps |= DDSCAPS_SYSTEMMEMORY; // try ... + res=(*pCreateSurface)(lpdd, &ddsd, lplpdds, 0); + } + if(res){ + OutTraceE("CreateSurface ERROR: res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + return res; + } } if (dxw.dwFlags3 & SAVECAPS) { ddsd.ddsCaps.dwCaps=DDSCAPS_VIDEOMEMORY; diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index 014885e..92f45fb 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -59,7 +59,7 @@ static char *Flag3Names[32]={ "SAVECAPS", "SINGLEPROCAFFINITY", "EMULATEREGISTRY", "CDROMDRIVETYPE", "NOWINDOWMOVE", "DISABLEHAL", "LOCKSYSCOLORS", "EMULATEDC", "FULLSCREENONLY", "FONTBYPASS", "YUV2RGB", "RGB2YUV", - "BUFFEREDIOFIX", "Flags3:22", "Flags3:23", "Flags3:24", + "BUFFEREDIOFIX", "FILTERMESSAGES", "Flags3:23", "Flags3:24", "Flags3:25", "Flags3:26", "Flags3:27", "Flags3:28", "Flags3:29", "Flags3:30", "Flags3:31", "Flags3:32", }; @@ -843,6 +843,28 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp } #endif + if(dxw.dwFlags3 & FILTERMESSAGES){ + LRESULT ret; + switch(message){ + case WM_NCCALCSIZE: + case WM_NCMOUSEMOVE: + case WM_NCLBUTTONDOWN: + case WM_NCLBUTTONUP: + case WM_NCLBUTTONDBLCLK: + case WM_NCRBUTTONDOWN: + case WM_NCRBUTTONUP: + case WM_NCRBUTTONDBLCLK: + case WM_NCMBUTTONDOWN: + case WM_NCMBUTTONUP: + case WM_NCMBUTTONDBLCLK: + //case WM_WINDOWPOSCHANGING: + //case WM_WINDOWPOSCHANGED: + OutTraceW("WindowProc[%x]: WinMsg=%x filtered message=%x(%s)\n", hwnd, message, ExplainWinMessage(message)); + ret=0; + return ret; + } + } + switch(message){ // v2.02.13: added WM_GETMINMAXINFO/WM_NCCALCSIZE interception - (see Actua Soccer 3 problems...) //case WM_NCDESTROY: @@ -1028,9 +1050,11 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp GetHookInfo()->CursorY=HIWORD(lparam); break; case WM_SETFOCUS: + OutTraceD("WindowProc: hwnd=%x GOT FOCUS\n", hwnd); if (dxw.dwFlags1 & ENABLECLIPPING) extClipCursor(lpClipRegion); break; case WM_KILLFOCUS: + OutTraceD("WindowProc: hwnd=%x LOST FOCUS\n", hwnd); if (dxw.dwFlags1 & CLIPCURSOR) dxw.EraseClipCursor(); if (dxw.dwFlags1 & ENABLECLIPPING) (*pClipCursor)(NULL); break; diff --git a/dll/dxwcore.cpp b/dll/dxwcore.cpp index 74c3782..46282f0 100644 --- a/dll/dxwcore.cpp +++ b/dll/dxwcore.cpp @@ -202,6 +202,12 @@ POINT dxwCore::FixCursorPos(POINT prev) // remember: rect from GetClientRect always start at 0,0! if(dxw.dwFlags1 & MODIFYMOUSE){ int w, h, b; // width, height and border + int iRatioX, iRatioY; + + // ratio is the configured one, unless the values are 0. Then, it's the standard 4:3 ratio. + iRatioX = iSizX ? iSizX : 4; + iRatioY = iSizY ? iSizY : 3; + if (!(*pGetClientRect)(hWnd, &rect)) { // v2.02.30: always use desktop win OutTraceD("GetClientRect ERROR %d at %d\n", GetLastError(),__LINE__); curr.x = curr.y = 0; @@ -210,13 +216,13 @@ POINT dxwCore::FixCursorPos(POINT prev) h = rect.bottom - rect.top; if (dxw.dwFlags2 & KEEPASPECTRATIO) { - if ((w * iSizY) > (h * iSizX)){ - b = (w - (h * iSizX / iSizY))/2; + if ((w * iRatioY) > (h * iRatioX)){ + b = (w - (h * iRatioX / iRatioY))/2; curr.x -= b; w -= 2*b; } else { - b = (h - (w * iSizY / iSizX))/2; + b = (h - (w * iRatioY / iRatioX))/2; curr.y -= b; h -= 2*b; } @@ -329,15 +335,21 @@ void dxwCore::SethWnd(HWND hwnd) void dxwCore::FixWorkarea(LPRECT workarea) { int w, h, b; // width, height and border + int iRatioX, iRatioY; + + // ratio is the configured one, unless the values are 0. Then, it's the standard 4:3 ratio. + iRatioX = iSizX ? iSizX : 4; + iRatioY = iSizY ? iSizY : 3; + w = workarea->right - workarea->left; h = workarea->bottom - workarea->top; - if ((w * iSizY) > (h * iSizX)){ - b = (w - (h * iSizX / iSizY))/2; + if ((w * iRatioY) > (h * iRatioX)){ + b = (w - (h * iRatioX / iRatioY))/2; workarea->left += b; workarea->right -= b; } else { - b = (h - (w * iSizY / iSizX))/2; + b = (h - (w * iRatioY / iRatioX))/2; workarea->top += b; workarea->bottom -= b; } @@ -349,23 +361,29 @@ RECT dxwCore::MapWindowRect(LPRECT lpRect) RECT RetRect; RECT ClientRect; int w, h, bx, by; // width, height and x,y borders + int iRatioX, iRatioY; + + // ratio is the configured one, unless the values are 0. Then, it's the standard 4:3 ratio. + iRatioX = iSizX ? iSizX : 4; + iRatioY = iSizY ? iSizY : 3; + if (!(*pGetClientRect)(hWnd, &ClientRect)){ OutTraceE("GetClientRect ERROR: err=%d hwnd=%x at %d\n", GetLastError(), hWnd, __LINE__); // v2.02.31: try.... ClientRect.top=ClientRect.left=0; - ClientRect.right=dxw.iSizX; - ClientRect.bottom=dxw.iSizY; + ClientRect.right=iRatioX; + ClientRect.bottom=iRatioY; } RetRect=ClientRect; bx = by = 0; if (dwFlags2 & KEEPASPECTRATIO){ w = RetRect.right - RetRect.left; h = RetRect.bottom - RetRect.top; - if ((w * iSizY) > (h * iSizX)){ - bx = (w - (h * iSizX / iSizY))/2; + if ((w * iRatioY) > (h * iRatioX)){ + bx = (w - (h * iRatioX / iRatioY))/2; } else { - by = (h - (w * iSizY / iSizX))/2; + by = (h - (w * iRatioY / iRatioX))/2; } OutTraceB("bx=%d by=%d\n", bx, by); } @@ -478,8 +496,8 @@ void dxwCore::UnmapClient(LPPOINT lppoint) (*pGetClientRect)(hWnd, &client); w = client.right ? client.right : iSizX; h = client.bottom ? client.bottom : iSizY; - lppoint->x = (lppoint->x * (int)dwScreenWidth) / w; - lppoint->y = (lppoint->y * (int)dwScreenHeight) / h; + if(w) lppoint->x = (lppoint->x * (int)dwScreenWidth) / w; + if(h) lppoint->y = (lppoint->y * (int)dwScreenHeight) / h; } void dxwCore::UnmapClient(int *nXDest, int *nYDest) @@ -489,8 +507,8 @@ void dxwCore::UnmapClient(int *nXDest, int *nYDest) (*pGetClientRect)(hWnd, &client); w = client.right ? client.right : iSizX; h = client.bottom ? client.bottom : iSizY; - *nXDest= *nXDest * (int)dwScreenWidth / w; - *nYDest= *nYDest * (int)dwScreenHeight / h; + if(w) *nXDest= *nXDest * (int)dwScreenWidth / w; + if(h) *nYDest= *nYDest * (int)dwScreenHeight / h; } void dxwCore::MapWindow(LPRECT rect) diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index 89dfac1..d180677 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -24,7 +24,7 @@ along with this program. If not, see . #include "dxwnd.h" #include "dxwcore.hpp" -#define VERSION "2.02.34" +#define VERSION "2.02.35" #define DDTHREADLOCK 1 diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index c09b79abee443986d77925dcaec942f9d0d1b314..9dad871508c362a0e6c024754ce885c7955f1f34 100644 GIT binary patch delta 18764 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 delta 5208 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 diff --git a/host/Resource.h b/host/Resource.h index e18d3b4..07e632e 100644 --- a/host/Resource.h +++ b/host/Resource.h @@ -169,6 +169,7 @@ #define IDC_RGB2YUV 1126 #define IDC_FIXD3DFRAME 1127 #define IDC_BUFFEREDIOFIX 1128 +#define IDC_FILTERMESSAGES 1129 #define ID_MODIFY 32771 #define ID_DELETE 32772 #define ID_ADD 32773 diff --git a/host/TabProgram.cpp b/host/TabProgram.cpp index 90b34ed..71dcc11 100644 --- a/host/TabProgram.cpp +++ b/host/TabProgram.cpp @@ -36,6 +36,7 @@ void CTabProgram::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_HOOKDLLS, cTarget->m_HookDLLs); DDX_Check(pDX, IDC_EMULATEREGISTRY, cTarget->m_EmulateRegistry); DDX_Check(pDX, IDC_FULLSCREENONLY, cTarget->m_FullScreenOnly); + DDX_Check(pDX, IDC_FILTERMESSAGES, cTarget->m_FilterMessages); DDX_Check(pDX, IDC_HOOKCHILDWIN, cTarget->m_HookChildWin); DDX_Check(pDX, IDC_HOOKENABLED, cTarget->m_HookEnabled); DDX_Check(pDX, IDC_NOBANNER, cTarget->m_NoBanner); diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 6357e12..80eeeed 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -51,6 +51,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_HookEnabled = TRUE; // default true !! m_EmulateRegistry = FALSE; // default true !! m_FullScreenOnly = FALSE; + m_FilterMessages = FALSE; m_NoBanner = FALSE; m_StartDebug = FALSE; m_FilePath = _T(""); diff --git a/host/TargetDlg.h b/host/TargetDlg.h index 103d7d4..a296bd2 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -45,6 +45,7 @@ public: BOOL m_HookDLLs; BOOL m_EmulateRegistry; BOOL m_FullScreenOnly; + BOOL m_FilterMessages; BOOL m_NoBanner; BOOL m_StartDebug; BOOL m_HookEnabled; diff --git a/host/dxwnd.ini b/host/dxwnd.ini new file mode 100644 index 0000000..f677540 --- /dev/null +++ b/host/dxwnd.ini @@ -0,0 +1,5 @@ +[window] +posx=1330 +posy=241 +sizx=320 +sizy=200 diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index 1e474f397fca8d90554c6698a914f6c2916c0721..a6286a82bb491d7d174825802d895ef679c7101d 100644 GIT binary patch delta 2506 zcmZ`)3s98T6+ZVatO;%q5LjFuK5HEk$+8ex8XLfUL=afAEb=JHM#~!mly|f-OzIG1 zoW#rt+?fnXP180GHAecURg4;FNfb;ZM8`~cNZO<`9n46~XwXK7p8M|)btY4GhVz~8 z`|fw{{`c}Tboc&_wt$27u)|FpN`6*sZ_TeMDQ>oS%@%LMBlt?b(Lc@&uuk+f@|AtB z9yQ=w`-7F-2Zq`6Hm@_iz@A`ty3?{85Fc+zf?j}hyUn{L&*^ly9rkn=IizBRKS{-# z<+7(c3n9UhloSs~RLbtiba)&pWr258D$QG~sZ?4CcqiUPr zl*(qh9`|lfcjT*NGMru{7dLA)o8gQ~(}P$vTg~zC0S*KijRUHtPL?~QAgeh62Ju=@ zIR6{qp{}UNzpECHJFU>`cF-2o$7wZNVF+-#E1Z7_INuc({*h|SP228}X)-9@3}>+| zI5Pa4D%lJ2v+cB9RkFY^_60|=5i*2gPq%@c$JyYBh>umPd`{k+w7gtj&L;Q-SB4nb z1-#xJ#zrwK#Ay0dHL4p=&&qMRJu=o}hB3fY5%Jh(s+>dTu^?ICqL0%K!D>l>O90-q zoLp~$-D`7Yd)%(fT!@Epz_Hyid;+jTtmKn`v+Xf#3eBxi?27Wl@{|q6y-g~d=O{1zp0{+w7$0Bs)p(d3pMmr;Z_aViZ*LV6b-XSlpVi#o!w`1WP2QL z*oNN~uhBd6=+5L~)RUz?BU^#5J^77>A5?z()IYh_JcY0A_)f!h_=laRHQc7``DF;B z{k~M94P)K-RY|N*<~R8APkztXz#-Dr2-<13p{1FyjI2uUxP3 zfq1L(CmLRco2oR7vsFuRZ&jpE!Hv~R@zi2hP2GPMI<_3+suvPMan~XaQ+lf#^|-3u zPLIE|{w+V&kN3B%Wv7*mEh!=LorR+vVFp`aS~k6p%t^pNIk`VXXQI1DrN>vb>h2U{QJDtUqrqJ)Csbs91(5L(k>SygUP4Lj#?It-YLL+hPXrFE`@W9zLzTN|x1K*c>X zS}AEKG->(ulvF}YI=JZf4q_K}kgv{72J3Hb-#&i(HdA)Dw-N<^c$ z-o&GEWH`h>oZ9!)R*X0Ca1Q73=x~$>Y$m+w6Ri2zBvPBXAFmh{&SoCNb3Vm4Mopqk za@H}?F1dj*3>-6w0m&IIV$o+N@g-q)OZ=;uujGd=;kAnTq zjVY6OTH>C6h_V(+x^xvU%$UR>$=PS|v1^nn@z8ZV^DU)Hobx?q+%$E!5o=?e*l?eikZKS2P_j?VNU^R< z1nj12{iBGL6^@GxStHJgDp_+bh)$}y;%O%4r?kaie=SC&`0Y(GBgJp@T)gbheaVdm z5xa-PwrG(d>xs3ZO4gx7(MeTzz`@1CcFpYBE=Hs{kR)bg-IpfR-d;)7DY zV#xs_cTuyfj2xS(iKq}&L7oihY5SChMvB6|Lx?>)h5LI;CSn6Bp+j_=^7mGt393 delta 2106 zcmYk63s6*57{|{!$f|${i^@Y@sVOSavP-Zkg*)CwS73Kt76Bh^8V|u*3lZ>@&WNQ> zlEX*yIa4!HHck;Cc70H4<|9kg6(9NFVWd_*3LVGSq-E#ay`Zx*_xJz)-~XQP+;ew# z-DBnU1HWshfUFKY|%Pq*Yr1}WWP$}-DY zgHF;_t}L5mNzW$+eM(9qX&}TRxg>L@*=bfRJ^4zpOp>J32GXe1<~)0*&Ed@?k*^ic zkz-XdDWplM?Y)MPZ1Wn=%$h)&g*V-0e>%;mBip?}b(}GgeB(8qnP=1!Sutl?%(S_9#6*>*>)Lbvm+FvH3wvb&0+3Ta3CyvhS(e_h?3)o_w$P%5I#d zY_S`o&Or7t*$ z(}s^}Q@VEk8hbl>a?0!VuB11R({M{WlwBY&c6l_rNFZu+3~h(>kQmwl>#8DYr@SU4 zElob`h-1_Qe>>Mx<;yMC&F394_)V8q|d>D z`zauuU*u=+Pjbj-B#=CT->!%BCxmgwBA-7W%J|G%7jtPnOl{Al>)@02sk9FMY@g&? zOroh1#&nG5iR=yo@4eSCg}w#H__ZDecTVCuqq7qJ>y+SNXENOWqn~dBsUu~uq{~7Z zVSiT|zdq@j06|y!!Q`${a`mO4Q2wgJ?+lll?@5fEV{rdL0yu9O>RAS52Y6i(++^i(iC zjYL|>40M4&6!f%eHKQ3J>yBe-C5vWl9T2*y3e22P*0Cj^fzWl=sYjN*PD`m!c& z6d_kNn6Qke;>V*^u-t%d!RBPF5v-bmO@h@<^ay6o!yduBG7MbK8M_7(1mo+_DtPyE zbPMj?i8X>}k6@EvzzOsShF!uQ!TKv0xPr6sE+zu$_6U~yV&FTR4~Jud zV5$MFf)@(WEf`mXHG*f0ut`u?j2^+}V(bwNE5X23oKh(!2o}7FR>4R&x&=48u}0zB U*d&-*h8|9ztBV;9Uc$ov2d@Q@7XSbN diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index 218996b..c027695 100644 --- a/host/dxwndhost.rc +++ b/host/dxwndhost.rc @@ -246,8 +246,8 @@ BEGIN EDITTEXT IDC_TITLE,7,22,162,14,ES_AUTOHSCROLL LTEXT "Name:",IDC_STATIC,7,9,77,9 EDITTEXT IDC_FILE,7,54,162,14,ES_AUTOHSCROLL - EDITTEXT IDC_MODULE,7,85,162,14,ES_AUTOHSCROLL - LTEXT "Additional Hooked Modules:",IDC_STATIC,7,73,125,9 + EDITTEXT IDC_MODULE,188,23,105,14,ES_AUTOHSCROLL | NOT WS_VISIBLE + LTEXT "Additional Hooked Modules:",IDC_STATIC,168,7,125,9,NOT WS_VISIBLE LTEXT "Path:",IDC_STATIC,7,42,77,9 PUSHBUTTON "...",IDC_OPEN,176,53,13,16 LTEXT "Window initial position && size",IDC_STATIC,18,198,115,9 @@ -259,23 +259,24 @@ BEGIN EDITTEXT IDC_POSY,55,210,19,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT EDITTEXT IDC_SIZX,85,210,19,14,ES_AUTOHSCROLL,WS_EX_RIGHT EDITTEXT IDC_SIZY,113,210,19,14,ES_AUTOHSCROLL,WS_EX_RIGHT - CONTROL "Do not notify on task switch",IDC_UNNOTIFY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,124,124,10 - CONTROL "Optimize CPU (DirectX1 - 7)",IDC_SAVELOAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,160,109,10 - CONTROL "Intercept Alt-F4 key",IDC_HANDLEALTF4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,136,109,10 - CONTROL "Run in Window",IDC_WINDOWIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,148,124,10 - GROUPBOX "Generic",IDC_STATIC,7,103,286,84 - CONTROL "No banner",IDC_NOBANNER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,124,108,10 - CONTROL "use DLL Injection",IDC_STARTDEBUG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,136,100,10 - CONTROL "Remap Client Rect",IDC_CLIENTREMAPPING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,112,115,10 - CONTROL "Hook all DLLs",IDC_HOOKDLLS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,160,124,10 - CONTROL "Hook enabled",IDC_HOOKENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,112,124,10 + CONTROL "Do not notify on task switch",IDC_UNNOTIFY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,102,124,10 + CONTROL "Optimize CPU (DirectX1 - 7)",IDC_SAVELOAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,138,109,10 + CONTROL "Intercept Alt-F4 key",IDC_HANDLEALTF4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,114,109,10 + CONTROL "Run in Window",IDC_WINDOWIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,126,124,10 + GROUPBOX "Generic",IDC_STATIC,7,77,286,106 + CONTROL "No banner",IDC_NOBANNER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,102,108,10 + CONTROL "use DLL Injection",IDC_STARTDEBUG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,114,100,10 + CONTROL "Remap Client Rect",IDC_CLIENTREMAPPING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,90,115,10 + CONTROL "Hook all DLLs",IDC_HOOKDLLS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,138,124,10 + CONTROL "Hook enabled",IDC_HOOKENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,90,124,10 CONTROL "X,Y coordinates",IDC_COORDINATES,"Button",BS_AUTORADIOBUTTON | WS_GROUP,170,190,95,10 CONTROL "Desktop center",IDC_DESKTOPCENTER,"Button",BS_AUTORADIOBUTTON,170,200,95,10 CONTROL "Desktop work area",IDC_DESKTOPWORKAREA,"Button",BS_AUTORADIOBUTTON,170,210,95,10 CONTROL "Desktop",IDC_DESKTOPFULL,"Button",BS_AUTORADIOBUTTON,170,220,95,10 - CONTROL "Hook child WindowProc",IDC_HOOKCHILDWIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,148,114,10 - CONTROL "Emulate Registry",IDC_EMULATEREGISTRY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,172,124,10 - CONTROL "Fullscreen only",IDC_FULLSCREENONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,172,114,10 + CONTROL "Hook child WindowProc",IDC_HOOKCHILDWIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,126,104,10 + CONTROL "Emulate Registry",IDC_EMULATEREGISTRY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,150,124,10 + CONTROL "Fullscreen only",IDC_FULLSCREENONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,150,114,10 + CONTROL "Filter offending messages",IDC_FILTERMESSAGES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,162,114,10 END IDD_TAB_LOG DIALOGEX 0, 0, 300, 240 diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index f751908ec45944359137e8c40be0537560e7de95..eeb1246baaaeadbaf28f754458c56888cbe9184a 100644 GIT binary patch delta 11079 zcmb_i3wRV&mhN-A(j+8?CWIJblTrn{ zkQ;MkRBTywof%g_9`S9!Rh}|Y@c}Z}GU|?wgK-xfbb#!CZry}@&g}Q$?$-C6RMp>A z_j%5L9+lWP8L`zpR@eIJN`0MwIL+4o=6@s5GUK{C)~{Q8y|a^4rdm5P@IuPC%aqTz zHrr>8fG@*GISpgqO(Eu9h=jdo}J%i5oM1?DU`+Sb;lQhYu+ zJ2)pn0+22i6TGXvPRIEKNKbno#JM}fh4ipkHO^V~IveMcAvyLwgmZ65E+o&x7PLtR zVeh7`5a%LDAA8>y=YEi4$SIKikO7bq$f=N0$UsOLWDukrG8j?;83K{EPs4eby~b_Z z>7B0I+SVSuPZ7PLzdKaK!7h}=!80kuAODH^ax~^-bL&TxNj^k8;hmRG{P2OK60CVrLOgxdlU7 z_BYj)R}WQ=o|T0cGtq=Q)yd(O(d4K>J{{aXgRi=lTwU8zrkyQ0tCl&s`45>o@@ZFH z+7jXDT2(@++`Sb|yI;Aw`II1i%kN^qI{tMT{Q*5qrm=dXJ4D)bxcLaB>-bKGZ%ie3 zEj2-F8bc?ss3JBAvcBP0wj|X}mW&_cZFyJ1(PiHA_}+ zjGpwKs~gt29KFq7svaO+x@V+r*)>MTdwZ)jwqsVs+&q_(b?L4&z3BbRx!j?!j_%Fk z*Y;D$@%durU5@Od(5e?z7jINCZ℘cKwPh9odZ)&ZY*c>=;b3Ub$7;Os464T`EE8 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 delta 7525 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 t->flags2 |= NOBANNER; if(dlg->m_StartDebug) t->flags2 |= STARTDEBUG; if(dlg->m_FullScreenOnly) t->flags3 |= FULLSCREENONLY; + if(dlg->m_FilterMessages) t->flags3 |= FILTERMESSAGES; t->flags &= ~EMULATEFLAGS; switch(dlg->m_DxEmulationMode){ @@ -243,6 +244,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_NoBanner = t->flags2 & NOBANNER ? 1 : 0; dlg->m_StartDebug = t->flags2 & STARTDEBUG ? 1 : 0; dlg->m_FullScreenOnly = t->flags3 & FULLSCREENONLY ? 1 : 0; + dlg->m_FilterMessages = t->flags3 & FILTERMESSAGES ? 1 : 0; dlg->m_DxEmulationMode = 0; if(t->flags & EMULATEBUFFER) dlg->m_DxEmulationMode = 1;