From 45dd6cab93bdb91290f2f5af9db7262521b620c7 Mon Sep 17 00:00:00 2001 From: gho tik Date: Mon, 27 Jul 2015 12:41:11 -0400 Subject: [PATCH] v2_03_31_src Former-commit-id: b12d111cc7010081998adb437ffb88864664d076 --- Include/dxwnd.h | 6 ++- build/dxwnd.dll | 4 +- build/dxwnd.exe | 2 +- build/exports/Adrenix 3D.dxw | 6 ++- build/exports/Adrenix.dxw | 31 ++++++++++++ build/exports/Dark Disciples 1.dxw | 31 ++++++++++++ build/exports/Dark Disciples 2.dxw | 31 ++++++++++++ build/exports/Evil Dead Hail to the King.dxw | 5 +- build/exports/Galapagos.dxw | 8 ++-- build/exports/Ground Control.dxw | 31 ++++++++++++ .../Microsoft Motocross Madness 2 (emu).dxw | 31 ++++++++++++ .../Panzer General 3 Scorched Earth.dxw | 5 +- .../Star Wars Episode I Racer (emulated).dxw | 7 ++- build/exports/Syberia.dxw | 17 ++++--- build/exports/Talis Gear.dxw | 11 ++++- build/exports/Thorgal.dxw | 2 +- build/readme-relnotes.txt | 7 ++- dll/ddraw.cpp | 10 ++-- dll/dxhook.cpp | 6 +-- dll/dxwnd.cpp | 2 +- dll/dxwnd.vs2008.suo | Bin 377856 -> 377856 bytes dll/hd3d7.cpp | 44 +++++++++--------- dll/user32.cpp | 2 +- host/TabDebug.cpp | 2 +- host/TabDirect3D.cpp | 3 +- host/TargetDlg.cpp | 4 +- host/TargetDlg.h | 4 +- host/dxwndhost.aps | Bin 158408 -> 158600 bytes host/dxwndhost.rc | Bin 101880 -> 102180 bytes host/dxwndhost.vs2008.suo | Bin 247296 -> 250880 bytes host/dxwndhostView.cpp | 8 ++-- host/resource | Bin 35698 -> 35882 bytes 32 files changed, 252 insertions(+), 68 deletions(-) create mode 100644 build/exports/Adrenix.dxw create mode 100644 build/exports/Dark Disciples 1.dxw create mode 100644 build/exports/Dark Disciples 2.dxw create mode 100644 build/exports/Ground Control.dxw create mode 100644 build/exports/Microsoft Motocross Madness 2 (emu).dxw diff --git a/Include/dxwnd.h b/Include/dxwnd.h index 96310b8..db28c81 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -150,9 +150,9 @@ #define DIABLOTWEAK 0x00000001 // ... ??? ... #define CLEARTARGET 0x00000002 // forces a D3D clean on target surface upon each BeginScene invocation #define NOWINPOSCHANGES 0x00000004 // suppress WM_WINDOWPOSCHANGING/CHANGED messages (RollerCoaster Tycoon...) -#define NOSYSTEMMEMORY 0x00000008 // forces suppression of DDSCAPS_SYSTEMMEMORY capability on surfaces +//#define NOSYSTEMMEMORY 0x00000008 // forces suppression of DDSCAPS_SYSTEMMEMORY capability on surfaces #define NOBLT 0x00000010 // suppress blit to primary surface -#define NOSYSTEMEMULATED 0x00000020 // forces suppression of DDSCAPS_SYSTEMMEMORY capability on emulated front & backbuffer surfaces +//#define NOSYSTEMEMULATED 0x00000020 // forces suppression of DDSCAPS_SYSTEMMEMORY capability on emulated front & backbuffer surfaces #define DOFASTBLT 0x00000040 // use FastBlt to primary surface #define AEROBOOST 0x00000080 // Optimize for AERO environment: does all stretching in sysmemory surfaces #define QUARTERBLT 0x00000100 // Consider a screen update (to count or limit FPS) only blt operations bigger than a quarter of the whole primary surface @@ -193,6 +193,8 @@ #define POWER2WIDTH 0x00000200 // Fixes ..... #define HIDETASKBAR 0x00000400 // Hides taskbar & start menu during game execution #define ACTIVATEAPP 0x00000800 // sends WM_ACTIVATEAPP message after every WM_WINPOSCHANGED message +#define NOSYSMEMPRIMARY 0x00001000 // forces suppression of DDSCAPS_SYSTEMMEMORY capability on emulated primary surface +#define NOSYSMEMBACKBUF 0x00002000 // forces suppression of DDSCAPS_SYSTEMMEMORY capability on emulated backbuffer surface // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general diff --git a/build/dxwnd.dll b/build/dxwnd.dll index 8208155..252a75e 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:84e59408df785c15d6c06b28a9c1af651f16cfc666ceedb196b4d960aa0e4e00 -size 578560 +oid sha256:549536858a03ba659d55078a89d987c435aed391c5444cfe6421f23cf4c76cc6 +size 578048 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index 6ec8511..7eaa09e 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5de557160daabc9b2605f05b2c0988c129df7a8a03f8505db3a9c60269e9ee92 +oid sha256:ec489528e5cb8f0bdcdd15b49650a55d6367c38520bc1724834cebef642c9d73 size 541696 diff --git a/build/exports/Adrenix 3D.dxw b/build/exports/Adrenix 3D.dxw index e84b1e1..8c6b0c0 100644 --- a/build/exports/Adrenix 3D.dxw +++ b/build/exports/Adrenix 3D.dxw @@ -8,10 +8,10 @@ notes0= ver0=0 coord0=0 flag0=134234150 -flagg0=1207959552 +flagg0=1208025088 flagh0=20 flagi0=138412036 -flagj0=4224 +flagj0=5248 tflag0=0 initx0=0 inity0=0 @@ -27,3 +27,5 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Adrenix.dxw b/build/exports/Adrenix.dxw new file mode 100644 index 0000000..ba6f623 --- /dev/null +++ b/build/exports/Adrenix.dxw @@ -0,0 +1,31 @@ +[target] +title0=Adrenix +path0=D:\Games\Adrenix\Adrenix.exe +launchpath0= +module0= +opengllib0= +notes0= +ver0=0 +coord0=0 +flag0=136314918 +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/Dark Disciples 1.dxw b/build/exports/Dark Disciples 1.dxw new file mode 100644 index 0000000..abaea97 --- /dev/null +++ b/build/exports/Dark Disciples 1.dxw @@ -0,0 +1,31 @@ +[target] +title0=Dark Disciples 1 +path0=D:\Games\Dark Disciples 1\DarkDisciples.exe +launchpath0= +module0= +opengllib0= +notes0= +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=134217732 +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/Dark Disciples 2.dxw b/build/exports/Dark Disciples 2.dxw new file mode 100644 index 0000000..e4102c2 --- /dev/null +++ b/build/exports/Dark Disciples 2.dxw @@ -0,0 +1,31 @@ +[target] +title0=Dark Disciples 2 +path0=D:\Games\Dark Disciples 2\DarkDisciples2.exe +launchpath0= +module0= +opengllib0= +notes0= +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=134217732 +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/Evil Dead Hail to the King.dxw b/build/exports/Evil Dead Hail to the King.dxw index 226a75f..12a5eab 100644 --- a/build/exports/Evil Dead Hail to the King.dxw +++ b/build/exports/Evil Dead Hail to the King.dxw @@ -10,7 +10,7 @@ flag0=134217762 flagg0=1207959552 flagh0=20 flagi0=138412036 -flagj0=168 +flagj0=128 tflag0=0 initx0=0 inity0=0 @@ -26,3 +26,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +notes0= +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Galapagos.dxw b/build/exports/Galapagos.dxw index 7bddc2e..481edbe 100644 --- a/build/exports/Galapagos.dxw +++ b/build/exports/Galapagos.dxw @@ -7,12 +7,12 @@ opengllib0= notes0= ver0=7 coord0=0 -flag0=746602528 -flagg0=1209008128 +flag0=681590816 +flagg0=1207959552 flagh0=16 flagi0=138412036 -flagj0=142610600 -tflag0=6402 +flagj0=142606464 +tflag0=0 initx0=0 inity0=0 minx0=0 diff --git a/build/exports/Ground Control.dxw b/build/exports/Ground Control.dxw new file mode 100644 index 0000000..1748f77 --- /dev/null +++ b/build/exports/Ground Control.dxw @@ -0,0 +1,31 @@ +[target] +title0=Ground Control +path0=D:\Games\GC\gc.exe +launchpath0= +module0= +opengllib0= +notes0= +ver0=0 +coord0=0 +flag0=681574434 +flagg0=1744830464 +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/Microsoft Motocross Madness 2 (emu).dxw b/build/exports/Microsoft Motocross Madness 2 (emu).dxw new file mode 100644 index 0000000..eb34a34 --- /dev/null +++ b/build/exports/Microsoft Motocross Madness 2 (emu).dxw @@ -0,0 +1,31 @@ +[target] +title0=Microsoft Motocross Madness 2 (emu) +path0=D:\Games\Motocross Madness 2\mcm2.exe +launchpath0= +module0= +opengllib0= +notes0=Run the game in emulation mode\nDoesn't work on all video cards, and works only chosing the accelerated video card, \nnot the software mode.\nIn case of troubles, it may be necessary to delete the registry entries to force a \nnew clean configuration. +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=138412036 +flagj0=4224 +flagk0=8192 +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/Panzer General 3 Scorched Earth.dxw b/build/exports/Panzer General 3 Scorched Earth.dxw index 8a17e47..b86a2e7 100644 --- a/build/exports/Panzer General 3 Scorched Earth.dxw +++ b/build/exports/Panzer General 3 Scorched Earth.dxw @@ -10,7 +10,7 @@ flag0=671088674 flagg0=1207975936 flagh0=2097172 flagi0=138412036 -flagj0=8328 +flagj0=8320 tflag0=0 initx0=0 inity0=0 @@ -26,3 +26,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +notes0= +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Star Wars Episode I Racer (emulated).dxw b/build/exports/Star Wars Episode I Racer (emulated).dxw index ca8f2fd..f78a696 100644 --- a/build/exports/Star Wars Episode I Racer (emulated).dxw +++ b/build/exports/Star Wars Episode I Racer (emulated).dxw @@ -8,9 +8,9 @@ ver0=0 coord0=0 flag0=679493671 flagg0=1210056720 -flagh0=8212 +flagh0=20 flagi0=2097172 -flagj0=136 +flagj0=128 tflag0=0 initx0=0 inity0=0 @@ -26,3 +26,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=0 +notes0= +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Syberia.dxw b/build/exports/Syberia.dxw index b27650c..a2c00c4 100644 --- a/build/exports/Syberia.dxw +++ b/build/exports/Syberia.dxw @@ -1,15 +1,15 @@ [target] title0=Syberia path0=D:\Games\Syberia\Syberia.exe -module0=Syberia ck2_3d ck2 +module0= opengllib0= ver0=0 -coord0=2 -flag0=1610694673 -flagg0=1207959576 +coord0=0 +flag0=1610694675 +flagg0=1207959552 flagh0=20 -flagi0=4 -tflag0=6418 +flagi0=4194308 +tflag0=0 initx0=300 inity0=300 minx0=0 @@ -24,3 +24,8 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +launchpath0= +notes0= +flagj0=128 +flagk0=4096 +swapeffect0=0 diff --git a/build/exports/Talis Gear.dxw b/build/exports/Talis Gear.dxw index bc14a14..9050248 100644 --- a/build/exports/Talis Gear.dxw +++ b/build/exports/Talis Gear.dxw @@ -5,10 +5,10 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=134217760 +flag0=134217762 flagg0=1207959552 flagh0=20 -flagi0=0 +flagi0=4194304 tflag0=0 initx0=0 inity0=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/Thorgal.dxw b/build/exports/Thorgal.dxw index b6d50cd..9201a0e 100644 --- a/build/exports/Thorgal.dxw +++ b/build/exports/Thorgal.dxw @@ -10,7 +10,7 @@ flag0=136314915 flagg0=1242038528 flagh0=65552 flagi0=136314885 -flagj0=136 +flagj0=128 tflag0=0 initx0=0 inity0=0 diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index 39d593b..7abdb11 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -855,4 +855,9 @@ add: "hide taskbar" option. A little experimental, so far. If the game crashes, v2.03.30: fix: reset for flipped DC retrieved from ddraw interface after ddraw creation. Fixes "Powerslide". add: added "Send WM_ACTIVATEAPP message" flag: fixes "Championship Manager 03 04" mouse and "Thorgal" lock -fix: FillRect hooker. Good for "Premier Manager 98" and "Premier Manager 97". \ No newline at end of file +fix: FillRect hooker. Good for "Premier Manager 98" and "Premier Manager 97". +fix: revised the DDSCAPS_SYSTEMMEMORY suppression, now separated for primary & backbuffer surfaces + +v2.03.31: +fix: handling of "No SYSTEMMEMORY on BackBuffer" flag for no-emulation mode: necessary to run "Microsoft Motocross Madness 2" in this mode. +fix: allowing hot patching to GetCursorPos() user32.dll call. This allows correct mouse control with obfuscated exes, like the chinese RPG "Paladin 3". diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index e20ff63..16daaf0 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -2203,7 +2203,7 @@ static HRESULT BuildPrimaryEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf // DDSCAPS_OFFSCREENPLAIN seems required to support the palette in memory surfaces ddsd.ddsCaps.dwCaps |= (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) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; + if(dxw.dwFlags6 & NOSYSMEMPRIMARY) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; extern BOOL bInCreateDevice; //if (bInCreateDevice) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; @@ -2249,7 +2249,7 @@ static HRESULT BuildPrimaryEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf dwBackBufferCaps = (DDSCAPS_OFFSCREENPLAIN|DDSCAPS_SYSTEMMEMORY); // on WinXP Fifa 99 doesn't like DDSCAPS_SYSTEMMEMORY cap, so better to leave a way to unset it.... // this is important to avoid that certain D3D operations will abort - see "Forsaken" problem - if(dxw.dwFlags5 & NOSYSTEMEMULATED) dwBackBufferCaps = DDSCAPS_OFFSCREENPLAIN; + if(dxw.dwFlags6 & NOSYSMEMBACKBUF) dwBackBufferCaps = DDSCAPS_OFFSCREENPLAIN; if(dxw.dwFlags5 & GDIMODE) return DD_OK; @@ -2393,7 +2393,7 @@ static HRESULT BuildBackBufferEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateS ddsd.ddsCaps.dwCaps |= (DDSCAPS_SYSTEMMEMORY|DDSCAPS_OFFSCREENPLAIN); if(ddsd.ddsCaps.dwCaps & DDSCAPS_3DDEVICE) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; // necessary: Martian Gotic crashes otherwise // on WinXP Fifa 99 doesn't like DDSCAPS_SYSTEMMEMORY cap, so better to leave a way to unset it.... - if(dxw.dwFlags5 & NOSYSTEMMEMORY) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; + if(dxw.dwFlags6 & NOSYSMEMBACKBUF) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; ddsd.dwWidth = dxw.GetScreenWidth(); ddsd.dwHeight = dxw.GetScreenHeight(); GetPixFmt(&ddsd); @@ -2431,6 +2431,7 @@ static HRESULT BuildBackBufferDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateS else ddsd.ddsCaps.dwCaps |= DDSCAPS_SYSTEMMEMORY; if (dxversion >= 4) ddsd.ddsCaps.dwCaps |= DDSCAPS_OFFSCREENPLAIN; + if(dxw.dwFlags6 & NOSYSMEMBACKBUF) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; ddsd.dwWidth = dxw.GetScreenWidth(); ddsd.dwHeight = dxw.GetScreenHeight(); if (dxw.dwFlags2 & BACKBUFATTACH) { @@ -2480,8 +2481,6 @@ static HRESULT BuildGenericEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf // with the same type, so that assuming an identical lPitch and memcopy-ing from one buffer to the // other is a legitimate operation. if(ddsd.ddsCaps.dwCaps & DDSCAPS_ZBUFFER) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; // v2.03.03 !! - // on WinXP Fifa 99 doesn't like DDSCAPS_SYSTEMMEMORY cap, so better to leave a way to unset it.... - if(dxw.dwFlags5 & NOSYSTEMMEMORY) ddsd.ddsCaps.dwCaps &= ~DDSCAPS_SYSTEMMEMORY; if(dxw.dwFlags6 & POWER2WIDTH){ // v2.03.28: POWER2WIDTH to fix "Midtown Madness" in surface emulation mode if(((ddsd.dwFlags & (DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH)) == (DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH)) && @@ -3184,7 +3183,6 @@ HRESULT WINAPI extFlip(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE lpddssrc, if (res) OutTraceDW("Flip: GetSurfaceDesc res=%x at %d\n",res, __LINE__); // replace these CAPS (good for seven kingdoms II) with same as lpdds surface - //ddsc.dwCaps=DDSCAPS_OFFSCREENPLAIN+DDSCAPS_SYSTEMMEMORY; ddsc.dwCaps=sd.ddsCaps.dwCaps; res=lpdds->GetAttachedSurface(&ddsc, &lpddsAttached); diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index d7b0546..3fe7131 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -94,8 +94,8 @@ static char *Flag4Names[32]={ }; static char *Flag5Names[32]={ - "DIABLOTWEAK", "CLEARTARGET", "NOWINPOSCHANGES", "NOSYSTEMMEMORY", - "NOBLT", "NOSYSTEMEMULATED", "DOFASTBLT", "AEROBOOST", + "DIABLOTWEAK", "CLEARTARGET", "NOWINPOSCHANGES", "--NOSYSTEMMEMORY--", + "NOBLT", "--NOSYSTEMEMULATED--", "DOFASTBLT", "AEROBOOST", "QUARTERBLT", "NOIMAGEHLP", "BILINEARFILTER", "REPLACEPRIVOPS", "REMAPMCI", "TEXTUREHIGHLIGHT", "TEXTUREDUMP", "TEXTUREHACK", "TEXTURETRANSP", "NORMALIZEPERFCOUNT", "HYBRIDMODE", "GDICOLORCONV", @@ -108,7 +108,7 @@ static char *Flag6Names[32]={ "FORCESWAPEFFECT", "LEGACYALLOC", "NODESTROYWINDOW", "NOMOVIES", "SUPPRESSRELEASE", "FIXMOVIESCOLOR", "WOW64REGISTRY", "DISABLEMAXWINMODE", "FIXPITCH", "POWER2WIDTH", "HIDETASKBAR", "ACTIVATEAPP", - "", "", "", "", + "NOSYSMEMPRIMARY", "NOSYSMEMBACKBUF", "", "", "", "", "", "", "", "", "", "", "", "", "", "", diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index e49ca7a..3a6005b 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.30" +#define VERSION "2.03.31" #define DDTHREADLOCK 1 //#define LOCKTHREADS diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index 264850ad82af0b3da50c039554496aea48fa2e2a..1846877e729cd324670601b23c09985ce7e486a9 100644 GIT binary patch delta 11506 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 delta 9624 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 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_NOSYSTEMMEMORY, cTarget->m_NoSystemMemory); } BEGIN_MESSAGE_MAP(CTabDebug, CDialog) diff --git a/host/TabDirect3D.cpp b/host/TabDirect3D.cpp index 21b065d..04ea1d5 100644 --- a/host/TabDirect3D.cpp +++ b/host/TabDirect3D.cpp @@ -36,7 +36,8 @@ void CTabDirect3D::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_FORCESHEL, cTarget->m_ForcesHEL); // Ddraw tweaks - DDX_Check(pDX, IDC_NOSYSTEMEMULATED, cTarget->m_NoSystemEmulated); + DDX_Check(pDX, IDC_NOSYSMEMPRIMARY, cTarget->m_NoSysMemPrimary); + DDX_Check(pDX, IDC_NOSYSMEMBACKBUF, cTarget->m_NoSysMemBackBuf); DDX_Check(pDX, IDC_FIXPITCH, cTarget->m_FixPitch); DDX_Check(pDX, IDC_POWER2WIDTH, cTarget->m_Power2Width); diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 22ab330..aae62de 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -124,8 +124,8 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_SuppressDXErrors = FALSE; m_MarkBlit = FALSE; m_MarkLock = FALSE; - m_NoSystemMemory = FALSE; - m_NoSystemEmulated = FALSE; + m_NoSysMemPrimary = FALSE; + m_NoSysMemBackBuf = FALSE; m_NoBlt = FALSE; m_BilinearBlt = FALSE; m_FastBlt = FALSE; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index e9fe0f8..7265f25 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -97,8 +97,8 @@ public: BOOL m_SuppressDXErrors; BOOL m_MarkBlit; BOOL m_MarkLock; - BOOL m_NoSystemMemory; - BOOL m_NoSystemEmulated; + BOOL m_NoSysMemPrimary; + BOOL m_NoSysMemBackBuf; BOOL m_NoBlt; BOOL m_BilinearBlt; BOOL m_FastBlt; diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index 1abddd1301b6931235047bdf0420cd639b626ebc..680e5fa2ddbaae26fc89eb41dd6795301acc73a0 100644 GIT binary patch delta 3275 zcmZuyd2o}*6@PE#6C95jACl1J3k>GcWlI8sk^RY*Y*`YrjP2l7HZ~wGa|99yftmpu zr%+?FOqLG4(rKrmQ#(o345XbYP79f~flQfl^baO2`6H7yh0DQ$=Du5I*rV$DeJ z`yKD?zPBssS9h|9?`4lF`a}yREQjikq(Qw!z{lLbZU~4i%Ez z81S_R!;NAQw+og?F6M1*jyDH_LCJbxDbf|cD8@=^FqpK&@oUojR z4ModWNKMf3)>t?qwQ5)?S-wbIEG9`0tfFIvBCSG;>qy}l^S^=)59~rf{jvl|J#afzc z(pRjPIT1ePa8wqx+rc}H6zA^p;6S6W4RFK{BKK zsgb^Zy|l_dl`jUQ`0Cmkrzhxk*dQP!c@XV^kP;S?bvvBUgy-I0h|Sc(KZA7L`#Nl) z-!SVIhNNFiuFe~c`vZ!cox=lR`k`4@9YIh!#H6BuP-DE^8x8RY)mAG%kPWl6K&T-s z1v^Bk(V{oB&XU``e54}J2{EK4zcXms_~CS)EyxsPHEg7>T8x(VSvgT3zc2ji3x^vz zxc~LDMbhtqPWr&2!{_M}i&3+QD-X^VWO1L(4qZqW-!^N$#L2wTLfU;hgM1n3uG=-fRNOslkx*D1gS<;3-vvGNR{YOxUM(@=4tl@DggfaIUT_!Ern?5sZf+YLE1&~+ zGe|$uGk1-+hwd#klf6i9-7T>0n_460t>d>%@yYS>quigO1EENp9IK-WUf^TBr!6{= zQWb|HHso-@L5gKs?TaaiU!7K|dEh0ws;tms?)%Sb=E zr^O@mYh|WYucSPoaLgwQJFDO*Lfji^jXRWheK-`0hJ&qOgA+*qchQU|>E~s|I7s#7 z7BYl%?bi)>D!H-zH80+v54SX?Kl@cp2DiRIQjp$Dyz>lw^6V*}p55`83Z2{eo(k>U z|ATB*W+P1YWJtg3>!N&mo3HL)~#zlcg)3>+pn40-X!Br&N?%S-t9AO^(0uy)K~u^>TZZOQ?T}f;oZ+61 zA)|`<4QJSpA;s_?*bjylsqku=eQE~pJ7uODPO05BbnuzV|9Q_1&!;!l2D)xIgJujD zs|wa8YllzIqc_ee**1v70oV_RlY07}H2#GyyikVQlAa68O*O#(sq5pRaBF94i?1aT z4YYWponW(hs(~ONZ4E+q0ZDFoXFMGtng6r56PXQ}0L1`oRWH%A$Ca3e zCbpmnYqJL75IlX#m6~!~M|gat9RJMY<-{U6ZpD@=Yj(0hkBl?A@hUq2Wc?aSNI* z|F#l8$t6#pUcTbNs75^Gti>M^{&4C_EndD-OWY->XMgJ^736j={Z_9z{l;>DC2VaE zDI+?{HusQHGI^f9eBPYCbt^zOyTldzl-=wh77`)sQ4cYbE)C1wOw728t=LQ~_)pft z1Mz3Ge$Eo-JT@ZK`)pj$?&sKtg6=3}k9gE{>5=_Ghx!aLNPjt7*~`VZma&kCHC3!% z#4{c?BI0O0o8S>2vzxtqrAhXX2g2u-+sD~!Y(*c3-5o5%A<5}v{UToJWFsPer;APW zkvh$V9%NU$aba2(z#rLyEySW(atvAcDC!$OiMO z=-kX-vvlq~Fox{nDC#SOdEmP<=CnD@{x^~BnLvH!8$2^MiR{Q#z6}8)w`MZ=VCGmR z`0GF5qfA(?J){+yXLi)VD+z#Ns`F2dr~M4wr}#X~2N zeftFJx0P~GBfHJz)n65fU{#Gy=y{W3&qDv|7j#j~D0>$AnK^ac$H;0Q@ScRZfH$~? zH`pjZUYgjm$Q+$BGe`C;^szbhti^<_S~T5L8gFnJZ?HmC2LDXu^IyoECuBcin;OXq zHjp4`nqiJEa+EH|ui6%kKqP?sk3;p^2>&aiEEXc;w%v-P^fb(85Lp z?ToMqLH~u_6m(((dnD*YjOFg&F{h2K6!9k;SxCfKJL?zmtxar1#J$~YVh36Hf3wMW A!2kdN delta 3260 zcmZuyeNfZq9e=)0c+plVu4E7r5+I=>D&_^q53Owi36L6+kOaY(`ZFLXsLYpIS!)%? zi)_;!`t|zw&+g{-M_qSPds&aQ>rJ-ncJ0ntd%kXWyVF~@>#bH<>o%{wjXlp3Fh5p) zcjTMT%lGAZ`GwJ&3*W!KaLi{ox0RA@t2g`l+xoU`e$lDgU8>8j?%&smE!|H7yt((M zh9hco*cWKnKwM6@+d+ze1bnK`AN0rll5!HWq`W?##4ciy*xw!rhNCG@6)Bcnv^69> zZc-v~WR_4!X^PPFswGyzZB--bZi=1QQpTBfii4D;2u(l5NuHAA`hdSJ7;Y3j6*pNb zxwtpBPF)uW1|?fd%5jOYM7InGp6%9Wb7!rSRA7ryPnQGU|Bb$Wg-mM-hu5jGcsL@` zYHP?!$@1c=Xd=m4Qu&B{G_qp1lT|or)Hm3r$Ty`iy?u(^NgR@I2n7AAn2ncG>@MPz ztQK|AckjYmy+Q~})hUg4_R8Bbft$JZnsF0wjZ(C3e>ORZmVRFO4!+oU%lbhNW2>HU| zgcMg52}nLgsm*~DWe`PU38~({+cDK*5%QNP!_!)1QBh&}|-l%vb zgyCrkCfW;l{Duj3qP^5acL9EQ!$@}nPI0aeM@!8G-%7QJd+XF@Zy+RU zyIf=sVECqf%igpY2t``sQmrQY(zGuS_1DMSrBFlmYXp~1l5X-snvC;Xk~$ZcLJpwA zs;4gk{^MpI9K`3X`33!HtIuE8DmS;vNxqH8tp)TYK=qc1z6^NumOlRw5Y-!rsV<*d zALhFf4#tRsdWS0yZ)|ed<*`dJgBNd3p~p zv0F+0`0#|L04z@K8`!BO%9H;(I;kZB_~GE1bRB3x>yQ?2z=K2e8htxn9cs|vW#}BP z(BKL@FuZgICx#8+z{%5jc%)Y|D^%gbM;`J2v>KI>*&Kmuuz%z!O-(mWjFf4xg8zJk z?~Isn?J=W9U5$H>Y23Ky*yH%N)`8=k`S%>=E@!GowN;);_Kbf2F-izNIOSVtCo0)b z_L0t{7r)AY3S4`}3SG&>nH5FJ58gVTnN5KJd4ixCGA7Uba%=~^o5d<@PzfgX(R1*u zZkY75Hw>U>7dT0$r`c^A{GG>%OJ(pS&79`X09&#QtP}UjVLfDbk_6d960Bqe7}%Z$ z$Y7r3{9{)ItQXnuRq)c4?28KUPK+&wzvb{jC;C@IR42Y%S_`jJ{^eM|2PXPGR4D;q zZzkwcc$fV#K`oi$#mQy=Nl+`DI)z`JGBZyH&44q^-@(<2ZbB5+(?P8;#7=OA-UT+^ zLCy3bWtVw`1?)3U!x&rK$<>b+u*y!ZURlUOJVHO)E$C~D*bfB#AdiiU_^^Oo?xclT zce4oj*vjq+ZmNRiY~%4z6{{5SlEOkFUa4b!Jc6B_*v1;(2_vd54Hk|~+QemDvJ8RCE*E~87Y}FfJ$Uet2 zPhSMKW|EH~z}S`9%7v+X zxn`jspI2|c18n*ZUz0G$`2xTCobQ$Z5q`r{mB;4I49Yc&$|vX5o60D=UpBKQA79|7 zHPo*z+0k7!()+rZ>tnN>0w1$Hni<;L7035Wo<`;0dH1C)a-uoxE>8 z+vG>{9!*wSC^9+WF308v^PL!(O&KgEJ5IEozJZaEZL-lkDPD+CP7H|*$qd<(7Z!od z6NZ@Q#Nf!_%;3%7#1P8hHhJUyTA-OctcDCm3>KTU7w&Fg)@RV4Y#6LOokNN70EjdF UAUC7x^a2S+f$e{k82@Ae0M>gqH2?qr delta 115 zcmZ27kL|~7whcb>1d|yO847?ni6N6A2Z&21$Ig=!3}J9(@CD;g1|J4ThLFh{SBFlv zTf{c`!MsPz#tbHt9VbdoFW_WU+O$A{aq^-0BGYZu7{xXhESl9YDMV?yfimNP$$cJ5 Q(-Wi_g|=&`F#gE`05Dl4o&W#< diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index bee13bc60f5ae065a48747ef2d0af96fc7e57825..20d91db3f4a1c30abb341b75da828da114d7dbb4 100644 GIT binary patch delta 3350 zcmZuzeN0?c7JuiSnPC_x9qGW**^xeAK%^A;k^)=lND&bM>9p(Cf-q3FH5->8`UfRx zebV|7r6_%sgB6vbb(VEE6`0y=17+1jnU#%)L!_Pl|1YuA_j za__n4zI%V?+;h*lTJKVAbm`a{gyX?G@HU9ceR6)wt?y3(D*T-ZcAKifya^P=LZ4OQ zN6gtLO>^_}^Lo9dIMNCBT8gY|6a{$R=lt76MmFPIK;5PG2ZW4VE1U05W$y1t@$COTGJB`=EEy4o> zDXI&o;|wH)5;yg-h#!}=ofK+HKUYKvN(PRw`&&r zW!$c1+{M`YN5|up+}_QoV%)>1X57oDVbn6}822&i8S5Ed#sXH^A$(N5IoiO9==KFfAWJc-{pS z5^7)`0;wQqq!wIMUn!ijNP`nFkO3!?3YigGa_wufEXZ;u16)AyUUX4kF(%6VUicIT zvf*HVo1G44!&rZtnlR0?4M)sydyesqA@{dz3*>+)FbG0IA#X0{ZwH8{i4DRb9m8N1 z(p3#Jpij1B=$D?e>#9GI>OX`;D$asL*);(NLAvT-CQl#nC(6VlVBtS{U?!ScPlH>! z{{mlu{)Yd4n!5saX;)!CkhULGslEW=C`#2tCY?&*kb2`;p6!OGuB!J#*sP!Ow(G}U zw#&>+=((yGf#oJ5AEr}g08*tE04>Jc!M;x?c3;}{fvfw6R=_%Ac!eIWcTs2$#LFwU z!X}8?th6bmN~8XGdWuvJLm23k3QowQm)%eTYia#TXraUZ5vkGty9O<%AsxyL)e6e> zgN5o&K$3B)F4A-~QEWa8=~_D5_O`L0u%bgA&4&umU+~98HYc?To+0h9VgFG$A5F7X zw98Nxcz~vg&`KS>?0n~O=%dySEGGMh;FR8v;1JM6FJ#Nlk3%--;XxbOPQa@)X+>V> zB!pvhwIfG??HyyEGvJGXPSVan3OyVEhpz6j$|n-M>52FQKZ(1MDm|w?{m)<$PreWIKt#ZZca{m{ct?R7l}bB zip3mIxffGk^kJc#D-wcFAdP933br6qFq<_Z937RTJj7vBL+ihb#D_{_Ug0F`uf%1t zyP2J%QtVqat4bU)TMF`;AM4ysYXh)~PS%QB=%ZC4QRFvDPn`&%J~Esrk5!6tw){?B z$LSS)de0%3bZrzf7V-q(HYld4T2Vl&8pO?{H3)6NBwvG2DeOd>^fZc4H1SnTl_$KS zh~1mQ0pQ#!`h>1+Vcx$J;U#kPA;UTKL9kK%-NH>dU80+`M-98WMc7O|{|4v4I6CE5 zUBV4i=f$LjJL|c^Nu^p7O@SUEX!-5suR$yqtP!Acvan=L|3# z78cMuUMbe?FUQHsE233Iet*k>ZJ6>k=g%->hB3`B64bZco@0E&I8Qqew*^cnLvJ=&8UpfLVz3gF! ztSZ7dL8mlcKd}@C?2xN3-IX9GtFbH!YUsTXtd^XQJAuxQVHoHhL(3O{SW!@6DV=i^z#K0l2 zN!xBLvXVCiGAXkbPE+a!m`Y{$K(f^Kpk|_xN3e;G6>u~;daw`l@;5VO<~~fa-dF&s z^ChOue>xWu*1lIU`?`|1V18+sy9Lg5hlD0CP@5mBm>sB#^D3*V-i zBV6uAUgzWYy##SGZVdkky2l^8P^6PTz}>+6CS$&mPyT*LGdJ-5jo0?ESeZj27#yI4 z{QF^p<#ryKwHOat{;7aczT&aXJhsVT>V|xJtsm0O5AZS%UR%c2$P-Sp@rok7N3h*= zlhIveU2wJ0SLm~G{J&R)spR949W+&mxwJD&r2Zs#7_Vhhh5h}v7EfQLy1UR$t_Hrp z-LG-QJyVGpH1`gw%(Kwoo@U<6tn3TU^)Vw~gfgr1BBq(!c$y|km)ZkRx0 Ud$2yCm|ejnBVWm4TOMKjUp?$5WB>pF delta 4596 zcmd5gm~@V@I}^pZ5%hx1v;{^e`8)Msw=nyd!1m$ zfvGGR&onZfc)Gm;U4twMlbWGI_&RJMTSs49HqgQtffH0h96?9W69&nmVbsRQ`XYPh z*6TE(hI~!9W#LGBN$f7khNgY3uZ^`|>l3CeOHOs|V(L_lA>}=db0tOb>G$z?MHw1; zg(;d``xXE06*byZ6#Mo_KQ_iapTk(pyBT!ouV+ai?`~@i^x>ln9)`o1!l4dskt=9_ zt#V#7>;eq_8j>-28rE+rOyvOKzBE&sCI!}gxyx`83#t`?}A#u<1Ye@yXdc_8#1x;4sJ#N%V0xWCpWca zLuc|Xdf$_TKM>v^;NENq-v1``{!Vy{@HXKc!n=ep;a`M4f@WPmwI>PxjE&!;_I<(! zgbxX)2&V~W2p*BE2ET!D95Ndxr4?Xc z(%J!IRJVWt@P747&6Zbok-Gh>yWo8_w6 z&$?P;L>4J1+lw30}{pZ!$#3F zDhb<8!!m5SmF3C2&mao|XTT8WrOi5qBNA9fG|rRLAQgk3gIgT^u~8b&LphQEBhv8& zgn8Ujnq7r+ygUO3d=Rw+_g;Y6X!wvN$)tEz3CO&>_^W&&s|KMf0c#W3&gjZ5scZ%W z5?LZ{Jp!hvR(A!3;|x7B$?c=r5{CY6iVb5rD~Gm3M#`-$tjFq`m<1a$ShMKaLY`8{ zT+nudb~lr?>oKj0jltJwV*|O&fPIZb;IbmN4Nq*=V(S94qI(}uOiy790>z9)R{nl; zEuO^`aPDT>o4r%n>`0oEx^h+xfoUurn@*FNci+Ue;y^dh##gg4z@B2}z`^nKNW?v= zDwr=0c@@!Ut7Az#|8^%%tYc2hu4D1iRmFO^=-NZ(&t=W%Ndt#;)U!emO}nkqTEqHv z2z6`%F05l?(H@{J*WQBW`OJ>KI_5)|&qm>+7Cuh8=Cht*SayK|py5u|%y3`=7^Gnp zbCWkL)96^n!q?#^=`0sFtY&L)U=w7c_fOm)0*_m;WgBI)1wMAJwVtM~VH6{Mb|}Me zIw|dFWDD>>kf#dI&C_JfgG`0Uv?dk?xC{3LIc3fSqSBwh((&nsSOt31XyKZ8yu73(U(z&`+z=aax^Y9GL!S;!Aks=m=A)j~pRe7OoAboXJ`} z-^qk`gBp!yvyGQQcRcqcW4DD*!UYug`hwfp5Z?jwN$xB`MGkhGGA#>?zniqnL+dp&l7K&tgue}V@!%@F!(S9?tNAiRJ4(>s=f~QA=GUC{7 zFAo9^G%|H&nL@hnQGP+X7nAmNbgfm2l`e80Slx_-%ON2<6GJmKQw_aKCV^GorDT&u+U<^N$7| z9*&N7I!GE?c{7OR4^yJ<;8ooZa+l$!q$n?Tl}8j#CZ#20f>T)^AuC0BE-t{XzE-%% zFx3!OI3&oCt@L$2N*8EKQmY-2Ae5E{v zRCbuJiPhiZ17YO1EVf+H;vBL25!*E}IKSYkO-}iqBp3Ja|3i|$%bBTUv(#Rz{3FuT z(f5xbPyPCL_i-vK`U%d<|Fb*`fJaQlPoLwP@I*P!7M^&MW>|5gR7cZ661i@jHhre1GNyi3taZm^ zW2v1JlW7&v#d-BHnOD;>5yP)S3Qpfo$8?K@sm_SuppressDXErrors) t->flags |= SUPPRESSDXERRORS; if(dlg->m_MarkBlit) t->flags3 |= MARKBLIT; if(dlg->m_MarkLock) t->flags3 |= MARKLOCK; - if(dlg->m_NoSystemMemory) t->flags5 |= NOSYSTEMMEMORY; - if(dlg->m_NoSystemEmulated) t->flags5 |= NOSYSTEMEMULATED; + if(dlg->m_NoSysMemPrimary) t->flags6 |= NOSYSMEMPRIMARY; + if(dlg->m_NoSysMemBackBuf) t->flags6 |= NOSYSMEMBACKBUF; if(dlg->m_NoBlt) t->flags5 |= NOBLT; if(dlg->m_FastBlt) t->flags5 |= DOFASTBLT; if(dlg->m_GDIColorConv) t->flags5 |= GDICOLORCONV; @@ -551,8 +551,8 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_SuppressDXErrors = t->flags & SUPPRESSDXERRORS ? 1 : 0; dlg->m_MarkBlit = t->flags3 & MARKBLIT ? 1 : 0; dlg->m_MarkLock = t->flags3 & MARKLOCK ? 1 : 0; - dlg->m_NoSystemMemory = t->flags5 & NOSYSTEMMEMORY ? 1 : 0; - dlg->m_NoSystemEmulated = t->flags5 & NOSYSTEMEMULATED ? 1 : 0; + dlg->m_NoSysMemPrimary = t->flags6 & NOSYSMEMPRIMARY ? 1 : 0; + dlg->m_NoSysMemBackBuf = t->flags6 & NOSYSMEMBACKBUF ? 1 : 0; dlg->m_NoBlt = t->flags5 & NOBLT ? 1 : 0; dlg->m_FastBlt = t->flags5 & DOFASTBLT ? 1 : 0; dlg->m_GDIColorConv = t->flags5 & GDICOLORCONV ? 1 : 0; diff --git a/host/resource b/host/resource index de92742ba26f3512e5250313667d5318e6d18874..b7282e954c6b1775c16764f3fd8ddae6302cdaee 100644 GIT binary patch delta 90 zcmew~jcL^krVUN0lRxmW@cS|NGXyh40