mirror of
https://github.com/DxWnd/DxWnd.reloaded
synced 2024-12-30 09:25:35 +01:00
v2_04_09_src_fx1
Former-commit-id: 34ead633e5a81cb2e9ec4181e14a991f756bd540
This commit is contained in:
parent
a8a8f52868
commit
4b8141b136
1
Release/.gitattributes
vendored
1
Release/.gitattributes
vendored
@ -1 +0,0 @@
|
||||
*.{dll,exe} filter=lfs diff=lfs merge=lfs -text
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:941f77bf133938a99ebdcbea0c35f2f33248ac7c1d4e7d5fe9d799ce470b433d
|
||||
size 782336
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:941f77bf133938a99ebdcbea0c35f2f33248ac7c1d4e7d5fe9d799ce470b433d
|
||||
size 782336
|
||||
oid sha256:5fc4cf8ef5a8514260d213b7d89caebe950a9dcfc43e948b25bb835c57e2df28
|
||||
size 782848
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:743ed4e87aa9d02d8b85936799f99eb83bab948207f13d1a98497644ddd27b20
|
||||
oid sha256:0478367b7c87124f807b20c7a3f5e3c6337815e9f8d63619ae023702f0efd817
|
||||
size 673792
|
||||
|
36
build/exports/Dominant Species.dxw
Normal file
36
build/exports/Dominant Species.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=Dominant Species
|
||||
path0=F:\Games\Dominant Species\DominantSpecies.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185826
|
||||
flagg0=1207959552
|
||||
flagh0=20
|
||||
flagi0=138412036
|
||||
flagj0=4224
|
||||
flagk0=65536
|
||||
flagl0=0
|
||||
flagm0=4194304
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
posx0=50
|
||||
posy0=50
|
||||
sizx0=800
|
||||
sizy0=600
|
||||
maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
36
build/exports/Hexen II (GDI).dxw
Normal file
36
build/exports/Hexen II (GDI).dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=Hexen II (GDI)
|
||||
path0=D:\Games\Hexen II - RIP\h2.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185827
|
||||
flagg0=1209401344
|
||||
flagh0=65556
|
||||
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=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
36
build/exports/Hexen II (OpenGl).dxw
Normal file
36
build/exports/Hexen II (OpenGl).dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=Hexen II (OpenGl)
|
||||
path0=D:\Games\Hexen II - RIP\glh2.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185827
|
||||
flagg0=1209401344
|
||||
flagh0=65556
|
||||
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=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
36
build/exports/Interstate 76 Nitro Pack.dxw
Normal file
36
build/exports/Interstate 76 Nitro Pack.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=Interstate 76 Nitro Pack
|
||||
path0=F:\Games\Interstate 76 Nitro Pack\nitro.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=0
|
||||
coord0=0
|
||||
flag0=134217762
|
||||
flagg0=2013265920
|
||||
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=1
|
||||
scanline0=1
|
||||
initresw0=0
|
||||
initresh0=0
|
36
build/exports/Man TT Super Bike (fake fullscreen).dxw
Normal file
36
build/exports/Man TT Super Bike (fake fullscreen).dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=Man TT Super Bike
|
||||
path0=D:\Games\ManTT\MANXTT.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=2
|
||||
flag0=673185827
|
||||
flagg0=1241514008
|
||||
flagh0=65556
|
||||
flagi0=138444804
|
||||
flagj0=1073747072
|
||||
flagk0=327680
|
||||
flagl0=25165824
|
||||
flagm0=1024
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
posx0=150
|
||||
posy0=150
|
||||
sizx0=800
|
||||
sizy0=600
|
||||
maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=640
|
||||
initresh0=480
|
@ -1,6 +1,6 @@
|
||||
[target]
|
||||
title0=Man TT Super Bike
|
||||
path0=F:\Games\ManTTSuperBike\MANXTT.EXE
|
||||
path0=D:\Games\ManTT\MANXTT.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
@ -10,14 +10,14 @@ registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673194022
|
||||
flagg0=1207959552
|
||||
flagh0=327700
|
||||
flag0=673185827
|
||||
flagg0=1241513984
|
||||
flagh0=65556
|
||||
flagi0=138412036
|
||||
flagj0=4224
|
||||
flagk0=17104896
|
||||
flagl0=276824576
|
||||
flagm0=0
|
||||
flagk0=327680
|
||||
flagl0=0
|
||||
flagm0=1024
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
posx0=50
|
||||
|
@ -6,7 +6,7 @@ opengllib0=
|
||||
ver0=0
|
||||
coord0=0
|
||||
flag0=134217762
|
||||
flagg0=1207959552
|
||||
flagg0=1275068416
|
||||
flagh0=20
|
||||
flagi0=4194308
|
||||
tflag0=0
|
||||
@ -26,7 +26,7 @@ launchpath0=
|
||||
notes0=
|
||||
registry0=
|
||||
flagj0=0
|
||||
flagk0=65536
|
||||
flagk0=98304
|
||||
flagl0=0
|
||||
flagm0=0
|
||||
dflag0=0
|
||||
@ -34,3 +34,9 @@ winver0=0
|
||||
maxres0=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
startfolder0=
|
||||
monitorid0=0
|
||||
slowratio0=1
|
||||
scanline0=1
|
||||
initresw0=0
|
||||
initresh0=0
|
||||
|
36
build/exports/NASCAR 2000.dxw
Normal file
36
build/exports/NASCAR 2000.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=NASCAR 2000
|
||||
path0=F:\Games\Nascar 2000\NASCAR 2000.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673202210
|
||||
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=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
36
build/exports/ShipWreckers demo.dxw
Normal file
36
build/exports/ShipWreckers demo.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=ShipWreckers demo
|
||||
path0=F:\Games\ShipWreckers demo\SW.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185826
|
||||
flagg0=1207959552
|
||||
flagh0=20
|
||||
flagi0=138412036
|
||||
flagj0=4224
|
||||
flagk0=65536
|
||||
flagl0=1048576
|
||||
flagm0=0
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
posx0=50
|
||||
posy0=50
|
||||
sizx0=800
|
||||
sizy0=600
|
||||
maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
36
build/exports/SuperBike 2000.dxw
Normal file
36
build/exports/SuperBike 2000.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=SuperBike 2000
|
||||
path0=F:\Games\SBK2000\SBK2000.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=N.b.\nCD rom in\nHKEY_LOCAL_MACHINE/SOFTWARE/EA SPORTS/Superbike 2000/CD\nor \nHKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/EA SPORTS/Superbike 2000/CD
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673202210
|
||||
flagg0=1207959552
|
||||
flagh0=20
|
||||
flagi0=138412036
|
||||
flagj0=4224
|
||||
flagk0=65536
|
||||
flagl0=524288
|
||||
flagm0=1312
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
posx0=50
|
||||
posy0=50
|
||||
sizx0=800
|
||||
sizy0=600
|
||||
maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
36
build/exports/V-Rally 3.dxw
Normal file
36
build/exports/V-Rally 3.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=V-Rally 3
|
||||
path0=F:\Games\V-Rally 3\Vrally3.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185826
|
||||
flagg0=1207959552
|
||||
flagh0=65556
|
||||
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=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
36
build/exports/Warcraft Adventures - Lord Of The Clans.dxw
Normal file
36
build/exports/Warcraft Adventures - Lord Of The Clans.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=Warcraft Adventures - Lord Of The Clans
|
||||
path0=F:\Games\Warcraft Adventures - Lord Of The Clans\PlayWin.exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185826
|
||||
flagg0=1207959552
|
||||
flagh0=20
|
||||
flagi0=134217732
|
||||
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=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
@ -1,6 +1,6 @@
|
||||
[target]
|
||||
title0=Warhammer - Shadow of the Horned Rat
|
||||
path0=D:\Games\Warhammer - Shadow of the Horned Rat\WHSHR.EXE
|
||||
path0=F:\Games\Warhammer - Shadow of the Horned Rat\WHSHR.EXE
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=GAMEF.DLL
|
||||
|
36
build/exports/Wrestling MPire Remix.dxw
Normal file
36
build/exports/Wrestling MPire Remix.dxw
Normal file
@ -0,0 +1,36 @@
|
||||
[target]
|
||||
title0=Wrestling MPire Remix
|
||||
path0=F:\Games\Wrestling MPire Remix (Career)\Wrestling MPire Remix (Fullscreen).exe
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185826
|
||||
flagg0=1207959552
|
||||
flagh0=65556
|
||||
flagi0=138412036
|
||||
flagj0=4224
|
||||
flagk0=65536
|
||||
flagl0=268435456
|
||||
flagm0=0
|
||||
tflag0=0
|
||||
dflag0=0
|
||||
posx0=50
|
||||
posy0=50
|
||||
sizx0=800
|
||||
sizy0=600
|
||||
maxfps0=0
|
||||
initts0=0
|
||||
winver0=0
|
||||
maxres0=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
@ -1,5 +1,41 @@
|
||||
[window]
|
||||
posx=1235
|
||||
posy=551
|
||||
posx=1165
|
||||
posy=618
|
||||
sizx=320
|
||||
sizy=200
|
||||
[target]
|
||||
title0=administrator
|
||||
path0=administrator
|
||||
startfolder0=
|
||||
launchpath0=
|
||||
module0=
|
||||
opengllib0=
|
||||
notes0=
|
||||
registry0=
|
||||
ver0=0
|
||||
monitorid0=-1
|
||||
coord0=0
|
||||
flag0=673185826
|
||||
flagg0=1207959552
|
||||
flagh0=20
|
||||
flagi0=134217732
|
||||
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=0
|
||||
swapeffect0=0
|
||||
maxddinterface0=7
|
||||
slowratio0=2
|
||||
scanline0=0
|
||||
initresw0=800
|
||||
initresh0=600
|
||||
|
@ -1,228 +1,2 @@
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=7 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=7 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe.noshim" dir="F:\RhemE\RhemE"
|
||||
Target handle=67c
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe.noshim" dir="F:\RhemE\RhemE"
|
||||
Target handle=908
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
debugger mode
|
||||
create process: path="F:\RhemE\RhemE"
|
||||
create process: base=0x20000000 path="F:\RhemE\RhemE\RHEM1(scalable).exe"
|
||||
create thread: th=0xA18 base=0x2F1000 start=0x76C68500
|
||||
load dll: base=0x77BD0000 path="C:\Windows\SysWOW64\ntdll.dll"
|
||||
unload dll: base=0x540000
|
||||
load dll: base=0x76C40000 path="C:\Windows\SysWOW64\kernel32.dll"
|
||||
unload dll: base=0x76C40000
|
||||
unload dll: base=0x540000
|
||||
unload dll: base=0x6A0000
|
||||
load dll: base=0x76C40000 path="C:\Windows\SysWOW64\kernel32.dll"
|
||||
load dll: base=0x74830000 path="C:\Windows\SysWOW64\KernelBase.dll"
|
||||
load dll: base=0x6E490000 path="C:\Windows\SysWOW64\apphelp.dll"
|
||||
load dll: base=0x78E50000 path="C:\Windows\AppPatch\AcLayers.dll"
|
||||
load dll: base=0x773E0000 path="C:\Windows\SysWOW64\msvcrt.dll"
|
||||
load dll: base=0x74C00000 path="C:\Windows\SysWOW64\user32.dll"
|
||||
load dll: base=0x774A0000 path="C:\Windows\SysWOW64\win32u.dll"
|
||||
load dll: base=0x75600000 path="C:\Windows\SysWOW64\gdi32.dll"
|
||||
load dll: base=0x75450000 path="C:\Windows\SysWOW64\gdi32full.dll"
|
||||
load dll: base=0x75850000 path="C:\Windows\SysWOW64\shell32.dll"
|
||||
load dll: base=0x75800000 path="C:\Windows\SysWOW64\cfgmgr32.dll"
|
||||
load dll: base=0x76DD0000 path="C:\Windows\SysWOW64\windows.storage.dll"
|
||||
load dll: base=0x749E0000 path="C:\Windows\SysWOW64\combase.dll"
|
||||
load dll: base=0x75630000 path="C:\Windows\SysWOW64\ucrtbase.dll"
|
||||
load dll: base=0x75300000 path="C:\Windows\SysWOW64\rpcrt4.dll"
|
||||
load dll: base=0x74690000 path="C:\Windows\SysWOW64\sspicli.dll"
|
||||
load dll: base=0x74680000 path="C:\Windows\SysWOW64\cryptbase.dll"
|
||||
load dll: base=0x76D70000 path="C:\Windows\SysWOW64\bcryptprimitives.dll"
|
||||
load dll: base=0x77980000 path="C:\Windows\SysWOW64\sechost.dll"
|
||||
load dll: base=0x777F0000 path="C:\Windows\SysWOW64\powrprof.dll"
|
||||
load dll: base=0x779D0000 path="C:\Windows\SysWOW64\advapi32.dll"
|
||||
load dll: base=0x76D20000 path="C:\Windows\SysWOW64\shlwapi.dll"
|
||||
load dll: base=0x77BC0000 path="C:\Windows\SysWOW64\kernel.appcore.dll"
|
||||
load dll: base=0x776F0000 path="C:\Windows\SysWOW64\SHCore.dll"
|
||||
load dll: base=0x773A0000 path="C:\Windows\SysWOW64\profapi.dll"
|
||||
load dll: base=0x77650000 path="C:\Windows\SysWOW64\oleaut32.dll"
|
||||
load dll: base=0x74D60000 path="C:\Windows\SysWOW64\msvcp_win.dll"
|
||||
load dll: base=0x74E40000 path="C:\Windows\SysWOW64\setupapi.dll"
|
||||
load dll: base=0x74000000 path="C:\Windows\SysWOW64\mpr.dll"
|
||||
load dll: base=0x66680000 path="C:\Windows\SysWOW64\sfc.dll"
|
||||
load dll: base=0x73930000 path="C:\Windows\SysWOW64\winspool.drv"
|
||||
load dll: base=0x72FA0000 path="C:\Windows\SysWOW64\bcrypt.dll"
|
||||
load dll: base=0x640C0000 path="C:\Windows\SysWOW64\sfc_os.dll"
|
||||
output debug: len=115 unicode=0
|
||||
output debug: len=115 unicode=0
|
||||
load dll: base=0x67100000 path="C:\Windows\SysWOW64\SortServer2003Compat.dll"
|
||||
load dll: base=0x773B0000 path="C:\Windows\SysWOW64\imm32.dll"
|
||||
exception: code=0x80000003(Breakpoint) addr=0x77C7748C first=1
|
||||
exit thread: exitcode=0x0
|
||||
load dll: base=0x10000000 path="C:\Users\user\AppData\Local\Temp\TempFolder.aad\proj.dll"
|
||||
create thread: th=0x414 base=0x2F4000 start=0x77C067C0
|
||||
create thread: th=0x670 base=0x2F7000 start=0x77C067C0
|
||||
load dll: base=0x69000000 path="C:\Users\user\AppData\Local\Temp\TempFolder.aad\iml32.dll"
|
||||
load dll: base=0x774C0000 path="C:\Windows\SysWOW64\comdlg32.dll"
|
||||
create thread: th=0x670 base=0x2FA000 start=0x77C067C0
|
||||
load dll: base=0x72DE0000 path="C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.14393.447_none_5507ded2cb4f7f4c\comctl32.dll"
|
||||
load dll: base=0x75710000 path="C:\Windows\SysWOW64\ole32.dll"
|
||||
load dll: base=0x68000000 path="C:\Users\user\AppData\Local\Temp\TempFolder.aad\dirapi.dll"
|
||||
load dll: base=0x73050000 path="C:\Windows\SysWOW64\winmm.dll"
|
||||
load dll: base=0x740F0000 path="C:\Windows\SysWOW64\version.dll"
|
||||
load dll: base=0x72F70000 path="C:\Windows\SysWOW64\winmmbase.dll"
|
||||
load dll: base=0x720000 path="C:\Windows\SysWOW64\winmmbase.dll"
|
||||
load dll: base=0x2180000 path="C:\Windows\SysWOW64\winmmbase.dll"
|
||||
unload dll: base=0x72F70000
|
||||
unload dll: base=0x720000
|
||||
load dll: base=0x6C670000 path="C:\Windows\SysWOW64\uxtheme.dll"
|
||||
create thread: th=0x414 base=0x2FD000 start=0x78E7C3C0
|
||||
load dll: base=0x77840000 path="C:\Windows\SysWOW64\msctf.dll"
|
||||
load dll: base=0x92E0000 path="D:\DxWnd.develop\v2_04_07_beta\Release\dxwnd.dll"
|
||||
create thread: th=0xC88 base=0x300000 start=0x73953B70
|
||||
load dll: base=0x64080000 path="C:\Windows\SysWOW64\msvfw32.dll"
|
||||
load dll: base=0x755B0000 path="C:\Windows\SysWOW64\wintrust.dll"
|
||||
load dll: base=0x9400000 path="C:\Windows\SysWOW64\msasn1.dll"
|
||||
load dll: base=0x746B0000 path="C:\Windows\SysWOW64\crypt32.dll"
|
||||
load dll: base=0x64590000 path="C:\Windows\SysWOW64\avifil32.dll"
|
||||
load dll: base=0x72FD0000 path="C:\Windows\SysWOW64\msacm32.dll"
|
||||
exit thread: exitcode=0x1
|
||||
exit thread: exitcode=0x1
|
||||
exit thread: exitcode=0x1
|
||||
exit thread: exitcode=0x1
|
||||
exit thread: exitcode=0x1
|
||||
exit process
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=6 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=888
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
self elevation
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=828
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
self elevation
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=a04
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
self elevation
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=6bc
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
self elevation
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=878
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM1(scalable).exe" unhooked=0
|
||||
self elevation
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM1(scalable).exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=86c
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
self elevation
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM.noshim.exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=8a0
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
self elevation
|
||||
injectsuspended mode
|
||||
InjectSuspended: exe="F:\RhemE\RhemE\RHEM.noshim.exe" dir="F:\RhemE\RhemE"
|
||||
Target handle=cb0
|
||||
NT Header offset=E8
|
||||
AddressOfEntryPoint=3D84 ImageBase=20000000
|
||||
Thread start address=20003d84
|
||||
wait cycle 0 eip=20003d84
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
self elevation
|
||||
setwindowshook mode
|
||||
OnRun idx=8 prog="F:\RhemE\RhemE\RHEM.noshim.exe" unhooked=0
|
||||
self elevation
|
||||
OnRun idx=28 prog="D:\Games\ManTT\MANXTT.EXE" unhooked=0
|
||||
setwindowshook mode
|
||||
|
@ -1,11 +1,11 @@
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE]
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Mindscape]
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Mindscape\WarHammerFB]
|
||||
;"Options"="1,1,1,1,1,2,1,1" // digital audio on
|
||||
"Options"="1,1,1,1,1,2,0,0" // digital audio off
|
||||
;"Options"="0,0,0,0,0,0,0,0" //all off
|
||||
;"Options"="3,1,1,2,1,1,0,0" // High Quality, digital audio off
|
||||
"Options"="3,1,1,2,1,1,1,1" // High Quality, digital audio on
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Mindscape\WarHammerFB\InstallDir]
|
||||
@="\{path}"
|
||||
|
@ -1486,3 +1486,11 @@ fix: ddraw surface capability regression for emulated backbuffer: fixes "Dominan
|
||||
fix: ddraw surface capability regression for direct primary/backbuffer: should fix "Tomb raider 3" in HW mode
|
||||
fix: ddraw surface capability regression for zbuffer: fixes "Toca Touring Car" in SW mode
|
||||
fix: in fx1, bug crashing app when querying unknown interfaces!
|
||||
|
||||
v2.04.09
|
||||
add: hook USER32 AdjustWindowRect/Ex calls: fix window position problems for "Man TT Superbike"
|
||||
add: hook for USER32 GetActiveWindow() tracing.
|
||||
fix: version hooking for IDIrectDraw methods called by IDIrectDrawSurface methods: fixes many crashes on ddraw games
|
||||
fix: capability registration passed in IDIrectDrawSurface::QueryInterface() calls: fixes settings for ZBUFFER surfaces
|
||||
fix: capsdb logging (developer's use only)
|
||||
fix: handling of WM_NCCALCSIZE & WM_NCPAINT messages in winproc hooker to align behaviour to comment. To be tested ...
|
||||
|
@ -352,14 +352,7 @@ static HRESULT BuildPrimaryFullscreen(LPDIRECTDRAW lpdd, CreateSurface_Type pCre
|
||||
if (res==DDERR_PRIMARYSURFACEALREADYEXISTS){
|
||||
LPDIRECTDRAWSURFACE lpPrim;
|
||||
GetGDISurface_Type pGetGDISurface;
|
||||
switch(dxversion){
|
||||
default:
|
||||
case 1: pGetGDISurface = pGetGDISurface1; break;
|
||||
case 2: pGetGDISurface = pGetGDISurface2; break;
|
||||
case 3: pGetGDISurface = pGetGDISurface3; break;
|
||||
case 4: pGetGDISurface = pGetGDISurface4; break;
|
||||
case 7: pGetGDISurface = pGetGDISurface7; break;
|
||||
}
|
||||
pGetGDISurface = pGetGDISurfaceMethod(dxversion);
|
||||
OutTraceE("BuildPrimaryFullscreen: CreateSurface DDERR_PRIMARYSURFACEALREADYEXISTS workaround\n");
|
||||
(*pGetGDISurface)(lpPrimaryDD, &lpPrim);
|
||||
while ((*pReleaseSMethod(dxversion))(lpPrim));
|
||||
@ -411,14 +404,7 @@ static HRESULT BuildPrimaryDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf
|
||||
if (res==DDERR_PRIMARYSURFACEALREADYEXISTS){
|
||||
LPDIRECTDRAWSURFACE lpPrim;
|
||||
GetGDISurface_Type pGetGDISurface;
|
||||
switch(dxversion){
|
||||
default:
|
||||
case 1: pGetGDISurface = pGetGDISurface1; break;
|
||||
case 2: pGetGDISurface = pGetGDISurface2; break;
|
||||
case 3: pGetGDISurface = pGetGDISurface3; break;
|
||||
case 4: pGetGDISurface = pGetGDISurface4; break;
|
||||
case 7: pGetGDISurface = pGetGDISurface7; break;
|
||||
}
|
||||
pGetGDISurface = pGetGDISurfaceMethod(dxversion);
|
||||
OutTraceE("BuildPrimaryDir: CreateSurface DDERR_PRIMARYSURFACEALREADYEXISTS workaround\n");
|
||||
(*pGetGDISurface)(lpPrimaryDD, &lpPrim);
|
||||
while ((*pReleaseSMethod(dxversion))(lpPrim));
|
||||
@ -668,14 +654,7 @@ static HRESULT BuildBackBufferDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateS
|
||||
LPDIRECTDRAWSURFACE lpPrim;
|
||||
DDSURFACEDESC2 prim;
|
||||
GetGDISurface_Type pGetGDISurface;
|
||||
switch(dxversion){
|
||||
default:
|
||||
case 1: pGetGDISurface = pGetGDISurface1; break;
|
||||
case 2: pGetGDISurface = pGetGDISurface2; break;
|
||||
case 3: pGetGDISurface = pGetGDISurface3; break;
|
||||
case 4: pGetGDISurface = pGetGDISurface4; break;
|
||||
case 7: pGetGDISurface = pGetGDISurface7; break;
|
||||
}
|
||||
pGetGDISurface = pGetGDISurfaceMethod(dxversion);
|
||||
(*pGetGDISurface)(lpPrimaryDD, &lpPrim);
|
||||
memset(&prim, 0, sizeof(DDSURFACEDESC2));
|
||||
prim.dwSize = (dxversion >= 4) ? sizeof(DDSURFACEDESC2) : sizeof(DDSURFACEDESC);
|
||||
@ -1007,13 +986,20 @@ HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreateSurface
|
||||
if(res) return res;
|
||||
lpDDSPrim = *lplpdds;
|
||||
dxwss.PushPrimarySurface(lpDDSPrim, dxversion);
|
||||
dxwcdb.PushCaps(*lplpdds, lpddsd->ddsCaps.dwCaps);
|
||||
RegisterPixelFormat(dxversion, lpDDSPrim);
|
||||
|
||||
if (BBCount){
|
||||
DWORD dwCaps;
|
||||
// build emulated backbuffer surface
|
||||
res=AttachBackBuffer(lpdd, pCreateSurface, lpddsd, dxversion, &lpDDSBack, NULL);
|
||||
if(res) return res;
|
||||
dxwss.PushBackBufferSurface(lpDDSBack, dxversion);
|
||||
// here we try to guess what sort of capabilities would expose a built-in backbuffer surface
|
||||
dwCaps = lpddsd->ddsCaps.dwCaps;
|
||||
dwCaps &= ~DDSCAPS_PRIMARYSURFACE;
|
||||
dwCaps |= (DDSCAPS_BACKBUFFER|DDSCAPS_VIDEOMEMORY);
|
||||
dxwcdb.PushCaps(lpDDSBack, dwCaps);
|
||||
}
|
||||
|
||||
if(IsTraceDDRAW){
|
||||
|
@ -956,6 +956,20 @@ SetClipper_Type pSetClipperMethod(int dxversion)
|
||||
return pSetClipper;
|
||||
}
|
||||
|
||||
Blt_Type pGetBltMethod(int dxversion)
|
||||
{
|
||||
Blt_Type pBlt;
|
||||
switch(dxversion){
|
||||
case 1: pBlt=pBlt1; break;
|
||||
case 2: pBlt=pBlt2; break;
|
||||
case 3: pBlt=pBlt3; break;
|
||||
case 4: pBlt=pBlt4; break;
|
||||
case 7: pBlt=pBlt7; break;
|
||||
}
|
||||
CHECKPTR(pBlt, "Blt");
|
||||
return pBlt;
|
||||
}
|
||||
|
||||
Blt_Type pBltMethod()
|
||||
{
|
||||
Blt_Type pBlt;
|
||||
@ -2307,7 +2321,7 @@ void FixSurfaceCaps(LPDDSURFACEDESC2 lpddsd, int dxversion)
|
||||
|
||||
if((lpddsd->dwFlags & DDSD_CAPS) && (lpddsd->ddsCaps.dwCaps & DDSCAPS_ZBUFFER)) { // z-buffer surface - set to memory
|
||||
lpddsd->ddsCaps.dwCaps = DDSCAPS_ZBUFFER;
|
||||
if(dxw.dwFlags8 & ALLOWSYSMEMON3DDEV) lpddsd->ddsCaps.dwCaps = DDSCAPS_SYSTEMMEMORY|DDSCAPS_ZBUFFER;
|
||||
if (dxw.dwFlags8 & ALLOWSYSMEMON3DDEV) lpddsd->ddsCaps.dwCaps = DDSCAPS_SYSTEMMEMORY|DDSCAPS_ZBUFFER;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2456,6 +2470,29 @@ HRESULT WINAPI extGetAttachedSurface(int dxversion, GetAttachedSurface_Type pGet
|
||||
}
|
||||
else {
|
||||
OutTraceDDRAW("GetAttachedSurface(%d): attached=%x\n", dxversion, *lplpddas);
|
||||
|
||||
if(lpddsc->dwCaps & DDSCAPS_ZBUFFER){
|
||||
char *sMode;
|
||||
// Martian Gothic and others: if the ZBUFFER is unknown, then you must register virtual capabilities
|
||||
// compatible with those of the original surface!
|
||||
DWORD dwCaps;
|
||||
lpDDZBuffer = *lplpddas;
|
||||
dwCaps = dxwcdb.GetCaps(*lplpddas);
|
||||
if(!dwCaps){
|
||||
dwCaps = dxwcdb.GetCaps(lpdds);
|
||||
if(dwCaps){
|
||||
dwCaps &= ~(DDSCAPS_PRIMARYSURFACE|DDSCAPS_FLIP|DDSCAPS_BACKBUFFER|DDSCAPS_3DDEVICE|DDSCAPS_COMPLEX);
|
||||
dwCaps |= DDSCAPS_ZBUFFER;
|
||||
//if(dwCaps & DDSCAPS_VIDEOMEMORY) dwCaps|=DDSCAPS_LOCALVIDMEM;
|
||||
dxwcdb.PushCaps(*lplpddas, dwCaps);
|
||||
sMode = "derived";
|
||||
}
|
||||
else sMode = "unknown";
|
||||
}
|
||||
else sMode = "known";
|
||||
OutTraceDW("GetAttachedSurface(%d): ZBUFFER caps=%x(%s) (%s)\n", dxversion, dwCaps, ExplainDDSCaps(dwCaps), sMode);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return res;
|
||||
@ -2860,13 +2897,7 @@ HRESULT WINAPI ColorConversionEmulated(int dxversion, LPDIRECTDRAWSURFACE lpdds,
|
||||
HRESULT res;
|
||||
Blt_Type pBlt;
|
||||
RECT srcrect, destrect;
|
||||
switch(dxversion){
|
||||
case 1: pBlt=pBlt1; break;
|
||||
case 2: pBlt=pBlt2; break;
|
||||
case 3: pBlt=pBlt3; break;
|
||||
case 4: pBlt=pBlt4; break;
|
||||
case 7: pBlt=pBlt7; break;
|
||||
}
|
||||
pBlt = pGetBltMethod(dxversion);
|
||||
// v2.04.01.fx6: copy emurect since pEmuBlt will alter values!
|
||||
srcrect=destrect=emurect;
|
||||
res=(*pEmuBlt)(dxversion, pBlt, lpDDSEmu_Back, &destrect, lpdds, &srcrect, DDBLT_WAIT, 0);
|
||||
@ -2944,13 +2975,7 @@ HRESULT WINAPI extFlip(int dxversion, Flip_Type pFlip, LPDIRECTDRAWSURFACE lpdds
|
||||
lpdds, IsPrim?"(PRIM)":"", lpddssrc, dwflags, ExplainFlipFlags(dwflags));
|
||||
|
||||
Blt_Type pBlt;
|
||||
switch (dxversion){
|
||||
case 1: pBlt = pBlt1; break;
|
||||
case 2: pBlt = pBlt2; break;
|
||||
case 3: pBlt = pBlt3; break;
|
||||
case 4: pBlt = pBlt4; break;
|
||||
case 7: pBlt = pBlt7; break;
|
||||
}
|
||||
pBlt = pGetBltMethod(dxversion);
|
||||
|
||||
if (!IsPrim){
|
||||
if(lpddssrc){
|
||||
@ -3028,7 +3053,8 @@ HRESULT WINAPI extFlip(int dxversion, Flip_Type pFlip, LPDIRECTDRAWSURFACE lpdds
|
||||
ddsd.dwHeight = dxw.GetScreenHeight();
|
||||
ddsd.dwWidth = dxw.GetScreenWidth();
|
||||
}
|
||||
res2=(*pCreateSurfaceMethod(dxversion))(lpPrimaryDD, &ddsd, &lpddsTmp, NULL);
|
||||
// v2.04.09 fix: dxversion replaced with iBakBufferVersion - fixes "Gruntz" crash
|
||||
res2=(*pCreateSurfaceMethod(iBakBufferVersion))(lpPrimaryDD, &ddsd, &lpddsTmp, NULL);
|
||||
if(res2) {
|
||||
OutTraceE("CreateSurface: ERROR %x(%s) at %d\n", res2, ExplainDDError(res2), __LINE__);
|
||||
OutTraceE("Size=%d lpPrimaryDD=%x lpDDSBack=%x %s\n",
|
||||
@ -3589,13 +3615,9 @@ static HRESULT WINAPI extLockDir(int dxversion, Lock_Type pLock, LPDIRECTDRAWSUR
|
||||
|
||||
PushLockedRect(lpdds, lprect);
|
||||
|
||||
switch(dxversion){
|
||||
case 1: pBlt=pBlt1; pGetGDISurface=pGetGDISurface1; break;
|
||||
case 2: pBlt=pBlt2; pGetGDISurface=pGetGDISurface2; break;
|
||||
case 3: pBlt=pBlt3; pGetGDISurface=pGetGDISurface3; break;
|
||||
case 4: pBlt=pBlt4; pGetGDISurface=pGetGDISurface4; break;
|
||||
case 7: pBlt=pBlt7; pGetGDISurface=pGetGDISurface7; break;
|
||||
}
|
||||
// v2.04.09: for IDirectDraw methods use iBakBufferVersion instead of dxversion ...
|
||||
pBlt = pGetBltMethod(dxversion);
|
||||
pGetGDISurface = pGetGDISurfaceMethod(iBakBufferVersion);
|
||||
|
||||
// V2.02.43: Empire Earth does some test Lock operations apparently before the primary surface is created
|
||||
if(lpPrimaryDD){
|
||||
@ -3718,13 +3740,7 @@ static HRESULT WINAPI extUnlock(int dxversion, Unlock4_Type pUnlock, LPDIRECTDRA
|
||||
OutTrace("Unlock(%d): lpdds=%x%s %s\n", dxversion, lpdds, (IsPrim ? "(PRIM)": (IsBack ? "(BACK)" : "")), sRect);
|
||||
}
|
||||
|
||||
switch(dxversion){
|
||||
case 1: pBlt=pBlt1; break;
|
||||
case 2: pBlt=pBlt2; break;
|
||||
case 3: pBlt=pBlt3; break;
|
||||
case 4: pBlt=pBlt4; break;
|
||||
case 7: pBlt=pBlt7; break;
|
||||
}
|
||||
pBlt = pGetBltMethod(dxversion);
|
||||
|
||||
switch(dxversion){
|
||||
case 4:
|
||||
@ -3861,14 +3877,9 @@ static HRESULT WINAPI extUnlockDir(int dxversion, Unlock4_Type pUnlock, LPDIRECT
|
||||
OutTrace("Unlock(%d): lpdds=%x%s %s\n", dxversion, lpdds, (IsPrim ? "(PRIM)": (IsBack ? "(BACK)" : "")), sRect);
|
||||
}
|
||||
|
||||
switch(dxversion){
|
||||
default:
|
||||
case 1: pGetGDISurface = pGetGDISurface1; pBlt = pBlt1; break;
|
||||
case 2: pGetGDISurface = pGetGDISurface2; pBlt = pBlt2; break;
|
||||
case 3: pGetGDISurface = pGetGDISurface3; pBlt = pBlt3; break;
|
||||
case 4: pGetGDISurface = pGetGDISurface4; pBlt = pBlt4; break;
|
||||
case 7: pGetGDISurface = pGetGDISurface7; pBlt = pBlt7; break;
|
||||
}
|
||||
// v2.04.09: for IDirectDraw methods use iBakBufferVersion instead of dxversion ...
|
||||
pBlt = pGetBltMethod(dxversion);
|
||||
pGetGDISurface = pGetGDISurfaceMethod(iBakBufferVersion);
|
||||
|
||||
if(dxw.dwFlags1 & LOCKEDSURFACE){
|
||||
(*pGetGDISurface)(lpPrimaryDD, &lpDDSPrim);
|
||||
@ -3986,14 +3997,9 @@ HRESULT WINAPI extReleaseDC(int dxversion, ReleaseDC_Type pReleaseDC, LPDIRECTDR
|
||||
if((IsPrim) && (dxw.dwFlags1 & EMULATESURFACE)) {\
|
||||
Blt_Type pBlt;
|
||||
GetGDISurface_Type pGetGDISurface;
|
||||
switch(dxversion){
|
||||
default:
|
||||
case 1: pGetGDISurface = pGetGDISurface1; pBlt = pBlt1; break;
|
||||
case 2: pGetGDISurface = pGetGDISurface2; pBlt = pBlt2; break;
|
||||
case 3: pGetGDISurface = pGetGDISurface3; pBlt = pBlt3; break;
|
||||
case 4: pGetGDISurface = pGetGDISurface4; pBlt = pBlt4; break;
|
||||
case 7: pGetGDISurface = pGetGDISurface7; pBlt = pBlt7; break;
|
||||
}
|
||||
// v2.04.09: for IDirectDraw methods use iBakBufferVersion instead of dxversion ...
|
||||
pBlt = pGetBltMethod(dxversion);
|
||||
pGetGDISurface = pGetGDISurfaceMethod(iBakBufferVersion);
|
||||
sBlt(dxversion, pBlt, "ReleaseDC", lpdds, NULL, lpdds, NULL, 0, NULL, FALSE);
|
||||
}
|
||||
if (res) OutTraceE("ReleaseDC: ERROR res=%x(%s)\n", res, ExplainDDError(res));
|
||||
|
@ -421,6 +421,7 @@ void dxwCore::CalculateWindowPos(HWND hwnd, DWORD width, DWORD height, LPWINDOWP
|
||||
break;
|
||||
case DXW_SET_COORDINATES:
|
||||
default:
|
||||
// set size
|
||||
if(bAutoScale){
|
||||
MaxX = GetScreenWidth();
|
||||
MaxY = GetScreenHeight();
|
||||
@ -443,6 +444,11 @@ void dxwCore::CalculateWindowPos(HWND hwnd, DWORD width, DWORD height, LPWINDOWP
|
||||
MaxY = height;
|
||||
if(dxw.dwFlags4 & BILINEAR2XFILTER) MaxY <<= 1; // double
|
||||
}
|
||||
// set pos
|
||||
if(dxw.dwFlags7 & ANCHORED){
|
||||
iPosX = iPos0X;
|
||||
iPosY = iPos0Y;
|
||||
}
|
||||
rect.left = iPosX;
|
||||
rect.top = iPosY; //v2.02.09
|
||||
rect.right = iPosX + MaxX;
|
||||
@ -459,7 +465,7 @@ void dxwCore::CalculateWindowPos(HWND hwnd, DWORD width, DWORD height, LPWINDOWP
|
||||
dwExStyle=(*pGetWindowLong)(hwnd, GWL_EXSTYLE);
|
||||
// BEWARE: from MSDN - If the window is a child window, the return value is undefined.
|
||||
hMenu = (dwStyle & WS_CHILD) ? NULL : GetMenu(hwnd);
|
||||
AdjustWindowRectEx(&rect, dwStyle, (hMenu!=NULL), dwExStyle);
|
||||
(*pAdjustWindowRectEx)(&rect, dwStyle, (hMenu!=NULL), dwExStyle);
|
||||
// if (hMenu) __try {CloseHandle(hMenu);} __except(EXCEPTION_EXECUTE_HANDLER){};
|
||||
switch(dxw.Coordinates){
|
||||
case DXW_DESKTOP_WORKAREA:
|
||||
|
@ -8,8 +8,12 @@
|
||||
#include "dxwnd.h"
|
||||
#include "dxwcore.hpp"
|
||||
|
||||
//#define DXW_SURFACE_STACK_TRACING
|
||||
//#define OutTraceSDB OutTrace
|
||||
#if 0
|
||||
// uncomment (#if 1) to activate caps db tracing
|
||||
#define DXW_SURFACE_STACK_TRACING
|
||||
#define OutTraceSDB OutTrace
|
||||
#include "dxhelper.h"
|
||||
#endif
|
||||
|
||||
dxwCapsDB::dxwCapsDB()
|
||||
{
|
||||
@ -25,7 +29,7 @@ void dxwCapsDB::PushCaps(LPDIRECTDRAWSURFACE ps, DWORD dwCaps)
|
||||
int i;
|
||||
CapsDB_Type *e;
|
||||
#ifdef DXW_SURFACE_STACK_TRACING
|
||||
OutTraceSDB(">>> CAPSDB MARK: lpdds=%x%s caps=%x(%s)\n", ps, dwCaps, ExplainDDCaps(dwCaps));
|
||||
OutTraceSDB(">>> CAPSDB MARK: lpdds=%x caps=%x(%s)\n", ps, dwCaps, ExplainDDSCaps(dwCaps));
|
||||
#endif
|
||||
for (i=0;i<DDSQLEN;i++) {
|
||||
e=&CapsDB[i];
|
||||
@ -49,11 +53,11 @@ DWORD dxwCapsDB::GetCaps(LPDIRECTDRAWSURFACE ps)
|
||||
if (CapsDB[i].lpdds==0) return 0;
|
||||
if (CapsDB[i].lpdds==ps) break;
|
||||
}
|
||||
// if found, delete it by left-copying each entry until end of array
|
||||
// if found, return the caps
|
||||
if (CapsDB[i].lpdds==ps){
|
||||
#ifdef DXW_SURFACE_STACK_TRACING
|
||||
OutTraceSDB(">>> CAPSDB GETCAPS: i=%d lpdds=%x caps=%x(%s)\n",
|
||||
i, ps, CapsDB[i].dwCaps, ExplainDDCaps(CapsDB[i].dwCaps));
|
||||
i, ps, CapsDB[i].dwCaps, ExplainDDSCaps(CapsDB[i].dwCaps));
|
||||
#endif
|
||||
return CapsDB[i].dwCaps;
|
||||
}
|
||||
|
@ -131,8 +131,8 @@ void dxwCore::InitTarget(TARGETMAP *target)
|
||||
}
|
||||
iSiz0X = iSizX = target->sizx;
|
||||
iSiz0Y = iSizY = target->sizy;
|
||||
iPosX = target->posx;
|
||||
iPosY = target->posy;
|
||||
iPos0X = iPosX = target->posx;
|
||||
iPos0Y = iPosY = target->posy;
|
||||
iMaxW = target->resw;
|
||||
iMaxH = target->resh;
|
||||
// Aspect Ratio from window size, or traditional 4:3 by default
|
||||
@ -1161,6 +1161,7 @@ DWORD dxwCore::FixWinExStyle(DWORD dwExStyle)
|
||||
dwExStyle = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return dwExStyle;
|
||||
}
|
||||
|
||||
|
@ -187,6 +187,8 @@ public: // simple data variables
|
||||
long iPosY;
|
||||
long iSizX;
|
||||
long iSizY;
|
||||
long iPos0X;
|
||||
long iPos0Y;
|
||||
long iSiz0X;
|
||||
long iSiz0Y;
|
||||
long iMaxW;
|
||||
|
@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "TlHelp32.h"
|
||||
|
||||
#define VERSION "2.04.08.fx1"
|
||||
#define VERSION "2.04.09.fx1"
|
||||
|
||||
#define DDTHREADLOCK 1
|
||||
|
||||
|
Binary file not shown.
@ -41,6 +41,7 @@ HRESULT WINAPI extQueryInterfaceDX(int dxversion, QueryInterface_Type pQueryInte
|
||||
BOOL IsBack;
|
||||
int iObjectType;
|
||||
int iObjectVersion;
|
||||
DWORD dwCaps;
|
||||
extern LPDIRECTDRAWSURFACE lpDDSEmu_Prim;
|
||||
|
||||
IsPrim=dxwss.IsAPrimarySurface((LPDIRECTDRAWSURFACE)lpdds);
|
||||
@ -177,10 +178,9 @@ HRESULT WINAPI extQueryInterfaceDX(int dxversion, QueryInterface_Type pQueryInte
|
||||
}
|
||||
|
||||
// added trace
|
||||
OutTraceDW("QueryInterface: lpdds=%x%s REFIID=%x obp=%x obj=%s version=%d ret=0\n",
|
||||
lpdds, IsPrim?"(PRIM)":"", riid.Data1, *obp, sLabel, iObjectVersion);
|
||||
OutTraceDW("QueryInterface: lpdds=%x REFIID=%x obp=%x obj=%s version=%d ret=0\n",
|
||||
lpdds, riid.Data1, *obp, sLabel, iObjectVersion);
|
||||
|
||||
// --------- here .....
|
||||
switch(iObjectType){
|
||||
// simulate unavailable interfaces (useful?)
|
||||
case TYPE_OBJECT_DIRECTDRAW:
|
||||
@ -195,15 +195,18 @@ HRESULT WINAPI extQueryInterfaceDX(int dxversion, QueryInterface_Type pQueryInte
|
||||
}
|
||||
else{
|
||||
if(IsBack) dxwss.PushBackBufferSurface((LPDIRECTDRAWSURFACE)*obp, iObjectVersion);
|
||||
else dxwss.PopSurface((LPDIRECTDRAWSURFACE)*obp);
|
||||
else dxwss.PopSurface((LPDIRECTDRAWSURFACE)*obp); // no primary, no backbuffer, then pop.
|
||||
// v2.02.13: seems that hooking inconditionally gives troubles. What is the proper safe hook condition?
|
||||
HookDDSurface((LPDIRECTDRAWSURFACE *)obp, dxw.dwDDVersion, FALSE);
|
||||
}
|
||||
DWORD dwCaps;
|
||||
if (dwCaps = dxwcdb.GetCaps((LPDIRECTDRAWSURFACE)lpdds)) {
|
||||
OutTrace("QueryInterface(S): PASS caps=%x lpdds=%x->%x\n", dwCaps, lpdds, *obp);
|
||||
dxwcdb.PushCaps(*(LPDIRECTDRAWSURFACE *)obp,dwCaps);
|
||||
dwCaps = dxwcdb.GetCaps((LPDIRECTDRAWSURFACE)lpdds);
|
||||
if (dwCaps) {
|
||||
OutTraceDW("QueryInterface(S): PASS lpdds=%x->%x caps=%x(%s)\n", lpdds, *obp, dwCaps, ExplainDDSCaps(dwCaps));
|
||||
dxwcdb.PushCaps(*(LPDIRECTDRAWSURFACE *)obp, dwCaps);
|
||||
}
|
||||
else {
|
||||
OutTraceDW("QueryInterface(S): NO CAPS\n");
|
||||
}
|
||||
break;
|
||||
case TYPE_OBJECT_DIRECT3D:
|
||||
HookDirect3DSession((LPDIRECTDRAW *)obp, iObjectVersion);
|
||||
|
@ -299,6 +299,8 @@ typedef HBITMAP (WINAPI *LoadBitmapA_Type)(HINSTANCE, LPCSTR);
|
||||
typedef BOOL (WINAPI *EnumWindows_Type)(WNDENUMPROC, LPARAM);
|
||||
typedef BOOL (WINAPI *GetMessage_Type)(LPMSG, HWND, UINT, UINT);
|
||||
typedef BOOL (WINAPI *PostMessage_Type)(HWND, UINT, WPARAM, LPARAM);
|
||||
typedef BOOL (WINAPI *AdjustWindowRect_Type)(LPRECT, DWORD, BOOL);
|
||||
typedef BOOL (WINAPI *AdjustWindowRectEx_Type)(LPRECT, DWORD, BOOL, DWORD);
|
||||
|
||||
// Winmm.dll:
|
||||
typedef MCIERROR(WINAPI *mciSendCommand_Type)(MCIDEVICEID, UINT, DWORD_PTR, DWORD_PTR);
|
||||
@ -620,6 +622,8 @@ DXWEXTERN LoadBitmapA_Type pLoadBitmapA DXWINITIALIZED;
|
||||
DXWEXTERN EnumWindows_Type pEnumWindows DXWINITIALIZED;
|
||||
DXWEXTERN GetMessage_Type pGetMessageA, pGetMessageW DXWINITIALIZED;
|
||||
DXWEXTERN PostMessage_Type pPostMessageA, pPostMessageW DXWINITIALIZED;
|
||||
DXWEXTERN AdjustWindowRect_Type pAdjustWindowRect DXWINITIALIZED;
|
||||
DXWEXTERN AdjustWindowRectEx_Type pAdjustWindowRectEx DXWINITIALIZED;
|
||||
|
||||
// Winmm.dll:
|
||||
DXWEXTERN mciSendCommand_Type pmciSendCommandA DXWINITIALIZED;
|
||||
@ -930,6 +934,8 @@ extern BOOL WINAPI extGetMessageA(LPMSG, HWND, UINT, UINT);
|
||||
extern BOOL WINAPI extGetMessageW(LPMSG, HWND, UINT, UINT);
|
||||
extern BOOL WINAPI extPostMessageA(HWND, UINT, WPARAM, LPARAM);
|
||||
extern BOOL WINAPI extPostMessageW(HWND, UINT, WPARAM, LPARAM);
|
||||
extern BOOL WINAPI extAdjustWindowRect(LPRECT, DWORD, BOOL);
|
||||
extern BOOL WINAPI extAdjustWindowRectEx(LPRECT, DWORD, BOOL, DWORD);
|
||||
|
||||
// Winmm.dll:
|
||||
extern MCIERROR WINAPI extmciSendCommandA(MCIDEVICEID, UINT, DWORD_PTR, DWORD_PTR);
|
||||
|
@ -85,7 +85,6 @@ static HookEntryEx_Type Hooks[]={
|
||||
|
||||
#ifdef GALAPAGOSTEST
|
||||
// test for Galapagos
|
||||
{HOOK_HOT_CANDIDATE, 0, "GetActiveWindow", (FARPROC)NULL, (FARPROC *)&pGetActiveWindow, (FARPROC)extGetActiveWindow},
|
||||
{HOOK_HOT_CANDIDATE, 0, "GetForegroundWindow", (FARPROC)GetForegroundWindow, (FARPROC *)&pGetForegroundWindow, (FARPROC)extGetForegroundWindow},
|
||||
{HOOK_HOT_CANDIDATE, 0, "GetFocus", (FARPROC)GetFocus, (FARPROC *)&pGetFocus, (FARPROC)extGetFocus},
|
||||
{HOOK_HOT_CANDIDATE, 0, "SetFocus", (FARPROC)SetFocus, (FARPROC *)&pSetFocus, (FARPROC)extSetFocus},
|
||||
@ -138,6 +137,9 @@ static HookEntryEx_Type Hooks[]={
|
||||
//{HOOK_IAT_CANDIDATE, 0, "LoadBitmapA", (FARPROC)NULL, (FARPROC *)&pLoadBitmapA, (FARPROC)extLoadBitmapA},
|
||||
|
||||
{HOOK_IAT_CANDIDATE, 0, "EnumWindows", (FARPROC)NULL, (FARPROC *)&pEnumWindows, (FARPROC)extEnumWindows},
|
||||
{HOOK_IAT_CANDIDATE, 0, "AdjustWindowRect", (FARPROC)NULL, (FARPROC *)&pAdjustWindowRect, (FARPROC)extAdjustWindowRect},
|
||||
{HOOK_IAT_CANDIDATE, 0, "AdjustWindowRectEx", (FARPROC)AdjustWindowRectEx, (FARPROC *)&pAdjustWindowRectEx, (FARPROC)extAdjustWindowRectEx},
|
||||
{HOOK_HOT_CANDIDATE, 0, "GetActiveWindow", (FARPROC)NULL, (FARPROC *)&pGetActiveWindow, (FARPROC)extGetActiveWindow},
|
||||
|
||||
{HOOK_IAT_CANDIDATE, 0, 0, NULL, 0, 0} // terminator
|
||||
};
|
||||
@ -476,7 +478,7 @@ void dxwFixWindowPos(char *ApiName, HWND hwnd, LPARAM lParam)
|
||||
dwStyle=(*pGetWindowLong)(hwnd, GWL_STYLE);
|
||||
dwExStyle=(*pGetWindowLong)(hwnd, GWL_EXSTYLE);
|
||||
hMenu = (dwStyle & WS_CHILD) ? NULL : GetMenu(hwnd);
|
||||
AdjustWindowRectEx(&full, dwStyle, (hMenu!=NULL), dwExStyle);
|
||||
(*pAdjustWindowRectEx)(&full, dwStyle, (hMenu!=NULL), dwExStyle);
|
||||
if (hMenu && (hMenu != (HMENU)-1)) __try {CloseHandle(hMenu);} __except(EXCEPTION_EXECUTE_HANDLER){};
|
||||
BorderX= full.right - full.left - client.right;
|
||||
BorderY= full.bottom - full.top - client.bottom;
|
||||
@ -516,7 +518,7 @@ void dxwFixWindowPos(char *ApiName, HWND hwnd, LPARAM lParam)
|
||||
dwStyle=(*pGetWindowLong)(hwnd, GWL_STYLE);
|
||||
dwExStyle=(*pGetWindowLong)(hwnd, GWL_EXSTYLE);
|
||||
hMenu = (dwStyle & WS_CHILD) ? NULL : GetMenu(hwnd);
|
||||
AdjustWindowRectEx(&wrect, dwStyle, (hMenu!=NULL), dwExStyle);
|
||||
(*pAdjustWindowRectEx)(&wrect, dwStyle, (hMenu!=NULL), dwExStyle);
|
||||
minx = wrect.right - wrect.left;
|
||||
miny = wrect.bottom - wrect.top;
|
||||
if(wp->cx < minx) wp->cx = minx;
|
||||
@ -940,7 +942,7 @@ BOOL WINAPI extSetWindowPos(HWND hwnd, HWND hWndInsertAfter, int X, int Y, int c
|
||||
dwExStyle=(*pGetWindowLong)(hwnd, GWL_EXSTYLE);
|
||||
// BEWARE: from MSDN - If the window is a child window, the return value is undefined.
|
||||
hMenu = (dwCurStyle & WS_CHILD) ? NULL : GetMenu(hwnd);
|
||||
AdjustWindowRectEx(&rect, dwCurStyle, (hMenu!=NULL), dwExStyle);
|
||||
(*pAdjustWindowRectEx)(&rect, dwCurStyle, (hMenu!=NULL), dwExStyle);
|
||||
if (hMenu && (hMenu != (HMENU)-1)) __try {CloseHandle(hMenu);} __except(EXCEPTION_EXECUTE_HANDLER){};
|
||||
cx=rect.right; cy=rect.bottom;
|
||||
OutTraceDW("SetWindowPos: main form hwnd=%x fixed size=(%d,%d)\n", hwnd, cx, cy);
|
||||
@ -3084,7 +3086,7 @@ BOOL WINAPI extUpdateWindow(HWND hwnd)
|
||||
}
|
||||
|
||||
ret=(*pUpdateWindow)(hwnd);
|
||||
if(!ret) OutTraceE("UpdateWindow: ERROR er=%d\n", GetLastError());
|
||||
if(!ret) OutTraceE("UpdateWindow: ERROR err=%d\n", GetLastError());
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -3203,7 +3205,8 @@ HWND WINAPI extGetActiveWindow(void)
|
||||
{
|
||||
HWND ret;
|
||||
ret=(*pGetActiveWindow)();
|
||||
if(dxw.Windowize && dxw.IsFullScreen()) {
|
||||
OutTraceDW("GetActiveWindow: ret=%x\n", ret);
|
||||
if((dxw.dwFlags8 & WININSULATION) && dxw.Windowize && dxw.IsFullScreen()) {
|
||||
OutTraceDW("GetActiveWindow: ret=%x->%x\n", ret, dxw.GethWnd());
|
||||
return dxw.GethWnd();
|
||||
}
|
||||
@ -4072,7 +4075,7 @@ INT_PTR WINAPI extDialogBoxIndirectParamA(HINSTANCE hInstance, LPCDLGTEMPLATE hD
|
||||
{
|
||||
//INT_PTR ret;
|
||||
// MessageBox(0, "DialogBoxIndirectParamA", "step", 0);
|
||||
OutTrace("DialogBoxIndirectParamA: hInstance=%x pos=(%d,%d) size=(%dx%d) hWndParent=%x, lpDialogFunc=%x dwInitParam=%x\n",
|
||||
OutTraceDW("DialogBoxIndirectParamA: hInstance=%x pos=(%d,%d) size=(%dx%d) hWndParent=%x, lpDialogFunc=%x dwInitParam=%x\n",
|
||||
hInstance, hDialogTemplate->x, hDialogTemplate->y, hDialogTemplate->cx, hDialogTemplate->cy, hWndParent, lpDialogFunc, dwInitParam);
|
||||
return (*pDialogBoxIndirectParamA)(hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
|
||||
}
|
||||
@ -4080,27 +4083,91 @@ INT_PTR WINAPI extDialogBoxIndirectParamA(HINSTANCE hInstance, LPCDLGTEMPLATE hD
|
||||
HBITMAP WINAPI extLoadBitmapA(HINSTANCE hInstance, LPCSTR lpBitmapName)
|
||||
{
|
||||
HBITMAP ret;
|
||||
OutTrace("LoadBitmapA: hinst=%x name=%s\n", hInstance, lpBitmapName);
|
||||
OutTraceDW("LoadBitmapA: hinst=%x name=%s\n", hInstance, lpBitmapName);
|
||||
ret = (*pLoadBitmapA)(hInstance, lpBitmapName);
|
||||
if(ret){
|
||||
OutTrace("LoadBitmapA: hbitmap=%x\n", ret);
|
||||
OutTraceDW("LoadBitmapA: hbitmap=%x\n", ret);
|
||||
}
|
||||
else{
|
||||
OutTrace("LoadBitmapA: ERROR err=%d\n", GetLastError());
|
||||
OutTraceE("LoadBitmapA: ERROR err=%d\n", GetLastError());
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
BOOL WINAPI extEnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam)
|
||||
{
|
||||
OutTrace("EnumerateWindows\n");
|
||||
OutTraceDW("EnumerateWindows\n");
|
||||
if(dxw.dwFlags8 & WININSULATION){
|
||||
OutTrace("EnumerateWindows: BYPASS\n");
|
||||
OutTraceDW("EnumerateWindows: BYPASS\n");
|
||||
return TRUE;
|
||||
}
|
||||
return (*pEnumWindows)(lpEnumFunc, lParam);
|
||||
}
|
||||
|
||||
static void RedirectCoordinates(LPRECT lpRect)
|
||||
{
|
||||
BOOL IsBiggerThanWin;
|
||||
BOOL IsBiggerThanScreen;
|
||||
long w, h;
|
||||
// try to determine if the coordinates could belong to a fullscreen main win
|
||||
w = lpRect->right - lpRect->left;
|
||||
h = lpRect->bottom - lpRect->top;
|
||||
IsBiggerThanWin = (w >= dxw.iSizX) && (h >= dxw.iSizY);
|
||||
IsBiggerThanScreen = (w >= (long)dxw.GetScreenWidth()) && (h >= (long)dxw.GetScreenHeight());
|
||||
if(IsBiggerThanWin || IsBiggerThanScreen){
|
||||
WINDOWPOS wp;
|
||||
dxw.CalculateWindowPos(NULL, dxw.GetScreenWidth(), dxw.GetScreenHeight(), &wp);
|
||||
lpRect->left = wp.x;
|
||||
lpRect->right = wp.x + wp.cx;
|
||||
lpRect->top = wp.y;
|
||||
lpRect->bottom = wp.y + wp.cy;
|
||||
OutTraceDW("AdjustWindowRect: FIX rect=(%d,%d)-(%d,%d)\n",
|
||||
lpRect->left, lpRect->top, lpRect->right, lpRect->bottom);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL WINAPI extAdjustWindowRect(LPRECT lpRect, DWORD dwStyle, BOOL bMenu)
|
||||
{
|
||||
BOOL ret;
|
||||
OutTraceDW("AdjustWindowRect: IN rect=(%d,%d)-(%d,%d) style=%x(%s) menu=%x\n",
|
||||
lpRect->left, lpRect->top, lpRect->right, lpRect->bottom,
|
||||
dwStyle, ExplainStyle(dwStyle), bMenu);
|
||||
|
||||
if(dxw.dwFlags1 & LOCKWINPOS) RedirectCoordinates(lpRect);
|
||||
|
||||
ret = pAdjustWindowRect(lpRect, dwStyle, bMenu);
|
||||
|
||||
if(ret){
|
||||
OutTraceDW("AdjustWindowRect: OUT rect=(%d,%d)-(%d,%d)\n",
|
||||
lpRect->left, lpRect->top, lpRect->right, lpRect->bottom);
|
||||
}
|
||||
else{
|
||||
OutTraceE("AdjustWindowRect ERROR: err=%d\n", GetLastError());
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
BOOL WINAPI extAdjustWindowRectEx(LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle)
|
||||
{
|
||||
BOOL ret;
|
||||
OutTraceDW("AdjustWindowRectEx: IN rect=(%d,%d)-(%d,%d) style=%x(%s) menu=%x exstyle=%x(%s)\n",
|
||||
lpRect->left, lpRect->top, lpRect->right, lpRect->bottom,
|
||||
dwStyle, ExplainStyle(dwStyle), bMenu, dwExStyle, ExplainExStyle(dwExStyle));
|
||||
|
||||
if(dxw.dwFlags1 & LOCKWINPOS) RedirectCoordinates(lpRect);
|
||||
|
||||
ret = pAdjustWindowRectEx(lpRect, dwStyle, bMenu, dwExStyle);
|
||||
|
||||
if(ret){
|
||||
OutTraceDW("AdjustWindowRectEx: OUT rect=(%d,%d)-(%d,%d)\n",
|
||||
lpRect->left, lpRect->top, lpRect->right, lpRect->bottom);
|
||||
}
|
||||
else{
|
||||
OutTraceE("AdjustWindowRectEx ERROR: err=%d\n", GetLastError());
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
// To do:
|
||||
// GrayStringA
|
||||
// GrayStringW
|
@ -303,7 +303,9 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
|
||||
break;
|
||||
case WM_NCCALCSIZE:
|
||||
case WM_NCPAINT:
|
||||
if((dxw.dwFlags1 & LOCKWINPOS) && (hwnd == dxw.GethWnd()) && dxw.IsFullScreen()){ // v2.02.30: don't alter child and other windows....
|
||||
// v2.02.30: don't alter child and other windows....
|
||||
// v2.04.09: comment inconsistent with code. Added '!' to if expression ....
|
||||
if(!((dxw.dwFlags1 & LOCKWINPOS) && (hwnd == dxw.GethWnd()) && dxw.IsFullScreen())){
|
||||
OutTraceDW("WindowProc: %s wparam=%x\n", ExplainWinMessage(message), wparam);
|
||||
return (*pDefWindowProcA)(hwnd, message, wparam, lparam);
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user