mirror of
https://github.com/DxWnd/DxWnd.reloaded
synced 2024-12-30 09:25:35 +01:00
v2_03_96_src
Former-commit-id: e3c19066d5e85028dcc186ae8bd4142209903234
This commit is contained in:
parent
94f575cc42
commit
d5e3bf8bc5
@ -244,6 +244,8 @@
|
||||
#define FIXSMACKLOOP 0x04000000 // fix Smack loop by insert processmessage and blit between frames
|
||||
#define FIXFREELIBRARY 0x08000000 // fix FreeLibrary simulating retcode 0(error) when attempting free of unallocated module
|
||||
#define ANCHORED 0x10000000 // Anchored position & size, mo stretching or sliding is allowed
|
||||
#define CLEARTEXTUREFOURCC 0x20000000 // Clear DDSCAPS2_FOURCC bit and makes texture load without codec
|
||||
#define NODDEXCLUSIVEMODE 0x40000000 // Do not allow ddraw EXCLUSIVE mode also in non windowed mode
|
||||
|
||||
// eighth flags DWORD dxw.dwFlags8:
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
Readme First release notes - October 10th, 2016
|
||||
Readme First release notes - November 7th, 2016
|
||||
|
||||
DxWnd is a project still in development, so new releases are not always fully compatible with previous ones.
|
||||
Compatibility issues may easily happen while trying to use old configurations (the dxwnd.ini file) or exported files (*.dxw files located in the export folder) with new releases of the program.
|
||||
@ -6,22 +6,42 @@ In particular, dxw exported files are not always checked and updated before rele
|
||||
This file will try to provide a quick guide to the resolution of the most common portability problems, listing the known cases that can be easily fixed.
|
||||
|
||||
==============================================================================================
|
||||
DxWnd does nothing!
|
||||
|
||||
If it seems that DxWnd is perfectly useless, the programs starting in fullscreen mode exactly as if DxWnd was not running, you could likely have a capability problem caused either from lack of permissions or some compatibility setting.
|
||||
You can try these two simple steps:
|
||||
|
||||
1) Assign to DxWnd.exe administrator privileges (right-click on DxWnd.exe, Properties->Compatibility->check "run this program as administrator" or whatever is your locale translated interface). I always try to set this flag in the DxWnd distribution, but a simple file copy can clear the privilege.
|
||||
|
||||
2) Clear compatibility settings on the target program (again, "Properties"->"Compatibility"->uncheck all compatibility flags). Maybe you'd better use the dedicated DxWnd command ("Tools"->"Clear compatibility flags", apparently this one goes a little deeper and clears some possibly hidden flags). If you clear compatibility flags it is likely that the game will no longer run in fullscreen without DxWnd, so maybe you can perform the operation on a copy of the executable file.
|
||||
|
||||
==============================================================================================
|
||||
Flip emulation:
|
||||
|
||||
the DirectX/"Flip emulation" flag is required for most of DirectDraw games and is now set by default, but old exported files may not have this flag set. The sympthom generally is an error in DirectDraw calls or a black screen. In case the flag is not checked, just check it.
|
||||
|
||||
==============================================================================================
|
||||
|
||||
Optimize for AERO mode:
|
||||
|
||||
same as above, the flag is set by default, but some old exported files may not have it.
|
||||
The flag activated a blitting schema that is more compatible with AERO and desktop composition that is now mandatory on recent OS (Win8 and above). Better check it in case of problems.
|
||||
|
||||
==============================================================================================
|
||||
Force clipper:
|
||||
|
||||
Setting a clipper on the primary surface is something that sometimes is good, sometimes is bad. For this reason, so far the "DirectX" / "Force clipper" is unchecked by default.
|
||||
But a side effect of the lack of a clipping region is the rupture of the desktop composition! So, if that happens (the desktop blinks and the AERO transparency effects disappear) you can try to set the flag and see if there are changes for the better.
|
||||
|
||||
============================================================================================
|
||||
Final note:
|
||||
|
||||
If all else fails do not despair! Defaulted values are pretty good in most cases, so better start from scratch without using an old .dxw export file.
|
||||
Or, even better, create a new defauled entry, import the old .dxw file and start comparing the two configurations: it is a hell of a job, but likely you can pick something good from the old file that will make the new entry working.
|
||||
Finally, share your success with the community! Please, post on the SF board any working and non trivial configuration to share it with other users, and notify residual problems that I could work about.
|
||||
Please, consider this as being part of the fun!
|
||||
|
||||
yours faithfully
|
||||
GHO
|
||||
GHO
|
||||
|
||||
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e98419de58b94f79d91d5044fe603e7754db6ea3d79e641b4fc16d9df5ea17e5
|
||||
size 700416
|
||||
oid sha256:eca050e2e867b9ccd61ce1e78b991f48504d208b1454e486e76ace04e7763b5f
|
||||
size 700928
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a75eed6fc7414d986f53c430fc32131c3052a40abfabdac6c13e0ba6a8900b08
|
||||
size 664576
|
||||
oid sha256:e2ea4c3b5e4fd2628d255b154cb6d5094da8be5175c844919cc1ad8ab6eecf81
|
||||
size 665088
|
||||
|
281
build/dxwnd.ini
281
build/dxwnd.ini
@ -1,281 +0,0 @@
|
||||
[window]
|
||||
exepath=D:\Games\Year Dead\
|
||||
posx=1164
|
||||
posy=243
|
||||
sizx=320
|
||||
sizy=494
|
||||
exportpath=G:\DxWnd.develop\v2_03_94fx3_src\build\exports\
|
||||
debug=1
|
||||
autohide=0
|
||||
checkadmin=0
|
||||
namefromfolder=0
|
||||
multiprocesshook=0
|
||||
updatepaths=1
|
||||
defaultcoord=0
|
||||
defaultposx=50
|
||||
defaultposy=50
|
||||
defaultsizx=800
|
||||
defaultsizy=600
|
||||
[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=f:\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
|
||||
title5=Adrenix 3D
|
||||
path5=F:\Games\Adrenix\AdrenixD.exe
|
||||
startfolder5=
|
||||
launchpath5=
|
||||
module5=
|
||||
opengllib5=
|
||||
notes5=
|
||||
registry5=
|
||||
ver5=0
|
||||
monitorid5=0
|
||||
coord5=0
|
||||
flag5=134235174
|
||||
flagg5=1216413696
|
||||
flagh5=20
|
||||
flagi5=138412036
|
||||
flagj5=5248
|
||||
flagk5=65536
|
||||
flagl5=0
|
||||
flagm5=0
|
||||
tflag5=6402
|
||||
dflag5=0
|
||||
posx5=50
|
||||
posy5=50
|
||||
sizx5=800
|
||||
sizy5=600
|
||||
maxfps5=0
|
||||
initts5=0
|
||||
winver5=0
|
||||
maxres5=-1
|
||||
swapeffect5=0
|
||||
maxddinterface5=7
|
||||
slowratio5=1
|
||||
initresw5=0
|
||||
initresh5=0
|
||||
title6=Adrenix
|
||||
path6=F:\Games\Adrenix\Adrenix.exe
|
||||
startfolder6=
|
||||
launchpath6=
|
||||
module6=
|
||||
opengllib6=
|
||||
notes6=
|
||||
registry6=
|
||||
ver6=0
|
||||
monitorid6=0
|
||||
coord6=0
|
||||
flag6=136314918
|
||||
flagg6=1207959552
|
||||
flagh6=20
|
||||
flagi6=138412036
|
||||
flagj6=4224
|
||||
flagk6=0
|
||||
flagl6=0
|
||||
flagm6=0
|
||||
tflag6=0
|
||||
dflag6=0
|
||||
posx6=50
|
||||
posy6=50
|
||||
sizx6=800
|
||||
sizy6=600
|
||||
maxfps6=0
|
||||
initts6=0
|
||||
winver6=0
|
||||
maxres6=-1
|
||||
swapeffect6=0
|
||||
maxddinterface6=7
|
||||
slowratio6=1
|
||||
initresw6=0
|
||||
initresh6=0
|
||||
[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=
|
35
build/exports/Blade Runner (4CD version).dxw
Normal file
35
build/exports/Blade Runner (4CD version).dxw
Normal file
@ -0,0 +1,35 @@
|
||||
[target]
|
||||
title0=Blade Runner (4CD version)
|
||||
path0=D:\Blade\BLADE.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=Courtesy of Riitaoja:\n\nInstalling Blade Runner on 64bit Windows (4CD version):\n\n- Copy the "BASE" folder from CD1 to your hard drive and rename it to "BLADE".\n- Copy "CDFRAMES.DAT" file from \CD1 -forder of the optical drive to the "BLADE"\ndirectory on your hard drive and rename the file to "HDFRAMES.DAT".\n\n- Timing -> Frames per Second - Limit delay 40 msec (25 FPS)\nFixes the shooting range by limiting FPS.
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=136331298
|
||||
flagg0=1207963648
|
||||
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=40
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=-1
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
initresw0=800
|
||||
initresh0=600
|
35
build/exports/Blade Runner (Win7).dxw
Normal file
35
build/exports/Blade Runner (Win7).dxw
Normal file
@ -0,0 +1,35 @@
|
||||
[target]
|
||||
title0=Blade Runner (Win7)
|
||||
path0=F:\Games\Blade Runner\Blade7.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=From DVD version V2, with patched exe for WinXP and Win7\n\nBlade7.exe working ok also on Win10
|
||||
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
|
@ -1,21 +1,25 @@
|
||||
[target]
|
||||
title0=Blade Runner
|
||||
path0=D:\Games\blade runner\BLADE.EXE
|
||||
path0=F:\Games\blade runner\BLADE.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=0
|
||||
coord0=0
|
||||
flag0=134234210
|
||||
flagg0=1480589312
|
||||
flagh0=2580
|
||||
flagi0=4210692
|
||||
flagi0=4194308
|
||||
flagj0=128
|
||||
flagk0=2048
|
||||
flagl0=0
|
||||
flagm0=0
|
||||
tflag0=0
|
||||
initx0=0
|
||||
inity0=0
|
||||
minx0=0
|
||||
miny0=0
|
||||
maxx0=0
|
||||
maxy0=0
|
||||
dflag0=0
|
||||
posx0=50
|
||||
posy0=50
|
||||
sizx0=800
|
||||
@ -24,5 +28,8 @@ maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=-1
|
||||
launchpath0=
|
||||
flagj0=128
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=1
|
||||
initresw0=0
|
||||
initresh0=0
|
||||
|
35
build/exports/Return Fire 2 (OpenGL).dxw
Normal file
35
build/exports/Return Fire 2 (OpenGL).dxw
Normal file
@ -0,0 +1,35 @@
|
||||
[target]
|
||||
title0=Return Fire 2 (OpenGL)
|
||||
path0=F:\Games\Return Fire 2\RFireII.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=HKEY_CURRENT_USER\Software\Prolific]\n\n[HKEY_CURRENT_USER\Software\Prolific\RFireII]\n\n[HKEY_CURRENT_USER\Software\Prolific\RFireII\1.0]\n;"GfxDLL"="SC_3dfx"\n"GfxDLL"="SC_OGL"\n;"GfxDLL"="36D_S3D"\n"ID"="{E6E7C9E0-41B2-11D2-9C0B-006097B4D5BF}"\n"NAME1"="JOHN"\n"name2"=""\n"name3"=""\n"name4"=""\n"LASTRFIREIIGAME"="JOHN.UI"\n\n[HKEY_LOCAL_MACHINE\Software\Prolific Publishing, Inc.]\n\n[HKEY_LOCAL_MACHINE\Software\Prolific Publishing, Inc.\Return Fire II]\n"Path"=".\\"\n\n[HKEY_LOCAL_MACHINE\Software\Prolific Publishing, Inc.\Return Fire II\1.00.000]\n\n
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=681574434
|
||||
flagg0=1208090624
|
||||
flagh0=3093
|
||||
flagi0=1212153860
|
||||
flagj0=4224
|
||||
flagk0=327680
|
||||
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
|
35
build/exports/Return Fire 2 (SW).dxw
Normal file
35
build/exports/Return Fire 2 (SW).dxw
Normal file
@ -0,0 +1,35 @@
|
||||
[target]
|
||||
title0=Return Fire 2 (SW)
|
||||
path0=F:\Games\Return Fire 2\RFireII.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=HKEY_CURRENT_USER\Software\Prolific]\n\n[HKEY_CURRENT_USER\Software\Prolific\RFireII]\n\n[HKEY_CURRENT_USER\Software\Prolific\RFireII\1.0]\n;"GfxDLL"="SC_3dfx"\n"GfxDLL"="SC_OGL"\n;"GfxDLL"="36D_S3D"\n"ID"="{E6E7C9E0-41B2-11D2-9C0B-006097B4D5BF}"\n"NAME1"="JOHN"\n"name2"=""\n"name3"=""\n"name4"=""\n"LASTRFIREIIGAME"="JOHN.UI"\n\n[HKEY_LOCAL_MACHINE\Software\Prolific Publishing, Inc.]\n\n[HKEY_LOCAL_MACHINE\Software\Prolific Publishing, Inc.\Return Fire II]\n"Path"=".\\"\n\n[HKEY_LOCAL_MACHINE\Software\Prolific Publishing, Inc.\Return Fire II\1.00.000]\n\n
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=681574434
|
||||
flagg0=1207959552
|
||||
flagh0=1044
|
||||
flagi0=1212153860
|
||||
flagj0=4224
|
||||
flagk0=327680
|
||||
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
|
35
build/exports/RoboRumble (dx5).dxw
Normal file
35
build/exports/RoboRumble (dx5).dxw
Normal file
@ -0,0 +1,35 @@
|
||||
[target]
|
||||
title0=RoboRumble (dx5)
|
||||
path0=F:\Games\RoboRumble\DATA\rr_dx5.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=\n[HKEY_LOCAL_MACHINE\SOFTWARE\Metropolis]\n\n[HKEY_LOCAL_MACHINE\SOFTWARE\Metropolis\RoboRumble]\n"Directory"=".\\"\n\n
|
||||
ver0=1
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=681574442
|
||||
flagg0=1208221696
|
||||
flagh0=1044
|
||||
flagi0=1212153860
|
||||
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
|
35
build/exports/RoboRumble (sw).dxw
Normal file
35
build/exports/RoboRumble (sw).dxw
Normal file
@ -0,0 +1,35 @@
|
||||
[target]
|
||||
title0=RoboRumble (sw)
|
||||
path0=F:\Games\RoboRumble\DATA\rr_soft.exe
|
||||
startfolder0=
|
||||
launchpath0=F:\Games\RoboRumble\rrumble.exe
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=\n[HKEY_LOCAL_MACHINE\SOFTWARE\Metropolis]\n\n[HKEY_LOCAL_MACHINE\SOFTWARE\Metropolis\RoboRumble]\n"Directory"=".\\"\n\n
|
||||
ver0=1
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=681574442
|
||||
flagg0=1207959552
|
||||
flagh0=1044
|
||||
flagi0=1212153860
|
||||
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
|
35
build/exports/Warhammer Dark Omen.dxw
Normal file
35
build/exports/Warhammer Dark Omen.dxw
Normal file
@ -0,0 +1,35 @@
|
||||
[target]
|
||||
title0=Warhammer Dark Omen
|
||||
path0=D:\Dark Omen\PRG_ENG\EngRel.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=Courtesy of Riitaoja:\n\nDark Omen needs a d3drm.dll file to run:\n- This file can be located in the CD's \DIRECTX -folder.\n- Copy the file into the "Dark Omen\PRG_ENG" directory.\n\nSound issues:\nDark Omen can sometimes produce a burst of white noise from the speakers.\nUsing the Timing option "CPU slow down" may fix this issue.
|
||||
registry0=[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\Dark Omen\1.0\Options\Options]\n"Selected"="4"\n"HardwareSelected"="252"\n"SoftwareSelected"="228"\n"MMXSelected"="256"\n"ToolTips"="1"\n"MusicVolume"="408"\n"SFXVolume"="816"\n"SoftwareSoundQuality"="2"\n"SoftwareParticleQuality"="2"\n"MMXSoundQuality"="2"\n"MMXParticaleQuality"="1"\n"HardwareSoundQuality"="2"\n"HardwareParticleQuality"="2"\n"InformationNum"="11"\n
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=136314920
|
||||
flagg0=1207959552
|
||||
flagh0=1044
|
||||
flagi0=1212153860
|
||||
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
|
@ -1339,3 +1339,13 @@ add: window position selector & "locked size" + "anchored" modes
|
||||
fix: transient mode when system tray is not available
|
||||
fix: recursion problem in kernel32 LoadLibrary* wrappers. Allows "Hot patch" on WinXP.
|
||||
fix: initial position problem.
|
||||
|
||||
v2.03.96:
|
||||
preliminary handling of hidden window
|
||||
fix: handling of non-windowed mode. Fixes "Warhammer 40.000 Rites of War" in non-windowed mode
|
||||
add: NODDEXCLUSIVEMODE flag. Forces non exclusive ddraw coop level in non-windowed mode. Fixes "Warhammer 40.000 Rites of War" in non-windowed mode
|
||||
add: CLEARTEXTUREFOURCC flag. Suppresses FOURCC capability and handling. Should help to process compressed textures.
|
||||
fix: CreateDIBSection wrapper log messages
|
||||
fix: PREVENTMAXIMIZE window size checks: should avoid size bigger than initial size, bugged coding inhibited any growth.
|
||||
fix: GUI setting of execution folder when running "Launcher" task.
|
||||
|
||||
|
@ -137,6 +137,9 @@ static HRESULT sBltToPrimary(int dxversion, Blt_Type pBlt, char *api, LPDIRECTDR
|
||||
RECT destrect, emurect;
|
||||
extern PrimaryBlt_Type pPrimaryBlt;
|
||||
|
||||
// handle minimized states
|
||||
if(!dxw.IsVisible) return DD_OK;
|
||||
|
||||
// check coordinates
|
||||
dxw.UpdateDesktopCoordinates();
|
||||
|
||||
|
@ -2273,15 +2273,16 @@ HRESULT WINAPI extGetDisplayMode(int dxversion, GetDisplayMode_Type pGetDisplayM
|
||||
if(dxw.Windowize){
|
||||
lpddsd->dwWidth = dxw.GetScreenWidth();
|
||||
lpddsd->dwHeight = dxw.GetScreenHeight();
|
||||
}
|
||||
|
||||
// v2.1.96: fake screen color depth
|
||||
if((dxw.dwFlags2 & (INIT8BPP|INIT16BPP)) || (dxw.dwFlags7 & (INIT24BPP|INIT32BPP))){ // v2.02.32 fix
|
||||
if(dxw.dwFlags2 & INIT8BPP) FixPixelFormat(8, &lpddsd->ddpfPixelFormat);
|
||||
if(dxw.dwFlags2 & INIT16BPP) FixPixelFormat(16, &lpddsd->ddpfPixelFormat);
|
||||
if(dxw.dwFlags7 & INIT24BPP) FixPixelFormat(24, &lpddsd->ddpfPixelFormat);
|
||||
if(dxw.dwFlags7 & INIT32BPP) FixPixelFormat(32, &lpddsd->ddpfPixelFormat);
|
||||
OutTraceDW("GetDisplayMode: fix RGBBitCount=%d\n", lpddsd->ddpfPixelFormat.dwRGBBitCount);
|
||||
}
|
||||
// v2.1.96: fake screen color depth
|
||||
// v2.03.96: moved out from dxw.Windowize condition
|
||||
if((dxw.dwFlags2 & (INIT8BPP|INIT16BPP)) || (dxw.dwFlags7 & (INIT24BPP|INIT32BPP))){ // v2.02.32 fix
|
||||
if(dxw.dwFlags2 & INIT8BPP) FixPixelFormat(8, &lpddsd->ddpfPixelFormat);
|
||||
if(dxw.dwFlags2 & INIT16BPP) FixPixelFormat(16, &lpddsd->ddpfPixelFormat);
|
||||
if(dxw.dwFlags7 & INIT24BPP) FixPixelFormat(24, &lpddsd->ddpfPixelFormat);
|
||||
if(dxw.dwFlags7 & INIT32BPP) FixPixelFormat(32, &lpddsd->ddpfPixelFormat);
|
||||
OutTraceDW("GetDisplayMode: fix RGBBitCount=%d\n", lpddsd->ddpfPixelFormat.dwRGBBitCount);
|
||||
}
|
||||
|
||||
//OutTraceDW("GetDisplayMode: returning WxH=(%dx%d) PixelFormat Flags=%x(%s) RGBBitCount=%d RGBAmask=(%x,%x,%x,%x) Caps=%x(%s)\n",
|
||||
@ -2335,7 +2336,7 @@ HRESULT WINAPI extSetCooperativeLevel(int dxversion, SetCooperativeLevel_Type pS
|
||||
if(dxw.VirtualPixelFormat.dwRGBBitCount==0) dxw.VirtualPixelFormat=ddsd.ddpfPixelFormat;
|
||||
SetBltTransformations(dxversion);
|
||||
|
||||
if(dxw.Windowize){
|
||||
if(dxw.Windowize || (dxw.dwFlags7 & NODDEXCLUSIVEMODE)){
|
||||
if (dwflags & DDSCL_FULLSCREEN){
|
||||
// v2.01.82 fix:
|
||||
// WARN: Tomb Raider 4 demo is setting cooperative level against hwnd 0 (desktop)
|
||||
@ -2450,6 +2451,13 @@ static void FixSurfaceCaps(LPDDSURFACEDESC2 lpddsd, int dxversion)
|
||||
lpddsd->dwFlags |= DDSD_PIXELFORMAT;
|
||||
GetPixFmt(lpddsd);
|
||||
}
|
||||
if((lpddsd->dwFlags & DDSD_PIXELFORMAT) &&
|
||||
(lpddsd->ddpfPixelFormat.dwFlags & DDPF_FOURCC) &&
|
||||
(dxw.dwFlags7 & CLEARTEXTUREFOURCC)){
|
||||
lpddsd->ddpfPixelFormat = dxw.VirtualPixelFormat;
|
||||
lpddsd->ddpfPixelFormat.dwFourCC = 0;
|
||||
lpddsd->ddpfPixelFormat.dwFlags &= ~DDPF_FOURCC;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@ -3211,7 +3219,9 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate
|
||||
OutTraceDDRAW("CreateSurface: Version=%d lpdd=%x %s\n",
|
||||
dxversion, lpdd, LogSurfaceAttributes((LPDDSURFACEDESC)lpddsd, "[CreateSurface]", __LINE__));
|
||||
|
||||
lpddsd->ddpfPixelFormat.dwFourCC = 0;
|
||||
// v2.03.95.fx1 - deleted: some texture handling REQUIRES a proper FourCC codec.
|
||||
// maybe it could be suppressed by a dedicated config. flag and on primary surfaces only?
|
||||
//lpddsd->ddpfPixelFormat.dwFourCC = 0;
|
||||
|
||||
SurfaceMode = (dxw.dwFlags1 & EMULATESURFACE) ? ((dxw.dwFlags6 & FLIPEMULATION) ? PRIMARY_EMULATED : PRIMARY_FLIPPABLE) : PRIMARY_DIRECT;
|
||||
|
||||
@ -3342,7 +3352,8 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate
|
||||
// v2.3.59: same extra reference is needed by "Wahammer Chaos Gate" that uses ddraw interface release 2
|
||||
// v2.3.72: fixed previous fix: condition is <=2, not >=2 !
|
||||
// Be aware that it may perhaps become <=3, if we get the same problem elsewhere
|
||||
if((dxw.dwDDVersion<=2) && dxw.Windowize) lpdd->AddRef();
|
||||
// if((dxw.dwDDVersion<=2) && dxw.Windowize) lpdd->AddRef();
|
||||
if(dxw.dwDDVersion<=2) lpdd->AddRef();
|
||||
|
||||
return DD_OK;
|
||||
}
|
||||
@ -3660,12 +3671,21 @@ HRESULT WINAPI PrimaryStretchBlt(int dxversion, Blt_Type pBlt, LPDIRECTDRAWSURFA
|
||||
res= (*pBlt)(lpdds, lpdestrect, lpddsTmp, &TmpRect, DDBLT_WAIT, 0);
|
||||
}
|
||||
if(res) OutTraceE("PrimaryStretchBlt: BltFast ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
//if(res && !dxw.Windowize) RestoreDDrawSurfaces();
|
||||
if(res == DDERR_SURFACELOST){
|
||||
res = lpdds->Restore();
|
||||
if(res) {
|
||||
OutTraceE("PrimaryStretchBlt: Restore ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
|
||||
if(lpdds->IsLost()) {
|
||||
res = lpdds->Restore();
|
||||
if(res) {
|
||||
OutTraceE("PrimaryStretchBlt: Restore ERROR lpdds=%x err=%x(%s) at %d\n", lpdds, res, ExplainDDError(res), __LINE__);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(lpddsTmp->IsLost()) {
|
||||
res = lpddsTmp->Restore();
|
||||
if(res) {
|
||||
OutTraceE("PrimaryStretchBlt: Restore ERROR lpdds=%x err=%x(%s) at %d\n", lpddsTmp, res, ExplainDDError(res), __LINE__);
|
||||
}
|
||||
}
|
||||
if(!res) {
|
||||
OutTraceDW("PrimaryStretchBlt: surface sucessfully recovered, retry\n");
|
||||
continue;
|
||||
}
|
||||
|
@ -94,6 +94,7 @@ void dxwCore::InitTarget(TARGETMAP *target)
|
||||
dwFlags8 = target->flags8;
|
||||
dwTFlags = target->tflags;
|
||||
Windowize = (dwFlags2 & WINDOWIZE) ? TRUE : FALSE;
|
||||
IsVisible = TRUE;
|
||||
if(dwFlags3 & FULLSCREENONLY) FullScreen=TRUE;
|
||||
gsModules = target->module;
|
||||
MaxFPS = target->MaxFPS;
|
||||
|
@ -149,6 +149,7 @@ public: // methods
|
||||
public: // simple data variables
|
||||
int MonitorId;
|
||||
BOOL Windowize;
|
||||
BOOL IsVisible;
|
||||
DDPIXELFORMAT ActualPixelFormat;
|
||||
DDPIXELFORMAT VirtualPixelFormat;
|
||||
DWORD dwDDVersion;
|
||||
@ -401,7 +402,7 @@ char *SysNames[]={
|
||||
extern char *SysNames[];
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
enum {
|
||||
HINT_HINT = 0,
|
||||
HINT_DDRAW, HINT_D3D8, HINT_D3D9, HINT_D3D10,
|
||||
HINT_D3D11, HINT_OPENGL, HINT_DSOUND, HINT_DINPUT,
|
||||
@ -409,9 +410,9 @@ typedef enum {
|
||||
HINT_FAKEOS, HINT_OBFUSCATED,HINT_SAFEDISC, HINT_SECUROM,
|
||||
HINT_LIMITMEM, HINT_HOOKUPDATE,
|
||||
HINT_LAST
|
||||
} HintEnumIds;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
enum {
|
||||
DXVK_NONE=0,
|
||||
DXVK_CLIPTOGGLE,
|
||||
DXVK_REFRESH,
|
||||
@ -431,7 +432,7 @@ typedef enum {
|
||||
DXVK_SIZE
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
enum {
|
||||
GDIMODE_NONE = 0,
|
||||
GDIMODE_STRETCHED,
|
||||
GDIMODE_EMULATED,
|
||||
|
@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "TlHelp32.h"
|
||||
|
||||
#define VERSION "2.03.95"
|
||||
#define VERSION "2.03.96"
|
||||
|
||||
#define DDTHREADLOCK 1
|
||||
//#define LOCKTHREADS
|
||||
|
@ -1,20 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dxwnd", "dxwnd.vs2008.vcproj", "{579E7FE7-2745-4100-A802-23511711FCDE}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{579E7FE7-2745-4100-A802-23511711FCDE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{579E7FE7-2745-4100-A802-23511711FCDE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{579E7FE7-2745-4100-A802-23511711FCDE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{579E7FE7-2745-4100-A802-23511711FCDE}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Binary file not shown.
@ -361,6 +361,15 @@ static char *ExplainDIBUsage(UINT u)
|
||||
return p;
|
||||
}
|
||||
|
||||
static char *sBMIDump(BITMAPINFO *pbmi)
|
||||
{
|
||||
static char s[256];
|
||||
sprintf(s, "colors RGBX=(%x,%x,%x,%x) header bitc=%d size=(%dx%d) compr=%x",
|
||||
pbmi->bmiColors->rgbRed, pbmi->bmiColors->rgbGreen, pbmi->bmiColors->rgbBlue, pbmi->bmiColors->rgbReserved,
|
||||
pbmi->bmiHeader.biBitCount, pbmi->bmiHeader.biWidth, pbmi->bmiHeader.biHeight, pbmi->bmiHeader.biCompression);
|
||||
return s;
|
||||
}
|
||||
|
||||
static void TraceBITMAPINFOHEADER(char *fName, BITMAPINFOHEADER *bmi)
|
||||
{
|
||||
OutTrace("%s: BitmapInfo {Size=%d dim=(%dx%d) Planes=%d bitcount=%d Compression=%x SizeImage=%d PelsPerMeter=%dx%d colors=U%d:I%d}\n",
|
||||
@ -2994,7 +3003,7 @@ HBITMAP WINAPI extCreateDIBitmap(HDC hdc, BITMAPINFOHEADER *lpbmih, DWORD fdwIni
|
||||
HBITMAP WINAPI extCreateDIBSection(HDC hdc, const BITMAPINFO *pbmi, UINT iUsage, VOID **ppvBits, HANDLE hSection, DWORD dwOffset)
|
||||
{
|
||||
HBITMAP ret;
|
||||
OutTraceDW("CreateDIBitmap: hdc=%x\n", hdc);
|
||||
OutTraceDW("CreateDIBSection: hdc=%x bmi=%s usage=%s hsect=%x offset=%x\n", hdc, sBMIDump((BITMAPINFO *)pbmi), ExplainDIBUsage(iUsage), hSection, dwOffset);
|
||||
|
||||
if(dxw.IsToRemap(hdc)) {
|
||||
switch(dxw.GDIEmulationMode){
|
||||
@ -3010,7 +3019,12 @@ HBITMAP WINAPI extCreateDIBSection(HDC hdc, const BITMAPINFO *pbmi, UINT iUsage,
|
||||
}
|
||||
|
||||
ret=(*pCreateDIBSection)(hdc, pbmi, iUsage, ppvBits, hSection, dwOffset);
|
||||
if(!ret) OutTraceE("CreateDIBitmap ERROR: err=%d\n", GetLastError());
|
||||
if(!ret) {
|
||||
OutTraceE("CreateDIBSection ERROR: err=%d\n", GetLastError());
|
||||
}
|
||||
else {
|
||||
OutTraceDW("CreateDIBSection: ret=%x\n", ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -788,6 +788,7 @@ BOOL WINAPI extShowWindow(HWND hwnd, int nCmdShow)
|
||||
// v2.03.95: force zero size when minimize and drefresh window coordinates
|
||||
if(hwnd == dxw.GethWnd()){
|
||||
if(nCmdShow==SW_MINIMIZE) {
|
||||
dxw.IsVisible = FALSE;
|
||||
iLastSizX = dxw.iSizX;
|
||||
iLastSizY = dxw.iSizY;
|
||||
//iLastPosX = dxw.iPosX;
|
||||
@ -795,6 +796,7 @@ BOOL WINAPI extShowWindow(HWND hwnd, int nCmdShow)
|
||||
dxw.iSizX = dxw.iSizY = 0;
|
||||
}
|
||||
else {
|
||||
dxw.IsVisible = TRUE;
|
||||
if((dxw.iSizX == 0) && (dxw.iSizY == 0)){
|
||||
dxw.iSizX = iLastSizX;
|
||||
dxw.iSizY = iLastSizY;
|
||||
@ -991,8 +993,9 @@ BOOL WINAPI extSetWindowPos(HWND hwnd, HWND hWndInsertAfter, int X, int Y, int c
|
||||
if (dxw.dwFlags1 & PREVENTMAXIMIZE){
|
||||
int UpdFlag =0;
|
||||
int MaxX, MaxY;
|
||||
MaxX = dxw.iSizX;
|
||||
MaxY = dxw.iSizY;
|
||||
// v2.03.96: in PREVENTMAXIMIZE mode don't exceed the initial size
|
||||
MaxX = dxw.iSiz0X;
|
||||
MaxY = dxw.iSiz0Y;
|
||||
if (!MaxX) MaxX = dxw.GetScreenWidth();
|
||||
if (!MaxY) MaxY = dxw.GetScreenHeight();
|
||||
if(cx>MaxX) { cx=MaxX; UpdFlag=1; }
|
||||
@ -1735,6 +1738,7 @@ static HWND WINAPI CreateWindowCommon(
|
||||
//if (dxw.IsFullScreen() && (dxw.dwFlags1 & PREVENTMAXIMIZE)){
|
||||
if ((hwnd == dxw.GethWnd()) && dxw.IsFullScreen() && (dxw.dwFlags1 & PREVENTMAXIMIZE)){
|
||||
OutTraceDW("%s: entering maximized state\n", ApiName);
|
||||
dxw.IsVisible = TRUE;
|
||||
(*pShowWindow)(hwnd, SW_MAXIMIZE);
|
||||
}
|
||||
|
||||
@ -4013,3 +4017,6 @@ INT_PTR WINAPI extDialogBoxIndirectParamA(HINSTANCE hInstance, LPCDLGTEMPLATE hD
|
||||
return (*pDialogBoxIndirectParamA)(hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
|
||||
}
|
||||
|
||||
// To do:
|
||||
// GrayStringA
|
||||
// GrayStringW
|
@ -502,14 +502,19 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
|
||||
static int iLastX, iLastY, iLastW, iLastH;
|
||||
switch(wparam & 0xFFF0){
|
||||
case SC_MINIMIZE:
|
||||
dxw.IsVisible = FALSE;
|
||||
iLastX = dxw.iPosX; iLastY = dxw.iPosY;
|
||||
iLastW = dxw.iSizX; iLastH = dxw.iSizY;
|
||||
dxw.iPosX = dxw.iPosY = dxw.iSizX = dxw.iSizY = 0;
|
||||
break;
|
||||
case SC_RESTORE:
|
||||
dxw.IsVisible = TRUE;
|
||||
dxw.iPosX = iLastX; dxw.iPosY = iLastY;
|
||||
dxw.iSizX = iLastW; dxw.iSizY = iLastH;
|
||||
break;
|
||||
case SC_MAXIMIZE:
|
||||
dxw.IsVisible = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -44,6 +44,8 @@ void CTabDirectX2::DoDataExchange(CDataExchange* pDX)
|
||||
DDX_Check(pDX, IDC_USERGB565, cTarget->m_UseRGB565);
|
||||
DDX_CBIndex(pDX, IDC_DDWAWLIMITCOMBO, cTarget->m_MaxDdrawInterface);
|
||||
DDX_Check(pDX, IDC_BACKBUFATTACH, cTarget->m_BackBufAttach);
|
||||
DDX_Check(pDX, IDC_CLEARTEXTUREFOURCC, cTarget->m_ClearTextureFourCC);
|
||||
DDX_Check(pDX, IDC_NODDEXCLUSIVEMODE, cTarget->m_NoDDExclusiveMode);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CTabDirectX2, CDialog)
|
||||
|
@ -192,6 +192,8 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/)
|
||||
m_Init8BPP = FALSE;
|
||||
m_Init16BPP = FALSE;
|
||||
m_BackBufAttach = FALSE;
|
||||
m_ClearTextureFourCC = FALSE;
|
||||
m_NoDDExclusiveMode = FALSE;
|
||||
m_HandleAltF4 = FALSE;
|
||||
m_LimitFPS = FALSE;
|
||||
m_SkipFPS = FALSE;
|
||||
|
@ -153,6 +153,8 @@ public:
|
||||
BOOL m_Init8BPP;
|
||||
BOOL m_Init16BPP;
|
||||
BOOL m_BackBufAttach;
|
||||
BOOL m_ClearTextureFourCC;
|
||||
BOOL m_NoDDExclusiveMode;
|
||||
BOOL m_HandleAltF4;
|
||||
BOOL m_HandleExceptions;
|
||||
BOOL m_SkipFPS;
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,20 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dxwndhost", "dxwndhost.vs2008.vcproj", "{FD0B0234-8EC5-43C0-A384-1B881DD3D925}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{FD0B0234-8EC5-43C0-A384-1B881DD3D925}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FD0B0234-8EC5-43C0-A384-1B881DD3D925}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FD0B0234-8EC5-43C0-A384-1B881DD3D925}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FD0B0234-8EC5-43C0-A384-1B881DD3D925}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Binary file not shown.
@ -444,6 +444,8 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg)
|
||||
//if(dlg->m_Init8BPP) t->flags2 |= INIT8BPP;
|
||||
//if(dlg->m_Init16BPP) t->flags2 |= INIT16BPP;
|
||||
if(dlg->m_BackBufAttach) t->flags2 |= BACKBUFATTACH;
|
||||
if(dlg->m_ClearTextureFourCC) t->flags7 |= CLEARTEXTUREFOURCC;
|
||||
if(dlg->m_NoDDExclusiveMode) t->flags7 |= NODDEXCLUSIVEMODE;
|
||||
if(dlg->m_HandleAltF4) t->flags |= HANDLEALTF4;
|
||||
if(dlg->m_LimitFPS) t->flags2 |= LIMITFPS;
|
||||
if(dlg->m_SkipFPS) t->flags2 |= SKIPFPS;
|
||||
@ -731,6 +733,8 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg)
|
||||
dlg->m_RecoverScreenMode = t->flags2 & RECOVERSCREENMODE ? 1 : 0;
|
||||
dlg->m_RefreshOnResize = t->flags2 & REFRESHONRESIZE ? 1 : 0;
|
||||
dlg->m_BackBufAttach = t->flags2 & BACKBUFATTACH ? 1 : 0;
|
||||
dlg->m_ClearTextureFourCC = t->flags7 & CLEARTEXTUREFOURCC ? 1 : 0;
|
||||
dlg->m_NoDDExclusiveMode = t->flags7 & NODDEXCLUSIVEMODE ? 1 : 0;
|
||||
dlg->m_HandleAltF4 = t->flags & HANDLEALTF4 ? 1 : 0;
|
||||
dlg->m_LimitFPS = t->flags2 & LIMITFPS ? 1 : 0;
|
||||
dlg->m_SkipFPS = t->flags2 & SKIPFPS ? 1 : 0;
|
||||
@ -2638,6 +2642,7 @@ DWORD WINAPI StartDebug(void *p)
|
||||
PROCESS_INFORMATION pinfo;
|
||||
char path[MAX_PATH];
|
||||
extern char *GetFileNameFromHandle(HANDLE);
|
||||
char *sRunTargetPath;
|
||||
#ifdef DXWDEBUGSTEPPING
|
||||
PROCESS_INFORMATION *pi;
|
||||
CREATE_THREAD_DEBUG_INFO *ti;
|
||||
@ -2661,10 +2666,11 @@ DWORD WINAPI StartDebug(void *p)
|
||||
ThInfo = (ThreadInfo_Type *)p;
|
||||
ZeroMemory(&sinfo, sizeof(sinfo));
|
||||
sinfo.cb = sizeof(sinfo);
|
||||
strcpy_s(path, sizeof(path), ThInfo->TM->path);
|
||||
sRunTargetPath = (strlen(ThInfo->PM->launchpath)>0) ? ThInfo->PM->launchpath : ThInfo->TM->path;
|
||||
strcpy_s(path, sizeof(path), sRunTargetPath);
|
||||
PathRemoveFileSpec(path);
|
||||
if(!CreateProcess(NULL,
|
||||
(strlen(ThInfo->PM->launchpath)>0) ? ThInfo->PM->launchpath : ThInfo->TM->path,
|
||||
sRunTargetPath,
|
||||
0, 0, false, DEBUG_PROCESS|DEBUG_ONLY_THIS_PROCESS, NULL, path, &sinfo, &pinfo)){
|
||||
DWORD dwLastErr = GetLastError();
|
||||
switch (dwLastErr){
|
||||
@ -3064,6 +3070,7 @@ void CDxwndhostView::OnRun()
|
||||
PROCESS_INFORMATION pinfo;
|
||||
char path[MAX_PATH];
|
||||
TARGETMAP RestrictedMaps[2];
|
||||
char *sRunTargetPath;
|
||||
|
||||
if(gTransientMode){
|
||||
i=iProgIndex-1;
|
||||
@ -3074,13 +3081,14 @@ void CDxwndhostView::OnRun()
|
||||
pos = listctrl.GetFirstSelectedItemPosition();
|
||||
i = listctrl.GetNextSelectedItem(pos);
|
||||
}
|
||||
sRunTargetPath = (strlen(PrivateMaps[i].launchpath)>0) ? PrivateMaps[i].launchpath : TargetMaps[i].path;
|
||||
ZeroMemory(&sinfo, sizeof(sinfo));
|
||||
sinfo.cb = sizeof(sinfo);
|
||||
// create a virtually single entry in the targetmap array
|
||||
memcpy(&RestrictedMaps[0], &TargetMaps[i], sizeof(TARGETMAP));
|
||||
memset(&RestrictedMaps[1], 0, sizeof(TARGETMAP));
|
||||
if(!(PrivateMaps[i].startfolder[0])){
|
||||
strcpy_s(path, sizeof(path), TargetMaps[i].path);
|
||||
strcpy_s(path, sizeof(path), sRunTargetPath);
|
||||
PathRemoveFileSpec(path);
|
||||
}else{
|
||||
strcpy_s(path, sizeof(path), PrivateMaps[i].startfolder);
|
||||
@ -3130,12 +3138,12 @@ void CDxwndhostView::OnRun()
|
||||
else
|
||||
if(TargetMaps[i].flags7 & INJECTSUSPENDED){
|
||||
OutTrace("injectsuspended mode\n");
|
||||
InjectSuspended((strlen(PrivateMaps[i].launchpath)>0) ? PrivateMaps[i].launchpath: TargetMaps[i].path, path);
|
||||
InjectSuspended(sRunTargetPath, path);
|
||||
}
|
||||
else{
|
||||
OutTrace("setwindowshook mode\n");
|
||||
CreateProcess(NULL,
|
||||
(strlen(PrivateMaps[i].launchpath)>0) ? PrivateMaps[i].launchpath: TargetMaps[i].path,
|
||||
sRunTargetPath,
|
||||
0, 0, false, CREATE_DEFAULT_ERROR_MODE, NULL, path, &sinfo, &pinfo);
|
||||
CloseHandle(pinfo.hProcess); // no longer needed, avoid handle leakage
|
||||
CloseHandle(pinfo.hThread); // no longer needed, avoid handle leakage
|
||||
|
BIN
host/resource
BIN
host/resource
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user