1
0
mirror of https://github.com/DxWnd/DxWnd.reloaded synced 2024-12-30 09:25:35 +01:00

v2_04_21_src

This commit is contained in:
gho tik 2017-03-25 10:00:24 -04:00 committed by Refael Ackermann
parent b5e4788f9b
commit 3c26956485
56 changed files with 1169 additions and 340 deletions

View File

@ -303,6 +303,7 @@
#define OUTDXWINTRACE 0x00001000 // traces DxWnd internal operations
#define OUTWINGTRACE 0x00002000 // traces WinG32 hooked calls
#define OUTOGLTRACE 0x00004000 // traces OpenGL hooked calls
#define OUTHEXTRACE 0x00008000 // traces hexdump of critical structures
#define ADDRELATIVETIME 0x08000000 // log timestamp is relative to previous line
//#define NOLOGCLOSE 0x10000000 // avoid closing the log file handle ("Riven, during CD changes ...)
#define ADDTIMESTAMP 0x20000000 // add timestamp (GetTickCount) to log file
@ -431,6 +432,7 @@ LRESULT CALLBACK dw_Hider_Message_Handler(HWND, UINT, WPARAM, LPARAM);
#define OutTraceE OutTrace
#define OutTraceWG if(dxw.dwTFlags & OUTWINGTRACE) OutTrace
#define OutTraceOGL if(dxw.dwTFlags & OUTOGLTRACE) OutTrace
#define OutHex if(dxw.dwTFlags & OUTHEXTRACE) OutTrace
#define IsTraceW (dxw.dwTFlags & OUTWINMESSAGES)
//#define IsTraceX (dxw.dwTFlags & OUTPROXYTRACE)
@ -444,6 +446,7 @@ LRESULT CALLBACK dw_Hider_Message_Handler(HWND, UINT, WPARAM, LPARAM);
#define IsTraceE (TRUE)
#define IsTraceWG (dxw.dwTFlags & OUTWINGTRACE)
#define IsTraceOGL (dxw.dwTFlags & OUTOGLTRACE)
#define IsTraceHex (dxw.dwTFlags & OUTHEXTRACE)
#define IsDebug (dxw.dwTFlags & OUTDEBUG)
#define IsAssertEnabled (dxw.dwTFlags & ASSERTDIALOG)
#define STEP OutTrace("STEP at %s:%d\n", __FILE__, __LINE__)

View File

@ -0,0 +1,36 @@
[target]
title0=Agile Warrior F111X
path0=F:\Games\Agile Warrior F 111X\AW.BIN
startfolder0=
launchpath0=F:\Games\Agile Warrior F 111X\AW.EXE
module0=
opengllib0=
notes0=So far, only 3D mode is working.
registry0=\n[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\aw.exe]\n"Path"=".\\aw"\n@=".\\aw.exe"\n\n[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D]\n"DrawPrimFlags"=dword:0
ver0=1
monitorid0=-1
coord0=0
flag0=673185826
flagg0=1207959552
flagh0=1044
flagi0=1212153860
flagj0=4224
flagk0=134807552
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

View File

@ -0,0 +1,42 @@
[target]
title0=Arthur's Quest
path0=D:\Games\Arthur's Quest\lithtech.exe
startfolder0=
launchpath0=D:\Games\Arthur's Quest\ArthursQuest.exe
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=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a4
time=Sat Mar 18 15:43:50 2017

View File

@ -5,10 +5,10 @@ module0=
opengllib0=
ver0=0
coord0=0
flag0=671088674
flag0=673185826
flagg0=1207959552
flagh0=20
flagi0=4
flagi0=138412036
tflag0=0
initx0=0
inity0=0
@ -22,3 +22,21 @@ sizx0=800
sizy0=600
maxfps0=0
initts0=0
startfolder0=
launchpath0=
notes0=
registry0=
monitorid0=-1
flagj0=4224
flagk0=65536
flagl0=276824064
flagm0=1073741824
dflag0=0
winver0=0
maxres0=0
swapeffect0=0
maxddinterface0=7
slowratio0=2
scanline0=0
initresw0=800
initresh0=600

View File

@ -8,7 +8,7 @@ notes0=
registry0=
ver0=0
coord0=0
flag0=136331362
flag0=673210466
flagg0=1476395008
flagh0=20
flagi0=138936324
@ -27,3 +27,10 @@ winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
startfolder0=
monitorid0=0
dflag0=0
slowratio0=1
scanline0=1
initresw0=0
initresh0=0

View File

@ -14,9 +14,9 @@ flagg0=1224736768
flagh0=32788
flagi0=138412036
flagj0=4224
flagk0=77824
flagk0=65536
flagl0=0
flagm0=0
flagm0=4
tflag0=0
dflag0=0
posx0=50
@ -30,3 +30,13 @@ maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
monitorid0=0
flagn0=0
flago0=0
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.21.a2
time=Wed Mar 15 22:49:07 2017

View File

@ -27,5 +27,22 @@ maxres0=-1
launchpath0=
notes0=
flagj0=130
flagk0=73728
flagk0=65536
swapeffect0=0
startfolder0=
registry0=
monitorid0=0
flagl0=0
flagm0=0
flagn0=0
flago0=0
dflag0=0
maxddinterface0=7
slowratio0=1
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.21.a2
time=Wed Mar 15 22:14:01 2017

View File

@ -9,7 +9,7 @@ notes0=
registry0=
ver0=0
coord0=0
flag0=136314914
flag0=673185826
flagg0=1207959552
flagh0=20
flagi0=138412036
@ -30,3 +30,11 @@ maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
monitorid0=0
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.20.a0
time=Fri Mar 10 11:58:41 2017

View File

@ -0,0 +1,42 @@
[target]
title0=G-Darius
path0=D:\Games\G-Darius\G_Darius.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=0
coord0=0
flag0=673185826
flagg0=1207959552
flagh0=262164
flagi0=138412036
flagj0=4224
flagk0=65536
flagl0=268435456
flagm0=0
flagn0=0
flago0=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=50
initresw0=800
initresh0=600
[stamp]
version=2.04.21.a4
time=Mon Mar 20 14:42:23 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Galapagos demo
path0=D:\Games\Galapagos Demo\Galapagos Demo.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=674250814
flagg0=1208221696
flagh0=33300
flagi0=138412036
flagj0=469766272
flagk0=67616
flagl0=92340240
flagm0=0
flagn0=0
flago0=0
tflag0=0
dflag0=0
posx0=150
posy0=150
sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
scanline0=1
initresw0=640
initresh0=480
[stamp]
version=2.04.20.a2
time=Mon Mar 13 13:51:23 2017

View File

@ -1,18 +1,18 @@
[target]
title0=Gorky 17
path0=D:\Games\Gorky 17\gorky17.exe
path0=F:\Games\Gorky 17\gorky17.exe
launchpath0=
module0=
opengllib0=
notes0=
notes0=Note: a ddraw error in the initial stage pops out a misleading "missing CD" dialog.
ver0=0
coord0=0
flag0=134217762
flagg0=1207959552
flagh0=20
flagi0=134217732
flagi0=138412036
flagj0=4224
flagk0=0
flagk0=65536
tflag0=0
initx0=0
inity0=0
@ -29,3 +29,14 @@ initts0=0
winver0=0
maxres0=-1
swapeffect0=0
startfolder0=
registry0=
monitorid0=0
flagl0=0
flagm0=0
dflag0=0
maxddinterface0=7
slowratio0=1
scanline0=1
initresw0=0
initresh0=0

View File

@ -0,0 +1,42 @@
[target]
title0=Ground Control (sw renderer)
path0=D:\Games\GC\gc.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=681574442
flagg0=1208090624
flagh0=8212
flagi0=138412036
flagj0=4224
flagk0=0
flagl0=67141648
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a6
time=Wed Mar 22 12:11:46 2017

View File

@ -0,0 +1,43 @@
[target]
title0=HyperBlade
path0=D:\Games\HyperBlade\HYPERX.EXE
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=673185826
flagg0=1209008128
flagh0=8212
flagi0=138412036
flagj0=4224
flagk0=67174400
flagl0=268435456
flagm0=5
flagn0=0
flago0=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
[stamp]
version=2.04.20.a2
time=Mon Mar 13 13:54:22 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Inquisition
path0=D:\Games\Inquisition\inq.tmp.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=Note:\nthe file Inquisition.exe copies part of itself to a temporary directory, runs this\nexecutable and delete it in the end.\nTo hook the game properly you have to:\n1) run the game normally\n2) Alt-tab and start the task manager\n3) locate the inquisition running process, possibly _inq.tmp\n4) copy the temp file to a safe place and rename it (es. inq.tmp.exe)\n5) kill the fullscreen inquisition and run DxWnd with this configuration
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=673185826
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=4224
flagk0=65536
flagl0=268435456
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a4
time=Sat Mar 18 22:20:11 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Largo Winch
path0=D:\Games\Largo Winch\LargoWinch.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
flagn0=0
flago0=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
[stamp]
version=2.04.21.a4
time=Sun Mar 19 16:02:06 2017

View File

@ -0,0 +1,36 @@
[target]
title0=Loonyland 2 CE
path0=D:\Games\Loonyland2CE\loonyland.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=673194018
flagg0=1207959552
flagh0=20
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

40
build/exports/Marbles.dxw Normal file
View File

@ -0,0 +1,40 @@
[target]
title0=Marbles
path0=D:\Games\MARBLES\MARBLES.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=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
[stamp]
version=2.04.20.a0
time=Fri Mar 10 13:34:32 2017

View File

@ -0,0 +1,43 @@
[target]
title0=Microsoft Motocross Madness 2 trial
path0=D:\Games\Motocross Madness 2 trial\mcm2.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=Runs better with accelerated video card, \nthe software mode is very slow and foggy.\nIn case of troubles, it may be necessary to delete the registry entries to force a \nnew clean configuration.
registry0=
ver0=0
monitorid0=0
coord0=0
flag0=136314914
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=4224
flagk0=65536
flagl0=0
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a2
time=Thu Mar 16 13:33:34 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Paradise Cracked
path0=D:\Games\Paradise Cracked\game.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=2
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a4
time=Sun Mar 19 00:31:00 2017

View File

@ -9,18 +9,18 @@ notes0=
registry0=
ver0=0
coord0=0
flag0=203423795
flag0=203423794
flagg0=1207959552
flagh0=524308
flagi0=138412036
flagi0=138936320
flagj0=67113088
flagk0=-1879044096
flagk0=-1878982656
flagl0=1048576
flagm0=0
tflag0=0
dflag0=0
posx0=-1050
posy0=100
posx0=50
posy0=50
sizx0=800
sizy0=600
maxfps0=0
@ -30,3 +30,14 @@ maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
monitorid0=0
flagn0=0
flago0=0
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.20
time=Thu Mar 16 13:13:41 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Post Mortem (CD version)
path0=D:\Games\Post Mortem\Game.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=Note:\n\nThe CD version is copy protected and needs a crack to run properly\n\ndepending on the platform (OS? / video card?) the game may require the \n"No primary SYSTEMMEMORY" flag in order to run. \nUnfortunately, in that case it is likely to become very choppy.
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=673341475
flagg0=1241513984
flagh0=20
flagi0=138412036
flagj0=4224
flagk0=65536
flagl0=67108880
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a6
time=Wed Mar 22 15:25:29 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Prince of Persia The Two Thrones (GOG)
path0=D:\Games\Prince of Persia The Two Thrones\pop3.exe
startfolder0=
launchpath0=D:\Games\Prince of Persia The Two Thrones\PrinceOfPersia.exe
module0=
opengllib0=
notes0=
registry0=
ver0=9
monitorid0=-1
coord0=0
flag0=673202214
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=4224
flagk0=65536
flagl0=67108880
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a4
time=Sun Mar 19 11:59:24 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Prisoner of War
path0=D:\Games\Prisoner of War\Colditz.EXE
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=cracked exe
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=673185826
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=4224
flagk0=1114112
flagl0=0
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a2
time=Fri Mar 17 00:17:24 2017

View File

@ -4,11 +4,11 @@ path0=D:\Games\Shadow Watch\sw.exe
launchpath0=D:\Games\Shadow Watch\ShadowWatch.exe
module0=dx.dll
opengllib0=
ver0=1
ver0=0
coord0=0
flag0=-2013265869
flagg0=1241513984
flagh0=4259856
flagh0=4202512
flagi0=203423748
flagj0=128
tflag0=0
@ -26,3 +26,23 @@ maxfps0=0
initts0=0
winver0=0
maxres0=-1
startfolder0=
notes0=
registry0=
monitorid0=0
flagk0=65536
flagl0=0
flagm0=0
flagn0=0
flago0=0
dflag0=0
swapeffect0=0
maxddinterface0=7
slowratio0=1
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.21.a1
time=Wed Mar 15 00:06:35 2017

View File

@ -0,0 +1,42 @@
[target]
title0=Spike the Hedgehog
path0=D:\Games\Spike\spike2.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=268435456
flagm0=0
flagn0=0
flago0=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
[stamp]
version=2.04.21.a4
time=Sat Mar 18 15:50:14 2017

View File

@ -1,7 +1,7 @@
[target]
title0=Taz Wanted
path0=D:\Games\Taz Wanted\Taz.exe
launchpath0=
launchpath0=D:\Games\Taz Wanted\TazLauncher.exe
module0=
opengllib0=
notes0=
@ -9,7 +9,7 @@ registry0=
ver0=8
coord0=0
flag0=136314914
flagg0=1744830464
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=4224
@ -29,3 +29,14 @@ maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
startfolder0=
monitorid0=0
flagn0=0
flago0=0
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.21.a6
time=Tue Mar 21 19:49:05 2017

View File

@ -1,6 +1,6 @@
[target]
title0=The Sting!
path0=F:\Games\The Sting!\TheSting!\Sting.exe
path0=D:\Games\The Sting!\Sting.exe
launchpath0=
module0=
opengllib0=
@ -8,7 +8,7 @@ notes0=
ver0=0
coord0=0
flag0=136314914
flagg0=1207959552
flagg0=1476395008
flagh0=16
flagi0=138412036
flagj0=4224
@ -40,3 +40,10 @@ slowratio0=1
scanline0=1
initresw0=0
initresh0=0
flagn0=0
flago0=0
[stamp]
version=2.04.21.a2
time=Thu Mar 16 09:25:20 2017

View File

@ -1,6 +1,6 @@
[target]
title0=Tone Rebellion Leviathan
path0=D:\Games\Tone Rebellion\FLOAT.EXE
path0=D:\Games\Tone Rebellion Leviatahn\FLOAT.EXE
launchpath0=
module0=
opengllib0=
@ -29,3 +29,14 @@ maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
startfolder0=
monitorid0=0
flagn0=0
flago0=0
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.21.a6
time=Wed Mar 22 10:13:22 2017

View File

@ -9,7 +9,7 @@ registry0=
ver0=0
coord0=0
flag0=136314914
flagg0=1744830464
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=4224
@ -29,3 +29,14 @@ maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
startfolder0=
monitorid0=0
flagn0=0
flago0=0
scanline0=1
initresw0=0
initresh0=0
[stamp]
version=2.04.21.a6
time=Wed Mar 22 09:51:41 2017

View File

@ -0,0 +1,36 @@
[target]
title0=Warlords Battlecry 2
path0=D:\Games\Warlords Battlecry 2\Battlecry II.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

View File

@ -1,5 +0,0 @@
[window]
posx=0
posy=472
sizx=320
sizy=200

View File

@ -1,20 +0,0 @@
OnRun idx=22 prog="D:\Games\TIE95\TIE95.EXE" unhooked=0
setwindowshook mode
OnRun idx=22 prog="D:\Games\TIE95\TIE95.EXE" unhooked=0
setwindowshook mode
OnRun idx=22 prog="D:\Games\TIE95\TIE95.EXE" unhooked=0
injectsuspended mode
InjectSuspended: exe="D:\Games\TIE95\TIE95.EXE" dir="D:\Games\TIE95"
Target handle=45c
NT Header offset=B0
AddressOfEntryPoint=CC220 ImageBase=400000
Thread start address=4cc220
wait cycle 0 eip=4cc220
OnRun idx=22 prog="D:\Games\TIE95\TIE95.EXE" unhooked=0
injectsuspended mode
InjectSuspended: exe="D:\Games\TIE95\TIE95.EXE" dir="D:\Games\TIE95"
Target handle=478
NT Header offset=B0
AddressOfEntryPoint=CC220 ImageBase=400000
Thread start address=4cc220
wait cycle 0 eip=4cc220

View File

@ -1,233 +0,0 @@
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness]
"1.0"=".\\"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0]
"InstalledFrom"=".\\"
"HardDriveRootPath"=".\\"
"InstallType"="Full"
"version"="1.0"
"Launched"="1"
"PID"="87799-442-0210567-79960"
"Path"=".\\"
"VersionType"="RetailVersion"
"InstalledGroup"="15"
"LangID"=dword:00000009
"OmitDriverCheck"=dword:00000000
"LocalDriverInfo"=hex:4e,56,33,44,44,33,32,2e,44,4c,4c,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,34,2e,31,30,2e,30,2e,31,37,31,33,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,56,69,70,65,72,20,\
56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,76,61,20,31,32,38,29,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,\
6f,6e,64,20,56,69,70,65,72,20,56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,\
76,61,20,31,32,38,29,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,4d,75,6c,74,69,6d,65,64,69,61,20,\
53,79,73,74,65,6d,73,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,08,6d,6d,33,64,66,78,33,32,2e,64,6c,6c,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,34,2e,31,\
30,2e,30,2e,31,35,39,38,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,64,6f,6f,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,\
64,6f,6f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,33,44,66,78,20,49,6e,74,65,72,61,63,74,69,76,65,2c,20,49,6e,63,2e,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,08
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{00000000-0000-0000-0000-000000000000}]
"Driver"="NV3DD32.DLL"
"Version"="4.10.0.1713"
"Description"="Diamond Viper V330 (Nvidia Riva 128)"
"DeviceID"="PCI\\VEN_12D2&DEV_0018&SUBSYS_10921092&REV_10\\000800"
"NumberOfModes"=dword:00000025
"Modes"=hex:40,01,00,00,c8,00,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,40,01,00,00,f0,00,00,00,08,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,08,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,08,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,00,08,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,90,01,00,\
00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\
e0,01,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,20,\
03,00,00,58,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,c0,03,00,00,d0,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,04,00,00,00,03,00,00,08,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,08,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,05,00,00,00,04,00,00,08,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,06,00,00,b0,04,00,00,08,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,c8,00,00,00,\
10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,f0,\
00,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,90,01,\
00,00,2c,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,\
01,e0,01,00,00,68,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,\
e0,fd,ff,01,00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,\
00,00,00,e0,fd,ff,01,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,\
00,01,00,00,00,00,00,00,00,e0,fd,ff,01,20,03,00,00,58,02,00,00,10,00,00,00,\
00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,c0,03,00,00,d0,02,00,00,10,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,03,\
00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,04,00,\
00,60,03,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,05,00,00,00,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,40,06,00,00,b0,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,40,01,00,00,c8,00,00,00,20,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,40,01,00,00,f0,00,00,00,20,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,20,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,20,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,\
00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\
90,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,\
02,00,00,e0,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,20,03,00,00,58,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,c0,03,00,00,d0,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,04,00,00,00,03,00,00,20,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,20,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00
"TextureSizes"=hex:00,00,02,00,aa,aa,02,00,00,80,00,00,aa,aa,00,00,00,20,00,00,\
aa,2a,00,00,00,08,00,00,a0,0d,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{3A0CFD01-9320-11CF-ACA1-00A02413C2E2}]
"Driver"="mm3dfx32.dll"
"Version"="4.10.0.1598"
"Description"="3Dfx Voodoo"
"DeviceID"="PCI\\VEN_121A&DEV_0001&SUBSYS_00000000&REV_02\\BUS_00&DEV_0E&FUNC_00"
"NumberOfModes"=dword:00000004
"Modes"=hex:00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,01,00,\
00,00,00,00,40,00,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,00,\
00,01,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,00,\
01,00,00,00,01,00,00,00,00,00,40,00,20,03,00,00,58,02,00,00,10,00,00,00,00,\
00,00,00,01,00,00,00,00,00,00,00,00,00,40,00
"TextureSizes"=hex:00,00,02,00,33,ab,02,00,00,80,00,00,33,ab,00,00,00,20,00,00,\
33,2b,00,00,00,08,00,00,33,0b,00,00,00,04,01,00,55,59,01,00,00,44,00,00,55,\
59,00,00,00,14,00,00,55,19,00,00,00,08,00,00,55,09,00,00

View File

@ -1596,3 +1596,19 @@ add: FIXTHINFRAME option to get overlapped window with thin border
fix: revised implementation for DirectDrawSurface getCaps and GetSurfaceDesc wrappers
add: hooker for SetWindowsHookEx WH_MOUSE_LL events - used by "Royal Tramp 2"
fix: added WM_NCMOUSELEAVE to the list of potentially offending messages
v2.04.21
fix: proxed calls to SetCooperativeLevel with no specification for screen mode changes
fix: locked rect fix applied only in case of not NULL rect specification. Fixes "Shadow Watch" font blitting problems.
fix: DirectDrawEnumerate/Ex wrappers now filter video devices properly when a given monitor is selected. Partially fixes "The Sting!" behaviour on multi-monitor environment.
fix: aligned primary surface capabilities for flipped native and emulated modes
add: wrappers for ddraw7 StartModeTest and EvaluateMode methods only for logging
fix: wrapper for SetCooperativeLevel proxy the call when flags is DDSCL_FPUPRESERVE or DDSCL_FPUSETUP only. Seen in "G-Darius"
add: separated logging flag for structures hexdump
fix: eliminated initial logging for undefined virtual keys (useless)
fix: fixed unconditional logging for USER32:PolyLine
add: diagniostic DC dump in GDI32:SetDIBitsToDevice wrapper
fix: GDI32:SetViewportOrgEx wrapper when ddraw surface is still missing
add: in ddraw::QueryInterface, logging for detection of Clipper or Palette objects
fix: fix for /c:path argument of DxWnd command line usage, now can accept full file paths
fix: log=none as default value for new dxwnd program entries

View File

@ -278,6 +278,8 @@ static HRESULT BuildPrimaryFlippable(LPDIRECTDRAW lpdd, CreateSurface_Type pCrea
// dwFlags
ddsd.dwFlags &= ~(DDSD_REFRESHRATE);
ddsd.dwFlags |= (DDSD_CAPS|DDSD_WIDTH|DDSD_HEIGHT|DDSD_PIXELFORMAT|DDSD_BACKBUFFERCOUNT);
// DDSCAPS_OFFSCREENPLAIN seems required to support the palette in memory surfaces
ddsd.ddsCaps.dwCaps |= (DDSCAPS_OFFSCREENPLAIN|DDSCAPS_SYSTEMMEMORY);
// dwBackBufferCount: set to at least 1
if(!(lpddsd->dwFlags & DDSD_BACKBUFFERCOUNT) || (lpddsd->dwBackBufferCount == 0)) ddsd.dwBackBufferCount = 1;

View File

@ -146,6 +146,9 @@ HRESULT WINAPI extGetScanLine2(LPDIRECTDRAW, LPDWORD);
HRESULT WINAPI extGetScanLine3(LPDIRECTDRAW, LPDWORD);
HRESULT WINAPI extGetScanLine4(LPDIRECTDRAW, LPDWORD);
HRESULT WINAPI extGetScanLine7(LPDIRECTDRAW, LPDWORD);
/*** Added in the V7 Interface ??? ***/
HRESULT WINAPI extStartModeTest(LPDIRECTDRAW, LPSIZE, DWORD, DWORD);
HRESULT WINAPI extEvaluateMode(LPDIRECTDRAW, DWORD, DWORD *);
// DirectDrawSurface
HRESULT WINAPI extQueryInterfaceS1(void *, REFIID, LPVOID *);
@ -321,6 +324,8 @@ DirectDrawEnumerateExW_Type pDirectDrawEnumerateExW = NULL;
DirectDrawCreateClipper_Type pDirectDrawCreateClipper = NULL;
HandleDDThreadLock_Type pAcquireDDThreadLock = NULL;
HandleDDThreadLock_Type pReleaseDDThreadLock = NULL;
StartModeTest_Type pStartModeTest = NULL;
EvaluateMode_Type pEvaluateMode = NULL;
/* DirectDraw hook pointers */
QueryInterface_Type pQueryInterfaceD1, pQueryInterfaceD2, pQueryInterfaceD3, pQueryInterfaceD4, pQueryInterfaceD7;
@ -1340,6 +1345,9 @@ void HookDDSession(LPDIRECTDRAW *lplpdd, int dxversion)
SetHook((void *)(**(DWORD **)lplpdd + 92), extGetAvailableVidMem7, (void **)&pGetAvailableVidMem7, "GetAvailableVidMem(D7)");
// added in v4 interface
SetHook((void *)(**(DWORD **)lplpdd + 104), extTestCooperativeLevel7, (void **)&pTestCooperativeLevel7, "TestCooperativeLevel(D7)");
// added in v7 interface
SetHook((void *)(**(DWORD **)lplpdd + 112), extStartModeTest, (void **)&pStartModeTest, "StartModeTest(D7)");
SetHook((void *)(**(DWORD **)lplpdd + 116), extEvaluateMode, (void **)&pEvaluateMode, "EvaluateMode(D7)");
break;
}
}
@ -1651,7 +1659,7 @@ static void HandleCapsD(char *sLabel, LPDDCAPS c)
sLabel, c->dwVidMemTotal, c->dwVidMemFree, c->dwZBufferBitDepths, ExplainZBufferBitDepths(c->dwZBufferBitDepths));
OutTraceDDRAW("GetCaps(%s): MaxVisibleOverlays=%x CurrVisibleOverlays=%x\n",
sLabel, c->dwMaxVisibleOverlays, c->dwCurrVisibleOverlays);
if(IsDebug) HexTrace((unsigned char *)c, c->dwSize);
if(IsTraceHex) HexTrace((unsigned char *)c, c->dwSize);
if(dxw.bHintActive){
if(c->dwVidMemTotal > dwMaxMem) ShowHint(HINT_LIMITMEM);
@ -2234,6 +2242,19 @@ HRESULT WINAPI extSetCooperativeLevel(int dxversion, SetCooperativeLevel_Type pS
OutTraceDDRAW("SetCooperativeLevel(D%d): lpdd=%x hwnd=%x dwFlags=%x(%s)\n",
dxversion, lpdd, hwnd, dwflags,ExplainCoopFlags(dwflags));
// when SetCooperativeLevel is called for the only purpose of setting the FPU policy,
// just proxy the call. Seen in "G-Darius".
switch(dwflags){
case DDSCL_FPUSETUP:
case DDSCL_FPUPRESERVE:
res=(*pSetCooperativeLevel)(lpdd, hwnd, dwflags);
if(res){
OutTraceE("SetCooperativeLevel: ERROR bypass err=%x(%s)\n", res, ExplainDDError(res));
}
return DD_OK;
break;
}
DDSURFACEDESC2 ddsd;
switch(dxversion){
default:
@ -3868,7 +3889,9 @@ static HRESULT WINAPI extUnlock(int dxversion, Unlock4_Type pUnlock, LPDIRECTDRA
// v2.02.92: found in Fifa 2000: lpRect is completely ignored, receiving bogus values like (-1, -1, -1, -1}
// or {0, 0, 0, 0}, or {-109119151, -109119151, -109119151, -109119151}.
// better use the Lock-ed rect
lprect = PopLockedRect(lpdds, lprect);
// v2.04.21: the fix is proper only when lprect is not NULL, when NULL better leave it unaltered.
// Fixing the lprect value unconditionally breaks "Shadow Watch" text blitting on game menus.
if(lprect) lprect = PopLockedRect(lpdds, lprect);
break;
case 7:
if(lprect){
@ -3998,7 +4021,9 @@ static HRESULT WINAPI extUnlockDir(int dxversion, Unlock4_Type pUnlock, LPDIRECT
// v2.02.92: found in Fifa 2000: lpRect is completely ignored, receiving bogus values like (-1, -1, -1, -1}
// or {0, 0, 0, 0}, or {-109119151, -109119151, -109119151, -109119151}.
// better use the Lock-ed rect
lprect = PopLockedRect(lpdds, lprect);
// v2.04.21: the fix is proper only when lprect is not NULL, when NULL better leave it unaltered.
// Fixing the lprect value unconditionally breaks "Shadow Watch" text blitting on game menus.
if(lprect) lprect = PopLockedRect(lpdds, lprect);
break;
case 7:
if(lprect){
@ -4867,7 +4892,7 @@ static HRESULT WINAPI extGetCapsS(int dxInterface, GetCapsS_Type pGetCapsS, LPDI
}
if(IsFixed) OutTraceDW("GetCaps(S%d): lpdds=%x FIXED %s caps=%x(%s)\n", dxInterface, lpdds, sLabel, caps->dwCaps, ExplainDDSCaps(caps->dwCaps));
//if(IsDebug) HexTrace((unsigned char *)caps, sizeof(DDSCAPS));
if(IsTraceHex) HexTrace((unsigned char *)caps, sizeof(DDSCAPS));
return res;
}
@ -4963,11 +4988,8 @@ static HRESULT WINAPI extGetSurfaceDesc(int dxversion, GetSurfaceDesc_Type pGetS
break;
}
if(IsFixed){
OutTraceDW("GetSurfaceDesc: FIXED lpdds=%x %s\n", lpdds, LogSurfaceAttributes((LPDDSURFACEDESC2)lpddsd, sLabel, __LINE__));
//if(IsDebug) HexTrace((unsigned char *)lpddsd, sizeof(DDSURFACEDESC));
}
if(IsFixed) OutTraceDW("GetSurfaceDesc: FIXED lpdds=%x %s\n", lpdds, LogSurfaceAttributes((LPDDSURFACEDESC2)lpddsd, sLabel, __LINE__));
if(IsTraceHex) HexTrace((unsigned char *)lpddsd, sizeof(DDSURFACEDESC));
return DD_OK;
}
@ -5182,6 +5204,20 @@ HRESULT WINAPI extReleaseP(LPDIRECTDRAWPALETTE lpddPalette)
return ref;
}
static BOOL IsMatchingDeviceW(LPWSTR lpDriverName)
{
WCHAR MatchDev[20];
wsprintfW(MatchDev, L"DISPLAY%d", dxw.MonitorId+1);
return (wcsstr(lpDriverName, MatchDev) != NULL);
}
static BOOL IsMatchingDeviceA(LPCSTR lpDriverName)
{
CHAR MatchDev[20];
sprintf(MatchDev, "DISPLAY%d", dxw.MonitorId+1);
return (strstr(lpDriverName, MatchDev) != NULL);
}
BOOL FAR PASCAL DDEnumerateCallbackFilterW(GUID FAR *lpGuid, LPWSTR lpDriverDescription, LPWSTR lpDriverName, LPVOID lpContext)
{
BOOL res;
@ -5189,8 +5225,20 @@ BOOL FAR PASCAL DDEnumerateCallbackFilterW(GUID FAR *lpGuid, LPWSTR lpDriverDesc
Context_Type *p=(Context_Type *)lpContext;
OutTraceDW("DDEnumerateCallback: guid=%x DriverDescription=\"%ls\" DriverName=\"%ls\" Context=%x\n",
lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
if(dxw.MonitorId != -1){
if(IsMatchingDeviceW(lpDriverName)){
(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
res=FALSE;
}
else {
OutTraceDW("DDEnumerateCallback: SKIP DriverName=\"%ls\"\n", lpDriverName);
res=TRUE;
}
}
else{
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
}
OutTraceDW("DDEnumerateCallback: res=%x(%s)\n", res, res?"continue":"break");
return res;
}
@ -5203,8 +5251,21 @@ BOOL FAR PASCAL DDEnumerateCallbackExFilterW(GUID FAR *lpGuid, LPWSTR lpDriverDe
OutTraceDW("DDEnumerateCallbackEx: guid=%x DriverDescription=\"%ls\" DriverName=\"%ls\" Context=%x hm=%x\n",
lpGuid, lpDriverDescription, lpDriverName, lpContext, hm);
res=TRUE;
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext, hm);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
// single monitor handling
if(dxw.MonitorId != -1){
if(IsMatchingDeviceW(lpDriverName)){
(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext, hm);
res=FALSE;
}
else{
OutTraceDW("DDEnumerateCallbackEx: SKIP DriverName=\"%ls\"\n", lpDriverName);
res=TRUE;
}
}
else{
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext, hm);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
}
OutTraceDW("DDEnumerateCallbackEx: res=%x(%s)\n", res, res?"continue":"break");
return res;
}
@ -5216,8 +5277,21 @@ BOOL FAR PASCAL DDEnumerateCallbackFilterA(GUID FAR *lpGuid, LPSTR lpDriverDescr
Context_Type *p=(Context_Type *)lpContext;
OutTraceDW("DDEnumerateCallback: guid=%x DriverDescription=\"%s\" DriverName=\"%s\" Context=%x\n",
lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
res=TRUE;
if(dxw.MonitorId != -1){
if(IsMatchingDeviceA(lpDriverName)){
(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
res=FALSE;
}
else{
OutTraceDW("DDEnumerateCallback: SKIP DriverName=\"%s\"\n", lpDriverName);
res=TRUE;
}
}
else{
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
}
OutTraceDW("DDEnumerateCallback: res=%x(%s)\n", res, res?"continue":"break");
return res;
}
@ -5230,8 +5304,20 @@ BOOL FAR PASCAL DDEnumerateCallbackExFilterA(GUID FAR *lpGuid, LPSTR lpDriverDes
OutTraceDW("DDEnumerateCallbackEx: guid=%x DriverDescription=\"%s\" DriverName=\"%s\" Context=%x hm=%x\n",
lpGuid, lpDriverDescription, lpDriverName, lpContext, hm);
res=TRUE;
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext, hm);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
if(dxw.MonitorId != -1){
if(IsMatchingDeviceA(lpDriverName)){
(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext, hm);
res=FALSE;
}
else{
OutTraceDW("DDEnumerateCallbackEx: SKIP DriverName=\"%s\"\n", lpDriverName);
res=TRUE;
}
}
else{
if((lpGuid==NULL) || !(dxw.dwFlags2 & HIDEMULTIMONITOR)) res=(*p->lpCallback)(lpGuid, lpDriverDescription, lpDriverName, p->lpContext, hm);
if((lpGuid==NULL) && (dxw.dwFlags2 & HIDEMULTIMONITOR)) res=FALSE;
}
OutTraceDW("DDEnumerateCallbackEx: res=%x(%s)\n", res, res?"continue":"break");
return res;
}
@ -5239,8 +5325,8 @@ BOOL FAR PASCAL DDEnumerateCallbackExFilterA(GUID FAR *lpGuid, LPSTR lpDriverDes
HRESULT WINAPI extDirectDrawEnumerateA(LPDDENUMCALLBACKA lpCallback, LPVOID lpContext)
{
HRESULT ret;
OutTraceDDRAW("DirectDrawEnumerate: lpCallback=%x lpContext=%x\n", lpCallback, lpContext);
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG)){
OutTraceDDRAW("DirectDrawEnumerate[A]: lpCallback=%x lpContext=%x\n", lpCallback, lpContext);
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG) || (dxw.MonitorId != -1)){
struct {LPDDENUMCALLBACKA lpCallback; LPVOID lpContext;} myContext;
myContext.lpCallback=lpCallback;
myContext.lpContext=lpContext;
@ -5255,8 +5341,8 @@ HRESULT WINAPI extDirectDrawEnumerateA(LPDDENUMCALLBACKA lpCallback, LPVOID lpCo
HRESULT WINAPI extDirectDrawEnumerateW(LPDDENUMCALLBACKW lpCallback, LPVOID lpContext)
{
HRESULT ret;
OutTraceDDRAW("DirectDrawEnumerate: lpCallback=%x lpContext=%x\n", lpCallback, lpContext);
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG)){
OutTraceDDRAW("DirectDrawEnumerate[W]: lpCallback=%x lpContext=%x\n", lpCallback, lpContext);
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG) || (dxw.MonitorId != -1)){
struct {LPDDENUMCALLBACKW lpCallback; LPVOID lpContext;} myContext;
myContext.lpCallback=lpCallback;
myContext.lpContext=lpContext;
@ -5271,12 +5357,15 @@ HRESULT WINAPI extDirectDrawEnumerateW(LPDDENUMCALLBACKW lpCallback, LPVOID lpCo
HRESULT WINAPI extDirectDrawEnumerateExA(LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags)
{
HRESULT ret;
OutTraceDDRAW("DirectDrawEnumerateEx: lpCallback=%x lpContext=%x Flags=%x(%s)\n",
OutTraceDDRAW("DirectDrawEnumerateEx[A]: lpCallback=%x lpContext=%x Flags=%x(%s)\n",
lpCallback, lpContext, dwFlags, ExplainDDEnumerateFlags(dwFlags));
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG)){
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG) || (dxw.MonitorId != -1)){
struct {LPDDENUMCALLBACKEXA lpCallback; LPVOID lpContext;} myContext;
myContext.lpCallback=lpCallback;
myContext.lpContext=lpContext;
if(dxw.dwFlags2 & HIDEMULTIMONITOR){
dwFlags &= ~(DDENUM_ATTACHEDSECONDARYDEVICES|DDENUM_DETACHEDSECONDARYDEVICES|DDENUM_NONDISPLAYDEVICES);
}
ret=(*pDirectDrawEnumerateExA)(DDEnumerateCallbackExFilterA, (LPVOID)&myContext, dwFlags);
}
else{
@ -5290,12 +5379,15 @@ HRESULT WINAPI extDirectDrawEnumerateExA(LPDDENUMCALLBACKEXA lpCallback, LPVOID
HRESULT WINAPI extDirectDrawEnumerateExW(LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags)
{
HRESULT ret;
OutTraceDDRAW("DirectDrawEnumerateEx: lpCallback=%x lpContext=%x Flags=%x(%s)\n",
OutTraceDDRAW("DirectDrawEnumerateEx[W]: lpCallback=%x lpContext=%x Flags=%x(%s)\n",
lpCallback, lpContext, dwFlags, ExplainDDEnumerateFlags(dwFlags));
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG)){
if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG) || (dxw.MonitorId != -1)){
struct {LPDDENUMCALLBACKEXW lpCallback; LPVOID lpContext;} myContext;
myContext.lpCallback=lpCallback;
myContext.lpContext=lpContext;
if(dxw.dwFlags2 & HIDEMULTIMONITOR){
dwFlags &= ~(DDENUM_ATTACHEDSECONDARYDEVICES|DDENUM_DETACHEDSECONDARYDEVICES|DDENUM_NONDISPLAYDEVICES);
}
ret=(*pDirectDrawEnumerateExW)(DDEnumerateCallbackExFilterW, (LPVOID)&myContext, dwFlags);
}
else{
@ -5580,3 +5672,28 @@ HRESULT WINAPI extGetOverlayPosition4(LPDIRECTDRAWSURFACE lpdds, LPLONG lX, LPLO
HRESULT WINAPI extGetOverlayPosition7(LPDIRECTDRAWSURFACE lpdds, LPLONG lX, LPLONG lY)
{ return extGetOverlayPosition(7, pGetOverlayPosition7, lpdds, lX, lY); }
HRESULT WINAPI extStartModeTest(LPDIRECTDRAW lpdds, LPSIZE lpModesToTest, DWORD dwNumEntries, DWORD dwFlags)
{
HRESULT res;
if(IsTraceDW){
char sBuf[80];
OutTrace("StartModeTest(7): lpdds=%x flags=%x num=%d modes=", lpdds, dwFlags, dwNumEntries);
for(DWORD i=0; i<dwNumEntries; i++) {
sprintf(sBuf, "(%d x %d)", lpModesToTest[i].cx, lpModesToTest[i].cy);
OutTrace(sBuf);
}
}
res=(*pStartModeTest)(lpdds, lpModesToTest, dwNumEntries, dwFlags);
OutTraceDW("StartModeTest: res=%x\n", res);
return res;
}
HRESULT WINAPI extEvaluateMode(LPDIRECTDRAW lpdds, DWORD dwFlags, DWORD *pSecondsUntilTimeout)
{
HRESULT res;
OutTraceDW("EvaluateMode(7): lpdds=%x flags=%x\n", lpdds, dwFlags);
res = (*pEvaluateMode)(lpdds, dwFlags, pSecondsUntilTimeout);
OutTraceDW("EvaluateMode: res=%x timeout=%d\n", res, *pSecondsUntilTimeout);
return res;
}

View File

@ -321,7 +321,7 @@ static HRESULT WINAPI EmuBlt_16_to_32(int dxversion, Blt_Type pBlt, LPDIRECTDRAW
memset(&ddsd_dst,0,sizeof(DDSURFACEDESC2));
ddsd_dst.dwSize = Set_dwSize_From_Surface();
ddsd_dst.dwFlags = DDSD_LPSURFACE | DDSD_PITCH;
ddsd_dst.dwFlags = DDSD_LPSURFACE | DDSD_PITCH; // useless ...?
if(res=(*pLockMethod(dxversion))(lpddsdst, 0, (LPDDSURFACEDESC)&ddsd_dst, DDLOCK_SURFACEMEMORYPTR|DDLOCK_WRITEONLY|DDLOCK_WAIT, 0)){
OutTraceE("EmuBlt16_32: Lock ERROR res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__);
return res;

View File

@ -1484,7 +1484,7 @@ void dxwCore::MapKeysInit()
VKeyConfig[DXVK_NONE]=DXVK_NONE;
for(KeyIdx=1; KeyIdx<DXVK_SIZE; KeyIdx++){
VKeyConfig[KeyIdx]=GetPrivateProfileInt("keymapping", VKeyLabels[KeyIdx], KeyIdx==DXVK_ALTF4 ? 0x73 : 0x00, InitPath);
OutTrace("keymapping[%d](%s)=%x\n", KeyIdx, VKeyLabels[KeyIdx], VKeyConfig[KeyIdx]);
if(VKeyConfig[KeyIdx]) OutTrace("keymapping[%d](%s)=%x\n", KeyIdx, VKeyLabels[KeyIdx], VKeyConfig[KeyIdx]);
}
}

View File

@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "TlHelp32.h"
#define VERSION "2.04.20"
#define VERSION "2.04.21"
#define DDTHREADLOCK 1

Binary file not shown.

View File

@ -8,7 +8,9 @@
#include "dxwnd.h"
#include "dxwcore.hpp"
#define DXW_SURFACE_STACK_TRACING
// uncomment line below to activate surface stack tracing
//#define DXW_SURFACE_STACK_TRACING
#define OutTraceSDB OutTrace
dxwSStack::dxwSStack()
@ -211,7 +213,12 @@ DWORD dxwSStack::DuplicateSurface(LPDIRECTDRAWSURFACE psfrom, LPDIRECTDRAWSURFAC
if ((e->lpdds==psfrom) || (e->lpdds==(DWORD)0)) break; // got matching entry or end of the list
}
// if not found, return
if (!e->lpdds) return 0;
if (!e->lpdds) {
#ifdef DXW_SURFACE_STACK_TRACING
OutTraceSDB("--- NO ENTRY: from=%x\n", psfrom);
#endif
return 0;
}
// save surface entry
sentry = *e;
// search for destination or empty slot

View File

@ -664,7 +664,8 @@ HPALETTE WINAPI extSelectPalette(HDC hdc, HPALETTE hpal, BOOL bForceBackground)
OutTraceDW("GDI.SelectPalette: hdc=%x hpal=%x ForceBackground=%x\n", hdc, hpal, bForceBackground);
if(hdc==dxw.RealHDC) hdc= dxw.VirtualHDC;
if((dxw.dwFlags1 & EMULATESURFACE) && (dxw.dwFlags6 & SYNCPALETTE) && bFlippedDC){
//if((dxw.dwFlags1 & EMULATESURFACE) && (dxw.dwFlags6 & SYNCPALETTE) && bFlippedDC){
if((dxw.dwFlags1 & EMULATESURFACE) && (dxw.dwFlags6 & SYNCPALETTE)){
hDesktopPalette=hpal;
if(hFlippedDC){
hdc = hFlippedDC;
@ -1416,13 +1417,12 @@ BOOL WINAPI extPolyline(HDC hdc, const POINT *lppt, int cPoints)
return ret;
break;
case GDIMODE_STRETCHED:
int i;
OutTrace("Polyline: fixed cPoints=%d pt=", cPoints);
for(i=0; i<cPoints; i++) {
dxw.MapClient((LPPOINT)&lppt[i]);
OutTrace("(%d,%d) ", lppt[i].x, lppt[i].y);
for(int i=0; i<cPoints; i++) dxw.MapClient((LPPOINT)&lppt[i]);
if(IsTraceDW){
OutTrace("Polyline: fixed cPoints=%d pt=", cPoints);
for(int i=0; i<cPoints; i++) OutTrace("(%d,%d) ", lppt[i].x, lppt[i].y);
OutTrace("\n");
}
OutTrace("\n");
break;
}
}
@ -1900,6 +1900,7 @@ int WINAPI extSetDIBitsToDevice(HDC hdc, int XDest, int YDest, DWORD dwWidth, DW
case GDIMODE_SHAREDDC:
sdc.GetPrimaryDC(hdc);
ret=(*pSetDIBitsToDevice)(sdc.GetHdc(), XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse);
if(dxw.dwFlags8 & DUMPDEVCONTEXT) DumpHDC(sdc.GetHdc(), XDest, YDest, dwWidth, dwHeight);
sdc.PutPrimaryDC(hdc, TRUE, XDest, YDest, dwWidth, dwHeight);
bGDIRecursionFlag = FALSE;
return ret;
@ -1920,6 +1921,7 @@ int WINAPI extSetDIBitsToDevice(HDC hdc, int XDest, int YDest, DWORD dwWidth, DW
if(!(ret=(*pSetDIBitsToDevice)(hTempDc, 0, 0, OrigWidth, OrigHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse)))
OutTraceE("SetDIBitsToDevice: ERROR err=%d at=%d\n", GetLastError(), __LINE__);
bGDIRecursionFlag = FALSE;
if(dxw.dwFlags8 & DUMPDEVCONTEXT) DumpHDC(hTempDc, 0, 0, OrigWidth, OrigHeight);
// v2.02.94: set HALFTONE stretching. Fixes "Celtic Kings Rage of War"
SetStretchBltMode(hdc,HALFTONE);
if(!(ret=(*pGDIStretchBlt)(hdc, XDest, YDest, dwWidth, dwHeight, hTempDc, 0, 0, OrigWidth, OrigHeight, SRCCOPY)))
@ -1939,10 +1941,12 @@ int WINAPI extSetDIBitsToDevice(HDC hdc, int XDest, int YDest, DWORD dwWidth, DW
XDest, YDest, dxw.VirtualOffsetX, dxw.VirtualOffsetY, X, Y);
ret=(*pSetDIBitsToDevice)(hdc, X, Y, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse);
bGDIRecursionFlag = FALSE;
if(dxw.dwFlags8 & DUMPDEVCONTEXT) DumpHDC(hdc, X, Y, dwWidth, dwHeight);
if(!ret || (ret==GDI_ERROR)) OutTraceE("SetDIBitsToDevice: ERROR ret=%x err=%d\n", ret, GetLastError());
if(dxw.dwFlags8 & MARKGDI32) dxw.Mark(hdc, FALSE, RGB(255, 255, 255), XDest, YDest, dwWidth, dwHeight);
return ret;
default:
if(dxw.dwFlags8 & DUMPDEVCONTEXT) DumpHDC(hdc, XDest, YDest, dwWidth, dwHeight);
break;
}
}
@ -2273,23 +2277,24 @@ BOOL WINAPI extSetViewportOrgEx(HDC hdc, int X, int Y, LPPOINT lpPoint)
if(dxw.IsToRemap(hdc)){
switch(dxw.GDIEmulationMode){
case GDIMODE_EMULATED:
dxw.VirtualOffsetX = X;
dxw.VirtualOffsetY = Y;
if(dxw.IsVirtual(hdc)) {
OutTraceDW("SetViewportOrgEx: virtual hdc\n");
if(lpPoint){
lpPoint->x = dxw.VirtualOffsetX;
lpPoint->y = dxw.VirtualOffsetY;
}
dxw.VirtualOffsetX = X;
dxw.VirtualOffsetY = Y;
ret = TRUE;
}
else
else {
ret=(*pSetViewportOrgEx)(hdc, X, Y, lpPoint);
break;
case GDIMODE_SHAREDDC:
sdc.GetPrimaryDC(hdc);
ret=(*pSetViewportOrgEx)(sdc.GetHdc(), X, Y, lpPoint);
sdc.PutPrimaryDC(hdc, FALSE);
if(ret && lpPoint) {
OutTraceDW("SetViewportOrgEx: previous ViewPort=(%d,%d)\n", lpPoint->x, lpPoint->y);
dxw.UnmapClient(lpPoint);
OutTraceDW("SetViewportOrgEx: fixed previous ViewPort=(%d,%d)\n", lpPoint->x, lpPoint->y);
}
}
break;
case GDIMODE_STRETCHED:
dxw.MapClient(&X, &Y);
@ -2301,6 +2306,12 @@ BOOL WINAPI extSetViewportOrgEx(HDC hdc, int X, int Y, LPPOINT lpPoint)
OutTraceDW("SetViewportOrgEx: fixed previous ViewPort=(%d,%d)\n", lpPoint->x, lpPoint->y);
}
break;
case GDIMODE_SHAREDDC:
sdc.GetPrimaryDC(hdc);
ret=(*pSetViewportOrgEx)(sdc.GetHdc(), X, Y, lpPoint);
sdc.PutPrimaryDC(hdc, FALSE);
break;
default:
ret=(*pSetViewportOrgEx)(hdc, X, Y, lpPoint);
break;

View File

@ -402,6 +402,7 @@ int HookDirect3D7(HMODULE module, int version){
LPDIRECT3D lpd3d=NULL;
HRESULT res;
OutTraceDW("HookDirect3D7: module=%x version=%d\n", module, version);
switch(version){
case 0:
case 1:
@ -776,7 +777,7 @@ static void DumpD3DDeviceDesc(LPD3DDEVICEDESC d3, char *label)
if(d3->dwFlags & D3DDD_MAXBUFFERSIZE) OutTrace("MaxBufferSize=%d ", d3->dwMaxBufferSize);
if(d3->dwFlags & D3DDD_MAXVERTEXCOUNT) OutTrace("MaxVertexCount=%d ", d3->dwMaxVertexCount);
OutTrace("Texture min=(%dx%d) max=(%dx%d)\n", d3->dwMinTextureWidth, d3->dwMinTextureHeight, d3->dwMaxTextureWidth, d3->dwMaxTextureHeight);
HexTrace((unsigned char *)d3, d3->dwSize);
if(IsTraceHex) HexTrace((unsigned char *)d3, d3->dwSize);
}
else
OutTrace("EnumDevices: CALLBACK dev=%s ddesc=NULL\n", label);
@ -803,7 +804,7 @@ static void DumpD3DDeviceDesc7(LPD3DDEVICEDESC7 d3, char *label)
OutTrace("Texture min=(%dx%d) max=(%dx%d)\n", d3->dwMinTextureWidth, d3->dwMinTextureHeight, d3->dwMaxTextureWidth, d3->dwMaxTextureHeight);
// to be completed ....
//OutTrace("\n");
HexTrace((unsigned char *)d3, sizeof(D3DDEVICEDESC7));
if(IsTraceHex) HexTrace((unsigned char *)d3, sizeof(D3DDEVICEDESC7));
}
else
OutTrace("EnumDevices: CALLBACK dev=%s ddesc=NULL\n", label);

View File

@ -55,8 +55,8 @@ typedef HRESULT (WINAPI *RestoreAllSurfaces_Type)(LPDIRECTDRAW);
typedef HRESULT (WINAPI *TestCooperativeLevel_Type)(LPDIRECTDRAW);
typedef HRESULT (WINAPI *GetDeviceIdentifier_Type)(LPDIRECTDRAW, LPDDDEVICEIDENTIFIER, DWORD);
typedef HRESULT (WINAPI *GetScanLine_Type)(LPDIRECTDRAW, LPDWORD);
// STDMETHOD(StartModeTest)(THIS_ LPSIZE, DWORD, DWORD ) PURE;
// STDMETHOD(EvaluateMode)(THIS_ DWORD, DWORD * ) PURE;
typedef HRESULT (WINAPI *StartModeTest_Type)(LPDIRECTDRAW, LPSIZE, DWORD, DWORD);
typedef HRESULT (WINAPI *EvaluateMode_Type)(LPDIRECTDRAW, DWORD, DWORD *);
// DirectDrawSurface
typedef ULONG (WINAPI *AddRefS_Type)(LPDIRECTDRAWSURFACE);

View File

@ -80,6 +80,9 @@ HRESULT WINAPI extQueryInterfaceDX(int dxversion, QueryInterface_Type pQueryInte
iObjectType=TYPE_OBJECT_DDRAWSURFACE; iObjectVersion=4; break;
case 0x06675a80:
iObjectType=TYPE_OBJECT_DDRAWSURFACE; iObjectVersion=7; break;
case 0x6C14DB84:
OutTraceDW("QueryInterface: IID_IDirectDrawPalette\n");
break;
// Direct3D
case 0x3BBA0080: // IID_IDirect3D
iObjectType=TYPE_OBJECT_DIRECT3D; iObjectVersion=1; break;
@ -115,6 +118,9 @@ HRESULT WINAPI extQueryInterfaceDX(int dxversion, QueryInterface_Type pQueryInte
case 0x4B9F0EE0:
OutTraceDW("QueryInterface: IID_IDirectDrawColorControl\n");
break;
case 0x6C14DB85:
OutTraceDW("QueryInterface: IID_IDirectDrawClipper\n");
break;
case 0x69C11C3E:
iObjectType=TYPE_OBJECT_GAMMARAMP; iObjectVersion=1; break;
// textures

View File

@ -53,6 +53,7 @@ void CTabLogs::DoDataExchange(CDataExchange* pDX)
DDX_Check(pDX, IDC_TRACEHOOKS, cTarget->m_TraceHooks);
DDX_Check(pDX, IDC_OUTOGLTRACE, cTarget->m_OutOGLTrace);
DDX_Check(pDX, IDC_OUTWGTRACE, cTarget->m_OutWGTrace);
DDX_Check(pDX, IDC_OUTHEXTRACE, cTarget->m_OutHexTrace);
}
BEGIN_MESSAGE_MAP(CTabLogs, CDialog)

View File

@ -49,6 +49,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/)
m_OutWinMessages = FALSE;
m_OutDWTrace = FALSE;
m_OutOGLTrace = FALSE;
m_OutHexTrace = FALSE;
m_OutWGTrace = FALSE;
m_OutD3DTrace = FALSE;
m_OutDDRAWTrace = FALSE;

View File

@ -62,6 +62,7 @@ public:
BOOL m_OutWinMessages;
BOOL m_OutDWTrace;
BOOL m_OutOGLTrace;
BOOL m_OutHexTrace;
BOOL m_OutWGTrace;
BOOL m_OutD3DTrace;
BOOL m_OutDDRAWTrace;

Binary file not shown.

View File

@ -44,7 +44,7 @@ BOOL gQuietMode = FALSE;
BOOL gMustDie = FALSE;
int iProgIndex;
DWORD SysColors[32];
extern char m_ConfigFileName[20+1] = "dxwnd.ini";
//char m_ConfigFileName[MAX_PATH+1] = "dxwnd.ini";
class CNewCommandLineInfo : public CCommandLineInfo
{
@ -103,7 +103,7 @@ void CNewCommandLineInfo::ParseParam(LPCTSTR lpszParam, BOOL bFlag, BOOL bLast)
return;
}
if (sParam.Left(2).MakeLower() == "c:"){
strcpy_s(m_ConfigFileName, sizeof(m_ConfigFileName)-1, sParam.Mid(2,sizeof(m_ConfigFileName)-1));
strcpy_s(gInitPath, sizeof(gInitPath)-1, sParam.Mid(2,sizeof(gInitPath)-1));
return;
}
if (sParam.MakeLower() == "e"){

View File

@ -42,7 +42,7 @@ typedef struct {
} ThreadInfo_Type;
ThreadInfo_Type;
extern char gInitPath[MAX_PATH];
extern char gInitPath[MAX_PATH+1];
extern void OutTrace(const char *, ...);
/////////////////////////////////////////////////////////////////////////////

Binary file not shown.

Binary file not shown.

75
host/dxwndhostDoc.cpp Normal file
View File

@ -0,0 +1,75 @@
// dxwndhostDoc.cpp : CDxwndhostDoc Define the behavior of the class.
//
#include "stdafx.h"
#include "dxwndhost.h"
#include "dxwndhostDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDxwndhostDoc
IMPLEMENT_DYNCREATE(CDxwndhostDoc, CDocument)
BEGIN_MESSAGE_MAP(CDxwndhostDoc, CDocument)
//{{AFX_MSG_MAP(CDxwndhostDoc)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDxwndhostDoc class constructor / destructor
CDxwndhostDoc::CDxwndhostDoc()
{
}
CDxwndhostDoc::~CDxwndhostDoc()
{
}
BOOL CDxwndhostDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CDxwndhostDoc Serialization
void CDxwndhostDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
}
else
{
}
}
/////////////////////////////////////////////////////////////////////////////
// CDxwndhostDoc Diagnostic Class
#ifdef _DEBUG
void CDxwndhostDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CDxwndhostDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CDxwndhostDoc Command

View File

@ -32,7 +32,7 @@ static char THIS_FILE[] = __FILE__;
extern UINT m_StartToTray;
extern UINT m_InitialState;
extern char m_ConfigFileName[20+1];
//extern char m_ConfigFileName[MAX_PATH+1];
extern BOOL Inject(DWORD, const char *);
extern int KillProcByName(char *, BOOL, BOOL);
extern BOOL gTransientMode;
@ -46,7 +46,8 @@ TARGETMAP *pTargets; // idem.
#define LOCKINJECTIONTHREADS
char gInitPath[MAX_PATH]; // don't put it into the class because it must be used after destructor
char gInitPath[MAX_PATH+1] = ""; // don't put it into the class because it must be used after destructor
char gExportPath[MAX_PATH+1];
CWnd *pParent;
// beware: it must operate upon count+1 sized arrays
@ -207,6 +208,8 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg)
t->flags6 = 0;
t->flags7 = 0;
t->flags8 = 0;
t->flags9 = 0;
t->flags10 = 0;
t->tflags = 0;
t->dflags = 0;
if(dlg->m_UnNotify) t->flags |= UNNOTIFY;
@ -378,6 +381,7 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg)
if(dlg->m_OutWinMessages) t->tflags |= OUTWINMESSAGES;
if(dlg->m_OutDWTrace) t->tflags |= OUTDXWINTRACE;
if(dlg->m_OutOGLTrace) t->tflags |= OUTOGLTRACE;
if(dlg->m_OutHexTrace) t->tflags |= OUTHEXTRACE;
if(dlg->m_OutWGTrace) t->tflags |= OUTWINGTRACE;
if(dlg->m_OutDDRAWTrace) t->tflags |= OUTDDRAWTRACE;
if(dlg->m_OutD3DTrace) t->tflags |= OUTD3DTRACE;
@ -718,6 +722,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg)
dlg->m_OutWinMessages = t->tflags & OUTWINMESSAGES ? 1 : 0;
dlg->m_OutDWTrace = t->tflags & OUTDXWINTRACE ? 1 : 0;
dlg->m_OutOGLTrace = t->tflags & OUTOGLTRACE ? 1 : 0;
dlg->m_OutHexTrace = t->tflags & OUTHEXTRACE ? 1 : 0;
dlg->m_OutWGTrace = t->tflags & OUTWINGTRACE ? 1 : 0;
dlg->m_OutD3DTrace = t->tflags & OUTD3DTRACE ? 1 : 0;
dlg->m_OutDDRAWTrace = t->tflags & OUTDDRAWTRACE ? 1 : 0;
@ -1443,10 +1448,12 @@ void CDxwndhostView::OnInitialUpdate()
listcol.mask = LVCF_WIDTH;
listcol.cx = 100;
listctrl.InsertColumn(0, &listcol);
GetCurrentDirectory(MAX_PATH, gInitPath);
strcat_s(gInitPath, sizeof(gInitPath), "\\");
strcat_s(gInitPath, sizeof(gInitPath), m_ConfigFileName);
listctrl.InsertColumn(0, &listcol);
if(!strlen(gInitPath)){
GetCurrentDirectory(MAX_PATH, gInitPath);
strcat_s(gInitPath, sizeof(gInitPath), "\\");
strcat_s(gInitPath, sizeof(gInitPath), "dxwnd.ini");
}
listctrl.InsertColumn(0, &listcol);
StatusMap.VJoyStatus = GetPrivateProfileInt("joystick", "flags", VJOYENABLED|CROSSENABLED|INVERTYAXIS|VJMOUSEMAP|VJKEYBOARDMAP, gInitPath);
@ -2154,6 +2161,7 @@ void CDxwndhostView::OnAdd(char *sInitialPath)
dlg.m_PosY = GetPrivateProfileInt("window", "defaultposy", 50, gInitPath);
dlg.m_SizX = GetPrivateProfileInt("window", "defaultsizx", 800, gInitPath);
dlg.m_SizY = GetPrivateProfileInt("window", "defaultsizy", 600, gInitPath);
dlg.m_LogMode = 0; // ???
if(dlg.DoModal() == IDOK && dlg.m_FilePath.GetLength()){
strnncpy(PrivateMaps[i].title, (char *)dlg.m_Title.GetString(), MAX_TITLE);

Binary file not shown.