mirror of
https://github.com/DxWnd/DxWnd.reloaded
synced 2024-12-30 09:25:35 +01:00
v2_03_94_srcfx3
Former-commit-id: a7808ff92166d5665b838c5309eb3245269cf594
This commit is contained in:
parent
27b1d7899d
commit
025aaa26ae
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:aefbbf270e55f04618178767c563b732a273e29eac1e0a68a42bd15c1be21058
|
||||
size 697856
|
||||
oid sha256:287b4afcae41e705bf3b4f67be71fce5403a26b7494cad40d5f1e4dbf5bf2925
|
||||
size 698368
|
||||
|
178
build/dxwnd.ini
Normal file
178
build/dxwnd.ini
Normal file
@ -0,0 +1,178 @@
|
||||
[window]
|
||||
exepath=D:\Games\Year Dead\
|
||||
posx=1164
|
||||
posy=243
|
||||
sizx=320
|
||||
sizy=200
|
||||
exportpath=G:\DxWnd.develop\v2_03_94fx3_src\build\exports\
|
||||
[target]
|
||||
title0=NITRO.EXE
|
||||
path0=D:\Games\WCW Nitro\NITRO.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=136314914
|
||||
flagg0=1207959552
|
||||
flagh0=20
|
||||
flagi0=138412036
|
||||
flagj0=4224
|
||||
flagk0=65536
|
||||
flagl0=0
|
||||
flagm0=0
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
posx0=50
|
||||
posy0=50
|
||||
sizx0=800
|
||||
sizy0=600
|
||||
maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=-1
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
initresw0=800
|
||||
initresh0=600
|
||||
title1=Warcraft II BNE.exe
|
||||
path1=D:\Games\WarCraft II BNE\Warcraft II BNE.exe
|
||||
startfolder1=
|
||||
launchpath1=
|
||||
module1=
|
||||
opengllib1=
|
||||
notes1=
|
||||
registry1=
|
||||
ver1=0
|
||||
monitorid1=-1
|
||||
coord1=0
|
||||
flag1=136314914
|
||||
flagg1=1207959552
|
||||
flagh1=20
|
||||
flagi1=138412036
|
||||
flagj1=4224
|
||||
flagk1=65536
|
||||
flagl1=0
|
||||
flagm1=0
|
||||
tflag1=0
|
||||
dflag1=0
|
||||
posx1=50
|
||||
posy1=50
|
||||
sizx1=800
|
||||
sizy1=600
|
||||
maxfps1=0
|
||||
initts1=0
|
||||
winver1=0
|
||||
maxres1=-1
|
||||
swapeffect1=0
|
||||
maxddinterface1=7
|
||||
slowratio1=2
|
||||
initresw1=800
|
||||
initresh1=600
|
||||
title2=Dethkarz
|
||||
path2=D:\Games\dethkarz\Dethkarz.exe
|
||||
startfolder2=
|
||||
launchpath2=
|
||||
module2=Vertigo Direct3D
|
||||
opengllib2=
|
||||
notes2=Beware! This game REQUIRES initial resolution set as 640x480 as needed by the \nintro movie, otherwise the game won't start and will show an error message\ndialog box.\nNeeds also bypass MCI calls if no CD is present.\nTested OK with D3D renderer, 16 & 32 bpp.
|
||||
registry2=
|
||||
ver2=0
|
||||
monitorid2=-1
|
||||
coord2=0
|
||||
flag2=681574434
|
||||
flagg2=1207959552
|
||||
flagh2=20
|
||||
flagi2=205520902
|
||||
flagj2=4224
|
||||
flagk2=35717120
|
||||
flagl2=8389120
|
||||
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
|
||||
initresw2=640
|
||||
initresh2=480
|
||||
title3=yeardead.exe
|
||||
path3=D:\Games\Year Dead\yeardead.exe
|
||||
startfolder3=
|
||||
launchpath3=
|
||||
module3=
|
||||
opengllib3=
|
||||
notes3=
|
||||
registry3=
|
||||
ver3=0
|
||||
monitorid3=-1
|
||||
coord3=0
|
||||
flag3=681574434
|
||||
flagg3=1207959552
|
||||
flagh3=20
|
||||
flagi3=138412036
|
||||
flagj3=4224
|
||||
flagk3=2162688
|
||||
flagl3=0
|
||||
flagm3=0
|
||||
tflag3=-2147477245
|
||||
dflag3=0
|
||||
posx3=50
|
||||
posy3=50
|
||||
sizx3=800
|
||||
sizy3=600
|
||||
maxfps3=0
|
||||
initts3=0
|
||||
winver3=0
|
||||
maxres3=-1
|
||||
swapeffect3=0
|
||||
maxddinterface3=7
|
||||
slowratio3=2
|
||||
initresw3=800
|
||||
initresh3=600
|
||||
title4=SPWaW 2016
|
||||
path4=G:\Games\The Depot\SPWaW 2016\mech.exe
|
||||
startfolder4=
|
||||
launchpath4=
|
||||
module4=
|
||||
opengllib4=
|
||||
notes4=
|
||||
registry4=
|
||||
ver4=0
|
||||
monitorid4=0
|
||||
coord4=1
|
||||
flag4=49186
|
||||
flagg4=1207992338
|
||||
flagh4=532
|
||||
flagi4=18907136
|
||||
flagj4=1152
|
||||
flagk4=0
|
||||
flagl4=0
|
||||
flagm4=0
|
||||
tflag4=0
|
||||
dflag4=0
|
||||
posx4=50
|
||||
posy4=50
|
||||
sizx4=1340
|
||||
sizy4=1000
|
||||
maxfps4=0
|
||||
initts4=0
|
||||
winver4=0
|
||||
maxres4=-1
|
||||
swapeffect4=0
|
||||
maxddinterface4=7
|
||||
slowratio4=1
|
||||
initresw4=0
|
||||
initresh4=0
|
@ -1,20 +1,20 @@
|
||||
[target]
|
||||
title0=Dethkarz
|
||||
path0=D:\Games\Dethkarz\Dethkarz.exe
|
||||
path0=D:\Games\dethkarz\Dethkarz.exe
|
||||
launchpath0=
|
||||
module0=
|
||||
module0=Vertigo Direct3D
|
||||
opengllib0=
|
||||
notes0=On Win7, FORCECLIPPER is requested\nOn Win10, FORCECLIPPER is not necessary and may cause program crash:\neither unckeck FORCECLIPPER or check HANDLEEXCEPTIONS seems to fix the problem
|
||||
notes0=Beware! This game REQUIRES initial resolution set as 640x480 as needed by the \nintro movie, otherwise the game won't start and will show an error message\ndialog box.\nNeeds also bypass MCI calls if no CD is present.\nTested OK with D3D renderer, 16 & 32 bpp.
|
||||
registry0=
|
||||
ver0=0
|
||||
coord0=0
|
||||
flag0=679477282
|
||||
flag0=681574434
|
||||
flagg0=1207959552
|
||||
flagh0=8212
|
||||
flagi0=138416132
|
||||
flagj0=1073741952
|
||||
flagk0=65536
|
||||
flagl0=0
|
||||
flagh0=20
|
||||
flagi0=205520902
|
||||
flagj0=4224
|
||||
flagk0=35717120
|
||||
flagl0=8389120
|
||||
flagm0=0
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
@ -25,7 +25,11 @@ sizy0=600
|
||||
maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=3
|
||||
maxres0=-1
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
startfolder0=
|
||||
monitorid0=-1
|
||||
initresw0=640
|
||||
initresh0=480
|
||||
|
@ -1321,11 +1321,13 @@ fix: proper handling of dinput DirectInputDevice::GetDeviceData() DI_BUFFEROVERF
|
||||
fix: user32 GetCursorPos() wrapper
|
||||
fix: user32 mouse_event() wrapper
|
||||
|
||||
v2.03.94.fx1-2:
|
||||
v2.03.94.fx1-3:
|
||||
fix: aligned Lock cheats in Direct/Indirect mode ......
|
||||
fix: no window interventions in non windowed mode. Fix "Gunbound" in fullscreen mode
|
||||
fix: avoid multiple injection for early-hooked programs. Fix "Gunbound" regression.
|
||||
fix: Restore of all lost surfaces upon D3D BeginScene DDERR_LOSTSURFACE error. Fix "Gunbound" lost textures in fullscreen mode.
|
||||
add: more logging in mciSendCommand - possibly some regression problem...
|
||||
fix: corrected clipping bug introduced in v2.03.93.
|
||||
fix: SetWindowLog hooker preventing to set DxWnd windowproc when not in fullscreen mode. Fixes "Nascar Racing 3" recursion and crash.
|
||||
fix: SetWindowLog hooker preventing to set DxWnd windowproc when not in fullscreen mode. Fixes "Nascar Racing 3" recursion and crash.
|
||||
fix: eliminated useless filter to suppress high resolutions detection in PREVENTMAXIMAZE mode
|
||||
fix: fixed mciSendCommand wrapper log messages that could crash the program
|
@ -5078,14 +5078,6 @@ HRESULT WINAPI myEnumModesFilterDirect(LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID l
|
||||
lpDDSurfaceDesc->dwHeight=SupportedRes[ResIdx].h;
|
||||
lpDDSurfaceDesc->dwWidth=SupportedRes[ResIdx].w;
|
||||
if(CheckResolutionLimit(lpDDSurfaceDesc)) return DDENUMRET_OK;
|
||||
if (dxw.dwFlags1 & PREVENTMAXIMIZE){
|
||||
// if PREVENTMAXIMIZE is set, don't let the caller know about forbidden screen settings.
|
||||
if((lpDDSurfaceDesc->dwHeight > dxw.GetScreenHeight()) ||
|
||||
(lpDDSurfaceDesc->dwWidth > dxw.GetScreenWidth())){
|
||||
OutTraceDW("EnumDisplayModes: skipping screen size=(%d,%d)\n", lpDDSurfaceDesc->dwHeight, lpDDSurfaceDesc->dwWidth);
|
||||
return DDENUMRET_OK;
|
||||
}
|
||||
}
|
||||
res=(*((NewContext_Type *)lpContext)->lpCallback)(lpDDSurfaceDesc, ((NewContext_Type *)lpContext)->lpContext);
|
||||
OutTraceDW("EnumDisplayModes(D): proposed size[%d]=(%d,%d) res=%x\n", ResIdx, SupportedRes[ResIdx].w, SupportedRes[ResIdx].h, res);
|
||||
if(res==DDENUMRET_CANCEL) break;
|
||||
|
@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "TlHelp32.h"
|
||||
|
||||
#define VERSION "2.03.94.fx2"
|
||||
#define VERSION "2.03.94.fx3"
|
||||
|
||||
#define DDTHREADLOCK 1
|
||||
//#define LOCKTHREADS
|
||||
|
Binary file not shown.
@ -851,12 +851,12 @@ HRESULT WINAPI extDeviceProxy7(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LP
|
||||
return res;
|
||||
}
|
||||
|
||||
HRESULT WINAPI extEnumDevices(EnumDevices_Type pEnumDevices, void *lpd3d, LPD3DENUMDEVICESCALLBACK cb, LPVOID arg)
|
||||
HRESULT WINAPI extEnumDevices(int version, EnumDevices_Type pEnumDevices, void *lpd3d, LPD3DENUMDEVICESCALLBACK cb, LPVOID arg)
|
||||
{
|
||||
HRESULT res;
|
||||
CallbackArg Arg;
|
||||
|
||||
OutTraceD3D("EnumDevices: d3d=%x arg=%x\n", lpd3d, arg);
|
||||
OutTraceD3D("EnumDevices(%d): d3d=%x arg=%x\n", version, lpd3d, arg);
|
||||
Arg.cb= &cb;
|
||||
Arg.arg=arg;
|
||||
res=(*pEnumDevices)(lpd3d, (LPD3DENUMDEVICESCALLBACK)extDeviceProxy, (LPVOID)&Arg);
|
||||
@ -866,11 +866,11 @@ HRESULT WINAPI extEnumDevices(EnumDevices_Type pEnumDevices, void *lpd3d, LPD3DE
|
||||
}
|
||||
|
||||
HRESULT WINAPI extEnumDevices1(void *lpd3d, LPD3DENUMDEVICESCALLBACK cb, LPVOID arg)
|
||||
{ return extEnumDevices(pEnumDevices1, lpd3d, cb, arg); }
|
||||
{ return extEnumDevices(1, pEnumDevices1, lpd3d, cb, arg); }
|
||||
HRESULT WINAPI extEnumDevices2(void *lpd3d, LPD3DENUMDEVICESCALLBACK cb, LPVOID arg)
|
||||
{ return extEnumDevices(pEnumDevices2, lpd3d, cb, arg); }
|
||||
{ return extEnumDevices(2, pEnumDevices2, lpd3d, cb, arg); }
|
||||
HRESULT WINAPI extEnumDevices3(void *lpd3d, LPD3DENUMDEVICESCALLBACK cb, LPVOID arg)
|
||||
{ return extEnumDevices(pEnumDevices3, lpd3d, cb, arg); }
|
||||
{ return extEnumDevices(3, pEnumDevices3, lpd3d, cb, arg); }
|
||||
|
||||
|
||||
HRESULT WINAPI extEnumDevices7(void *lpd3d, LPD3DENUMDEVICESCALLBACK7 cb, LPVOID arg)
|
||||
@ -878,7 +878,7 @@ HRESULT WINAPI extEnumDevices7(void *lpd3d, LPD3DENUMDEVICESCALLBACK7 cb, LPVOID
|
||||
HRESULT res;
|
||||
CallbackArg7 Arg;
|
||||
|
||||
OutTraceD3D("EnumDevices: d3d=%x arg=%x\n", lpd3d, arg);
|
||||
OutTraceD3D("EnumDevices(7): d3d=%x arg=%x\n", lpd3d, arg);
|
||||
Arg.cb= &cb;
|
||||
Arg.arg=arg;
|
||||
res=(*pEnumDevices7)(lpd3d, (LPD3DENUMDEVICESCALLBACK7)extDeviceProxy7, (LPVOID)&Arg);
|
||||
|
@ -15,7 +15,7 @@
|
||||
#define EMULATEJOY TRUE
|
||||
#define INVERTJOYAXIS TRUE
|
||||
|
||||
#include "logall.h" // comment when not debugging
|
||||
//#include "logall.h" // comment when not debugging
|
||||
|
||||
BOOL IsWithinMCICall = FALSE;
|
||||
|
||||
@ -177,33 +177,34 @@ static char *sDeviceType(DWORD dt)
|
||||
|
||||
static void DumpMciMessage(char *label, BOOL isAnsi, UINT uMsg, DWORD_PTR fdwCommand, DWORD_PTR dwParam)
|
||||
{
|
||||
char *api="mciSendCommand";
|
||||
switch(uMsg){
|
||||
case MCI_BREAK:
|
||||
{
|
||||
LPMCI_BREAK_PARMS lpBreak = (LPMCI_BREAK_PARMS)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_BREAK cb=%x virtkey=%d hwndbreak=%x\n",
|
||||
label, lpBreak->dwCallback, lpBreak->nVirtKey, lpBreak->hwndBreak);
|
||||
OutTrace("%s%s: MCI_BREAK cb=%x virtkey=%d hwndbreak=%x\n",
|
||||
api, label, lpBreak->dwCallback, lpBreak->nVirtKey, lpBreak->hwndBreak);
|
||||
}
|
||||
break;
|
||||
case MCI_INFO:
|
||||
{
|
||||
LPMCI_INFO_PARMS lpInfo = (LPMCI_INFO_PARMS)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_INFO cb=%x retsize=%x\n",
|
||||
label, lpInfo->dwCallback, lpInfo->dwRetSize);
|
||||
OutTrace("%s%s: MCI_INFO cb=%x retsize=%x\n",
|
||||
api, label, lpInfo->dwCallback, lpInfo->dwRetSize);
|
||||
}
|
||||
break;
|
||||
case MCI_PLAY:
|
||||
{
|
||||
LPMCI_PLAY_PARMS lpPlay = (LPMCI_PLAY_PARMS)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_PLAY cb=%x from=%x to=%x\n",
|
||||
label, lpPlay->dwCallback, lpPlay->dwFrom, lpPlay->dwTo);
|
||||
OutTrace("%s%s: MCI_PLAY cb=%x from=%x to=%x\n",
|
||||
api, label, lpPlay->dwCallback, lpPlay->dwFrom, lpPlay->dwTo);
|
||||
}
|
||||
break;
|
||||
case MCI_GETDEVCAPS:
|
||||
{
|
||||
LPMCI_GETDEVCAPS_PARMS lpDevCaps = (LPMCI_GETDEVCAPS_PARMS)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_GETDEVCAPS cb=%x ret=%x item=%x\n",
|
||||
label, lpDevCaps->dwCallback, lpDevCaps->dwReturn, lpDevCaps->dwItem);
|
||||
OutTrace("%s%s: MCI_GETDEVCAPS cb=%x ret=%x item=%x\n",
|
||||
api, label, lpDevCaps->dwCallback, lpDevCaps->dwReturn, lpDevCaps->dwItem);
|
||||
}
|
||||
break;
|
||||
case MCI_OPEN:
|
||||
@ -212,8 +213,8 @@ static void DumpMciMessage(char *label, BOOL isAnsi, UINT uMsg, DWORD_PTR fdwCom
|
||||
// how to dump LPMCI_OPEN_PARMS strings without crash?
|
||||
if(isAnsi){
|
||||
LPMCI_OPEN_PARMSA lpOpen = (LPMCI_OPEN_PARMSA)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_OPEN %scb=%x devid=%x devtype=%s elementname=%s alias=%s\n",
|
||||
label,
|
||||
OutTrace("%s%s: MCI_OPEN %scb=%x devid=%x devtype=%s elementname=%s alias=%s\n",
|
||||
api, label,
|
||||
(dwFlags & MCI_OPEN_SHAREABLE) ? "OPEN_SHAREABLE " : "",
|
||||
lpOpen->dwCallback, lpOpen->wDeviceID,
|
||||
"", //(dwFlags & MCI_OPEN_TYPE) ? lpOpen->lpstrDeviceType : "",
|
||||
@ -222,8 +223,8 @@ static void DumpMciMessage(char *label, BOOL isAnsi, UINT uMsg, DWORD_PTR fdwCom
|
||||
}
|
||||
else{
|
||||
LPMCI_OPEN_PARMSW lpOpen = (LPMCI_OPEN_PARMSW)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_OPEN cb=%x devid=%x devtype=%ls elementname=%ls alias=%ls\n",
|
||||
label,
|
||||
OutTrace("%s%s: MCI_OPEN cb=%x devid=%x devtype=%ls elementname=%ls alias=%ls\n",
|
||||
api, label,
|
||||
(dwFlags & MCI_OPEN_SHAREABLE) ? "OPEN_SHAREABLE " : "",
|
||||
lpOpen->dwCallback, lpOpen->wDeviceID,
|
||||
L"", //(dwFlags & MCI_OPEN_TYPE) ? lpOpen->lpstrDeviceType : L"",
|
||||
@ -235,22 +236,24 @@ static void DumpMciMessage(char *label, BOOL isAnsi, UINT uMsg, DWORD_PTR fdwCom
|
||||
case MCI_STATUS:
|
||||
{
|
||||
LPMCI_STATUS_PARMS lpStatus = (LPMCI_STATUS_PARMS)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_STATUS cb=%x ret=%x item=%x(%s) track=%x\n",
|
||||
label, lpStatus->dwCallback, lpStatus->dwReturn, lpStatus->dwItem, sStatusItem(lpStatus->dwItem), lpStatus->dwTrack);
|
||||
OutTrace("%s%s: MCI_STATUS cb=%x ret=%x item=%x(%s) track=%x\n",
|
||||
api, label, lpStatus->dwCallback, lpStatus->dwReturn, lpStatus->dwItem, sStatusItem(lpStatus->dwItem), lpStatus->dwTrack);
|
||||
}
|
||||
break;
|
||||
case MCI_SYSINFO:
|
||||
{
|
||||
LPMCI_SYSINFO_PARMS lpSysInfo = (LPMCI_SYSINFO_PARMS)dwParam;
|
||||
OutTrace("mciSendCommand%s: MCI_SYSINFO cb=%x retsize=%x number=%x devtype=%x(%s)\n",
|
||||
label, lpSysInfo->dwCallback, lpSysInfo->dwRetSize, lpSysInfo->dwNumber, lpSysInfo->wDeviceType, sDeviceType(lpSysInfo->wDeviceType));
|
||||
OutTrace("%s%s: MCI_SYSINFO cb=%x retsize=%x number=%x devtype=%x(%s)\n",
|
||||
api, label, lpSysInfo->dwCallback, lpSysInfo->dwRetSize, lpSysInfo->dwNumber, lpSysInfo->wDeviceType, sDeviceType(lpSysInfo->wDeviceType));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
LPMCI_GENERIC_PARMS lpGeneric = (LPMCI_GENERIC_PARMS)dwParam;
|
||||
OutTrace("mciSendCommand%s: %s cb=%x\n",
|
||||
label, ExplainMCICommands(uMsg), lpGeneric->dwCallback);
|
||||
if(lpGeneric)
|
||||
OutTrace("%s%s: %s cb=%x\n", api, label, ExplainMCICommands(uMsg), lpGeneric->dwCallback);
|
||||
else
|
||||
OutTrace("%s%s: %s params=(NULL)\n", api, label, ExplainMCICommands(uMsg));
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -345,11 +348,13 @@ MCIERROR WINAPI extmciSendCommand(BOOL isAnsi, mciSendCommand_Type pmciSendComma
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
LPMCI_GENERIC_PARMS lpGeneric = (LPMCI_GENERIC_PARMS)dwParam;
|
||||
if(HIWORD(lpGeneric->dwCallback) == NULL) {
|
||||
lpGeneric->dwCallback = MAKELONG(dxw.GethWnd(),0);
|
||||
OutTraceB("mciSendCommand: REDIRECT dwCallback=%x\n", dxw.GethWnd());
|
||||
}
|
||||
#endif
|
||||
|
||||
ret=(*pmciSendCommand)(IDDevice, uMsg, fdwCommand, dwParam);
|
||||
if(IsDebug) DumpMciMessage("<<", isAnsi, uMsg, fdwCommand, dwParam);
|
||||
|
Loading…
x
Reference in New Issue
Block a user