mirror of
https://github.com/DxWnd/DxWnd.reloaded
synced 2024-12-30 09:25:35 +01:00
v2_03_31_src
Former-commit-id: b12d111cc7010081998adb437ffb88864664d076
This commit is contained in:
parent
5c563db5dc
commit
45dd6cab93
@ -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
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84e59408df785c15d6c06b28a9c1af651f16cfc666ceedb196b4d960aa0e4e00
|
||||
size 578560
|
||||
oid sha256:549536858a03ba659d55078a89d987c435aed391c5444cfe6421f23cf4c76cc6
|
||||
size 578048
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5de557160daabc9b2605f05b2c0988c129df7a8a03f8505db3a9c60269e9ee92
|
||||
oid sha256:ec489528e5cb8f0bdcdd15b49650a55d6367c38520bc1724834cebef642c9d73
|
||||
size 541696
|
||||
|
@ -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
|
||||
|
31
build/exports/Adrenix.dxw
Normal file
31
build/exports/Adrenix.dxw
Normal file
@ -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
|
31
build/exports/Dark Disciples 1.dxw
Normal file
31
build/exports/Dark Disciples 1.dxw
Normal file
@ -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
|
31
build/exports/Dark Disciples 2.dxw
Normal file
31
build/exports/Dark Disciples 2.dxw
Normal file
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
31
build/exports/Ground Control.dxw
Normal file
31
build/exports/Ground Control.dxw
Normal file
@ -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
|
31
build/exports/Microsoft Motocross Madness 2 (emu).dxw
Normal file
31
build/exports/Microsoft Motocross Madness 2 (emu).dxw
Normal file
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -10,7 +10,7 @@ flag0=136314915
|
||||
flagg0=1242038528
|
||||
flagh0=65552
|
||||
flagi0=136314885
|
||||
flagj0=136
|
||||
flagj0=128
|
||||
tflag0=0
|
||||
initx0=0
|
||||
inity0=0
|
||||
|
@ -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".
|
||||
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".
|
||||
|
@ -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);
|
||||
|
@ -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", "", "",
|
||||
"", "", "", "",
|
||||
"", "", "", "",
|
||||
"", "", "", "",
|
||||
|
@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "TlHelp32.h"
|
||||
|
||||
#define VERSION "2.03.30"
|
||||
#define VERSION "2.03.31"
|
||||
|
||||
#define DDTHREADLOCK 1
|
||||
//#define LOCKTHREADS
|
||||
|
Binary file not shown.
@ -904,15 +904,15 @@ HRESULT WINAPI extCreateDevice2(void *lpd3d, REFCLSID Guid, LPDIRECTDRAWSURFACE
|
||||
if(!(dxw.dwFlags1 & EMULATESURFACE)) break; // no more tricks ....
|
||||
if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
|
||||
OutTraceD3D("CreateDevice(D3D2): SYSMEMORY OFF\n");
|
||||
dxw.dwFlags5 |= NOSYSTEMEMULATED;
|
||||
res=(*pCreateDevice2)(lpd3d, Guid, lpdds, lplpd3dd);
|
||||
if(res==DD_OK) break;
|
||||
OutTraceE("CreateDevice(D3D2) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
//OutTraceD3D("CreateDevice(D3D2): SYSMEMORY OFF\n");
|
||||
//dxw.dwFlags6 |= NOSYSMEMPRIMARY;
|
||||
//res=(*pCreateDevice2)(lpd3d, Guid, lpdds, lplpd3dd);
|
||||
//if(res==DD_OK) break;
|
||||
//OutTraceE("CreateDevice(D3D2) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
//if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
|
||||
OutTraceD3D("CreateDevice(D3D2): Emulation OFF\n");
|
||||
dxw.dwFlags5 &= ~NOSYSTEMEMULATED;
|
||||
//dxw.dwFlags5 &= ~NOSYSTEMEMULATED;
|
||||
dxw.dwFlags1 &= ~EMULATESURFACE;
|
||||
dxw.dwFlags1 |= LOCKEDSURFACE;
|
||||
res=(*pCreateDevice2)(lpd3d, Guid, lpdds, lplpd3dd);
|
||||
@ -943,15 +943,15 @@ HRESULT WINAPI extCreateDevice3(void *lpd3d, REFCLSID Guid, LPDIRECTDRAWSURFACE4
|
||||
if(!(dxw.dwFlags1 & EMULATESURFACE)) break; // no more tricks ....
|
||||
if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
|
||||
OutTraceD3D("CreateDevice(D3D3): SYSMEMORY OFF\n");
|
||||
dxw.dwFlags5 |= NOSYSTEMEMULATED;
|
||||
res=(*pCreateDevice3)(lpd3d, Guid, lpdds, lplpd3dd, unk);
|
||||
if(res==DD_OK) break;
|
||||
OutTraceE("CreateDevice(D3D3) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
//OutTraceD3D("CreateDevice(D3D3): SYSMEMORY OFF\n");
|
||||
//dxw.dwFlags5 |= NOSYSTEMEMULATED;
|
||||
//res=(*pCreateDevice3)(lpd3d, Guid, lpdds, lplpd3dd, unk);
|
||||
//if(res==DD_OK) break;
|
||||
//OutTraceE("CreateDevice(D3D3) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
//if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
|
||||
OutTraceD3D("CreateDevice(D3D3): Emulation OFF\n");
|
||||
dxw.dwFlags5 &= ~NOSYSTEMEMULATED;
|
||||
//dxw.dwFlags5 &= ~NOSYSTEMEMULATED;
|
||||
dxw.dwFlags1 &= ~EMULATESURFACE;
|
||||
dxw.dwFlags1 |= LOCKEDSURFACE;
|
||||
res=(*pCreateDevice3)(lpd3d, Guid, lpdds, lplpd3dd, unk);
|
||||
@ -986,15 +986,15 @@ HRESULT WINAPI extCreateDevice7(void *lpd3d, REFCLSID Guid, LPDIRECTDRAWSURFACE7
|
||||
if(!(dxw.dwFlags1 & EMULATESURFACE)) break; // no more tricks ....
|
||||
if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
|
||||
OutTraceD3D("CreateDevice(D3D7): SYSMEMORY OFF\n");
|
||||
dxw.dwFlags5 |= NOSYSTEMEMULATED;
|
||||
res=(*pCreateDevice7)(lpd3d, Guid, lpdds, lplpd3dd);
|
||||
if(res==DD_OK) break;
|
||||
OutTraceE("CreateDevice(D3D7) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
//OutTraceD3D("CreateDevice(D3D7): SYSMEMORY OFF\n");
|
||||
//dxw.dwFlags5 |= NOSYSTEMEMULATED;
|
||||
//res=(*pCreateDevice7)(lpd3d, Guid, lpdds, lplpd3dd);
|
||||
//if(res==DD_OK) break;
|
||||
//OutTraceE("CreateDevice(D3D7) ERROR: err=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
//if(!(dxw.dwFlags1 & AUTOMATIC)) break;
|
||||
|
||||
OutTraceD3D("CreateDevice(D3D7): Emulation OFF\n");
|
||||
dxw.dwFlags5 &= ~NOSYSTEMEMULATED;
|
||||
//dxw.dwFlags5 &= ~NOSYSTEMEMULATED;
|
||||
dxw.dwFlags1 &= ~EMULATESURFACE;
|
||||
dxw.dwFlags1 |= LOCKEDSURFACE;
|
||||
res=(*pCreateDevice7)(lpd3d, Guid, lpdds, lplpd3dd);
|
||||
@ -1599,7 +1599,7 @@ HRESULT WINAPI extEnumZBufferFormats(void *lpd3d, REFCLSID riidDevice, LPD3DENUM
|
||||
|
||||
// Beware: using service surfaces with DDSCAPS_SYSTEMMEMORY capability may lead to crashes in D3D operations
|
||||
// like Vievport::Clear() in "Forsaken" set in emulation AERO-friendly mode. To avoid the problem, you can
|
||||
// suppress the offending cap by use of the NOSYSTEMEMULATED flag
|
||||
// suppress the offending cap by use of the NOSYSMEMPRIMARY or NOSYSMEMBACKBUF flags
|
||||
|
||||
HRESULT WINAPI extViewportClear(void *lpd3dvp, DWORD p1, LPD3DRECT lpRect, DWORD p2)
|
||||
{
|
||||
|
@ -205,7 +205,7 @@ static HookEntry_Type PeekAllHooks[]={
|
||||
};
|
||||
|
||||
static HookEntry_Type MouseHooks[]={
|
||||
{HOOK_IAT_CANDIDATE, "GetCursorPos", (FARPROC)GetCursorPos, (FARPROC *)&pGetCursorPos, (FARPROC)extGetCursorPos},
|
||||
{HOOK_HOT_CANDIDATE, "GetCursorPos", (FARPROC)GetCursorPos, (FARPROC *)&pGetCursorPos, (FARPROC)extGetCursorPos},
|
||||
{HOOK_IAT_CANDIDATE, "GetCursorInfo", (FARPROC)GetCursorInfo, (FARPROC *)&pGetCursorInfo, (FARPROC)extGetCursorInfo},
|
||||
{HOOK_IAT_CANDIDATE, "SetCursor", (FARPROC)SetCursor, (FARPROC *)&pSetCursor, (FARPROC)extSetCursor},
|
||||
{HOOK_IAT_CANDIDATE, "SendMessageA", (FARPROC)SendMessageA, (FARPROC *)&pSendMessageA, (FARPROC)extSendMessageA},
|
||||
|
@ -47,7 +47,7 @@ void CTabDebug::DoDataExchange(CDataExchange* pDX)
|
||||
DDX_Check(pDX, IDC_HOTPATCHALWAYS, cTarget->m_HotPatchAlways);
|
||||
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)
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -325,8 +325,8 @@ static void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg)
|
||||
if(dlg->m_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;
|
||||
|
BIN
host/resource
BIN
host/resource
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user