From c4fdc9331d2ead1a41acd7a4c448056ff7714a69 Mon Sep 17 00:00:00 2001 From: gho tik Date: Sat, 16 Nov 2013 11:38:27 -0500 Subject: [PATCH] v2_02_41_src Former-commit-id: b88af301f91d73b0bff4ac73b1073e4075d9353b --- Include/dxwnd.h | 2 + build/dxwnd.1.ini | 5848 +++++++++++++++++++++++++++++ build/dxwnd.2.ini | 1133 ++++++ build/dxwnd.3.ini | 167 + build/dxwnd.dll | 4 +- build/dxwnd.exe | 2 +- build/readme-relnotes.txt | 10 + dll/{hddproxy.cpp => ddproxy.cpp} | 30 +- dll/{hddproxy.h => ddproxy.h} | 0 dll/ddraw.cpp | 153 +- dll/dxhelper.cpp | 26 + dll/dxhelper.h | 1 + dll/dxhook.cpp | 16 +- dll/dxwcore.cpp | 15 +- dll/dxwnd.aps | Bin 37664 -> 37664 bytes dll/dxwnd.cpp | 2 +- dll/dxwnd.vs2008.suo | Bin 310272 -> 340480 bytes dll/dxwnd.vs2008.vcproj | 18 +- dll/gdi32.cpp | 34 +- dll/hd3d7.cpp | 32 +- dll/kernel32.cpp | 28 +- dll/syslibs.h | 1 + dll/winmm.cpp | 4 +- host/PaletteDialog - Copia.cpp | 139 - host/Resource.h | 3 +- host/StatusDialog.cpp | 20 +- host/TabDirectX.cpp | 1 + host/TabProgram.cpp | 2 +- host/TabWindow.cpp | 2 +- host/TargetDlg.cpp | 2 + host/TargetDlg.h | 2 + host/dxwndhost.aps | Bin 167608 -> 167764 bytes host/dxwndhost.rc | 92 +- host/dxwndhost.vs2008.suo | Bin 347648 -> 365568 bytes host/dxwndhostView.cpp | 4 + 35 files changed, 7456 insertions(+), 337 deletions(-) create mode 100644 build/dxwnd.1.ini create mode 100644 build/dxwnd.2.ini create mode 100644 build/dxwnd.3.ini rename dll/{hddproxy.cpp => ddproxy.cpp} (98%) rename dll/{hddproxy.h => ddproxy.h} (100%) delete mode 100644 host/PaletteDialog - Copia.cpp diff --git a/Include/dxwnd.h b/Include/dxwnd.h index 0157fb9..788f1b7 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -114,6 +114,8 @@ // fourth flags DWORD dxw.dwFlags4: #define NOALPHACHANNEL 0x00000001 // By default, create surfaces with no DDPF_ALPHAPIXELS capability +#define SUPPRESSCHILD 0x00000002 // suppress child process generation (CreateProcessA, ...?) +#define FIXREFCOUNTER 0x00000004 // fixes the reference counter for the main directdraw session (the one connected to primary surfaces) // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general diff --git a/build/dxwnd.1.ini b/build/dxwnd.1.ini new file mode 100644 index 0000000..ca2a645 --- /dev/null +++ b/build/dxwnd.1.ini @@ -0,0 +1,5848 @@ +[target] +title0=007 NightFire +path0=D:\Games\007_NightFire\Bond.exe +module0= +opengllib0= +ver0=0 +coord0=0 +flag0=134217730 +flagg0=134348800 +flagh0=20 +flagi0=0 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +title1=1602 A.D. +path1=C:\Games\1602 A.D\1602.exe +module1= +opengllib1= +ver1=0 +coord1=0 +flag1=679608354 +flagg1=0 +flagh1=0 +flagi1=0 +tflag1=0 +initx1=0 +inity1=0 +minx1=0 +miny1=0 +maxx1=0 +maxy1=0 +posx1=50 +posy1=50 +sizx1=800 +sizy1=600 +maxfps1=0 +initts1=-8 +title2=688I Hunter Killer +path2=D:\Games\688\688I_HK.EXE +module2= +opengllib2= +ver2=0 +coord2=0 +flag2=1744830626 +flagg2=135266304 +flagh2=20 +flagi2=0 +tflag2=3 +initx2=0 +inity2=0 +minx2=0 +miny2=0 +maxx2=0 +maxy2=0 +posx2=50 +posy2=50 +sizx2=0 +sizy2=0 +maxfps2=0 +initts2=0 +title3=7th Legion +path3=D:\Games\7th_Legion\LEGION.EXE +module3= +opengllib3= +ver3=0 +coord3=0 +flag3=402669607 +flagg3=539056144 +flagh3=0 +flagi3=0 +tflag3=64 +initx3=0 +inity3=0 +minx3=0 +miny3=0 +maxx3=0 +maxy3=0 +posx3=50 +posy3=50 +sizx3=800 +sizy3=600 +maxfps3=40 +initts3=-7 +title4=A10 Cuba +path4=D:\Games\A10\A10Cuba.exe +module4= +opengllib4= +ver4=0 +coord4=1 +flag4=162 +flagg4=1074003984 +flagh4=48 +flagi4=0 +tflag4=0 +initx4=0 +inity4=0 +minx4=0 +miny4=0 +maxx4=0 +maxy4=0 +posx4=50 +posy4=50 +sizx4=800 +sizy4=600 +maxfps4=0 +initts4=-7 +title5=Achtung Spitfire +path5=D:\Games\Achtung Spitfire\ASP95.EXE +module5= +opengllib5= +ver5=0 +coord5=0 +flag5=536870946 +flagg5=0 +flagh5=16 +flagi5=0 +tflag5=70 +initx5=0 +inity5=0 +minx5=0 +miny5=0 +maxx5=0 +maxy5=0 +posx5=50 +posy5=50 +sizx5=800 +sizy5=600 +maxfps5=0 +initts5=0 +title6=Actua Soccer 3 +path6=D:\Games\ActuaSoccer3\Soccer3.exe +module6= +opengllib6= +ver6=0 +coord6=0 +flag6=671088674 +flagg6=256 +flagh6=0 +flagi6=0 +tflag6=262 +initx6=0 +inity6=0 +minx6=0 +miny6=0 +maxx6=0 +maxy6=0 +posx6=50 +posy6=50 +sizx6=800 +sizy6=600 +maxfps6=0 +initts6=0 +title7=AfterLife +path7=d:\Games\ALIFE\ALIFE.EXE +module7= +opengllib7= +ver7=1 +coord7=0 +flag7=142606370 +flagg7=1048736 +flagh7=16 +flagi7=0 +tflag7=0 +initx7=0 +inity7=0 +minx7=0 +miny7=0 +maxx7=0 +maxy7=0 +posx7=50 +posy7=50 +sizx7=800 +sizy7=600 +maxfps7=0 +initts7=0 +title8=Age of Empires +path8=D:\Games\Age of Empires\EMPIRES.EXE +module8= +opengllib8= +ver8=0 +coord8=0 +flag8=402655267 +flagg8=69632 +flagh8=16 +flagi8=0 +tflag8=3 +initx8=0 +inity8=0 +minx8=0 +miny8=0 +maxx8=0 +maxy8=0 +posx8=50 +posy8=50 +sizx8=800 +sizy8=600 +maxfps8=10 +initts8=0 +title9=Age of Empires 2 +path9=D:\Games\Age of Empires 2\empires2.exe +module9= +opengllib9= +ver9=0 +coord9=1 +flag9=134217762 +flagg9=1073762320 +flagh9=48 +flagi9=0 +tflag9=0 +initx9=0 +inity9=0 +minx9=0 +miny9=0 +maxx9=0 +maxy9=0 +posx9=50 +posy9=50 +sizx9=800 +sizy9=600 +maxfps9=40 +initts9=0 +title10=Age of Empires III +path10=D:\Games\Age of Empires III\age3.exe +module10= +opengllib10= +ver10=0 +coord10=1 +flag10=-1342169053 +flagg10=1243611136 +flagh10=56 +flagi10=0 +tflag10=2 +initx10=0 +inity10=0 +minx10=0 +miny10=0 +maxx10=0 +maxy10=0 +posx10=50 +posy10=50 +sizx10=800 +sizy10=600 +maxfps10=0 +initts10=0 +title11=Age of Empires the Rise of Rome +path11=D:\Games\Age of Empires\EMPIRESX.EXE +module11= +opengllib11= +ver11=0 +coord11=0 +flag11=134217762 +flagg11=1073823744 +flagh11=16 +flagi11=0 +tflag11=0 +initx11=0 +inity11=0 +minx11=0 +miny11=0 +maxx11=0 +maxy11=0 +posx11=50 +posy11=50 +sizx11=800 +sizy11=600 +maxfps11=0 +initts11=0 +title12=Age of Wonders +path12=D:\Games\Age of Wonders\AoW.exe +module12= +opengllib12= +ver12=7 +coord12=0 +flag12=268435458 +flagg12=1048576 +flagh12=20 +flagi12=0 +tflag12=259 +initx12=0 +inity12=0 +minx12=0 +miny12=0 +maxx12=0 +maxy12=0 +posx12=50 +posy12=50 +sizx12=800 +sizy12=600 +maxfps12=0 +initts12=0 +title13=Airline Tycoon Evolution +path13=D:\Games\Airline.Tycoon.Evolution\AT.EXE +module13= +opengllib13= +ver13=0 +coord13=0 +flag13=1493172257 +flagg13=1048576 +flagh13=148 +flagi13=0 +tflag13=323 +initx13=0 +inity13=0 +minx13=0 +miny13=0 +maxx13=0 +maxy13=0 +posx13=50 +posy13=50 +sizx13=800 +sizy13=600 +maxfps13=0 +initts13=0 +title14=Alien Cabal 95 +path14=D:\Games\Alien_cabal\ACabal95.exe +module14= +opengllib14= +ver14=0 +coord14=0 +flag14=67108896 +flagg14=0 +flagh14=16 +flagi14=0 +tflag14=0 +initx14=0 +inity14=0 +minx14=0 +miny14=0 +maxx14=0 +maxy14=0 +posx14=0 +posy14=0 +sizx14=800 +sizy14=600 +maxfps14=0 +initts14=0 +title15=Alien vs. Predator +path15=C:\Games\Alien vs Predator\AvP.exe +module15= +opengllib15= +ver15=0 +coord15=0 +flag15=8224 +flagg15=0 +flagh15=0 +flagi15=0 +tflag15=130 +initx15=0 +inity15=0 +minx15=0 +miny15=0 +maxx15=0 +maxy15=0 +posx15=50 +posy15=50 +sizx15=800 +sizy15=600 +maxfps15=0 +initts15=0 +title16=Aliens Nations Demo +path16=C:\Games\aademo\Bin\AA.exe +module16= +opengllib16= +ver16=0 +coord16=0 +flag16=134217762 +flagg16=0 +flagh16=0 +flagi16=0 +tflag16=0 +initx16=0 +inity16=0 +minx16=0 +miny16=0 +maxx16=0 +maxy16=0 +posx16=0 +posy16=0 +sizx16=800 +sizy16=600 +maxfps16=0 +initts16=0 +title17=America +path17=D:\Games\America\america.exe +module17= +opengllib17= +ver17=0 +coord17=0 +flag17=134234150 +flagg17=16 +flagh17=20 +flagi17=0 +tflag17=0 +initx17=0 +inity17=0 +minx17=0 +miny17=0 +maxx17=0 +maxy17=0 +posx17=50 +posy17=50 +sizx17=800 +sizy17=600 +maxfps17=0 +initts17=0 +title18=American McGee's Alice Demo +path18=D:\Games\American McGee's Alice Demo\alice.exe +module18= +opengllib18= +ver18=10 +coord18=0 +flag18=268435458 +flagg18=131072 +flagh18=16 +flagi18=0 +tflag18=0 +initx18=0 +inity18=0 +minx18=0 +miny18=0 +maxx18=0 +maxy18=0 +posx18=50 +posy18=50 +sizx18=800 +sizy18=600 +maxfps18=0 +initts18=0 +title19=Ancient Conquest +path19=D:\Games\Ancient Conquest\ANCIENT.EXE +module19= +opengllib19= +ver19=0 +coord19=0 +flag19=142606370 +flagg19=1048576 +flagh19=16 +flagi19=0 +tflag19=258 +initx19=0 +inity19=0 +minx19=0 +miny19=0 +maxx19=0 +maxy19=0 +posx19=50 +posy19=50 +sizx19=800 +sizy19=600 +maxfps19=0 +initts19=0 +title20=Ancient Evil +path20=C:\Games\Ancient Evil\RPG.EXE +module20=DDW16.DLL +opengllib20= +ver20=1 +coord20=0 +flag20=-2013249497 +flagg20=0 +flagh20=0 +flagi20=0 +tflag20=2 +initx20=0 +inity20=0 +minx20=0 +miny20=0 +maxx20=0 +maxy20=0 +posx20=50 +posy20=50 +sizx20=800 +sizy20=600 +maxfps20=0 +initts20=0 +title21=Ancient Evil Demo +path21=C:\Games\Ancient Evil Curse of the Snake Cult\aecsc-demo.exe +module21= +opengllib21= +ver21=1 +coord21=0 +flag21=134242336 +flagg21=0 +flagh21=0 +flagi21=0 +tflag21=0 +initx21=0 +inity21=0 +minx21=0 +miny21=0 +maxx21=0 +maxy21=0 +posx21=50 +posy21=50 +sizx21=800 +sizy21=600 +maxfps21=0 +initts21=0 +title22=Armymen +path22=C:\Games\armymen\Armymen.exe +module22= +opengllib22= +ver22=0 +coord22=0 +flag22=134218274 +flagg22=1 +flagh22=0 +flagi22=0 +tflag22=0 +initx22=0 +inity22=0 +minx22=0 +miny22=0 +maxx22=0 +maxy22=0 +posx22=50 +posy22=50 +sizx22=800 +sizy22=600 +maxfps22=0 +initts22=0 +title23=ArmyMen 2 +path23=C:\Games\army2\ArmyMen2.exe +module23= +opengllib23= +ver23=0 +coord23=0 +flag23=402653730 +flagg23=0 +flagh23=0 +flagi23=0 +tflag23=0 +initx23=0 +inity23=0 +minx23=0 +miny23=0 +maxx23=0 +maxy23=0 +posx23=50 +posy23=50 +sizx23=800 +sizy23=600 +maxfps23=0 +initts23=0 +title24=Atomic Bomberman +path24=C:\Games\Atomic Bomberman\BM95.EXE +module24= +opengllib24= +ver24=0 +coord24=0 +flag24=2 +flagg24=0 +flagh24=0 +flagi24=0 +tflag24=0 +initx24=0 +inity24=0 +minx24=0 +miny24=0 +maxx24=0 +maxy24=0 +posx24=50 +posy24=50 +sizx24=800 +sizy24=600 +maxfps24=0 +initts24=0 +title25=Axis & Allies Iron Blitz Edition +path25=C:\Games\Axis & Allies Iron Blitz Edition\Axis & Allies\AxisAllies.exe +module25= +opengllib25= +ver25=0 +coord25=0 +flag25=-2147483614 +flagg25=0 +flagh25=0 +flagi25=0 +tflag25=0 +initx25=0 +inity25=0 +minx25=0 +miny25=0 +maxx25=0 +maxy25=0 +posx25=50 +posy25=50 +sizx25=800 +sizy25=600 +maxfps25=0 +initts25=0 +title26=Baldies +path26=C:\Games\Baldies for Win95\baldies.exe +module26= +opengllib26= +ver26=0 +coord26=0 +flag26=537010210 +flagg26=0 +flagh26=0 +flagi26=0 +tflag26=0 +initx26=0 +inity26=0 +minx26=0 +miny26=0 +maxx26=0 +maxy26=0 +posx26=50 +posy26=50 +sizx26=800 +sizy26=600 +maxfps26=0 +initts26=0 +title27=Battle Arena Toshinden 2 +path27=D:\Games\Battle Arena Toshinden 2\T2.EXE +module27= +opengllib27= +ver27=0 +coord27=0 +flag27=134217761 +flagg27=134217808 +flagh27=16 +flagi27=0 +tflag27=2 +initx27=0 +inity27=0 +minx27=0 +miny27=0 +maxx27=0 +maxy27=0 +posx27=50 +posy27=50 +sizx27=800 +sizy27=600 +maxfps27=0 +initts27=0 +title28=Battle Commander +path28=D:\Games\Battle Commander\bcommand.exe +module28= +opengllib28= +ver28=0 +coord28=0 +flag28=134217794 +flagg28=0 +flagh28=0 +flagi28=0 +tflag28=2 +initx28=0 +inity28=0 +minx28=0 +miny28=0 +maxx28=0 +maxy28=0 +posx28=50 +posy28=50 +sizx28=800 +sizy28=600 +maxfps28=0 +initts28=0 +title29=Beasts & Bumpkins +path29=C:\Games\Beasts and Bumpkins\BEASTS.EXE +module29= +opengllib29= +ver29=0 +coord29=0 +flag29=2105890 +flagg29=0 +flagh29=0 +flagi29=0 +tflag29=2 +initx29=0 +inity29=0 +minx29=0 +miny29=0 +maxx29=0 +maxy29=0 +posx29=50 +posy29=50 +sizx29=800 +sizy29=600 +maxfps29=0 +initts29=0 +title30=Beats of Rage +path30=C:\Games\BOR\BeatsOfRage.exe +module30= +opengllib30= +ver30=0 +coord30=0 +flag30=537002018 +flagg30=0 +flagh30=0 +flagi30=0 +tflag30=0 +initx30=0 +inity30=0 +minx30=0 +miny30=0 +maxx30=0 +maxy30=0 +posx30=50 +posy30=50 +sizx30=800 +sizy30=600 +maxfps30=0 +initts30=0 +title31=Beyond Divinity +path31=D:\Games\Beyond Divinity\Div.exe +module31= +opengllib31= +ver31=0 +coord31=0 +flag31=134217728 +flagg31=671088640 +flagh31=61 +flagi31=0 +tflag31=3 +initx31=0 +inity31=0 +minx31=0 +miny31=0 +maxx31=0 +maxy31=0 +posx31=50 +posy31=50 +sizx31=0 +sizy31=0 +maxfps31=0 +initts31=0 +title32=Beyond Good & Evil Demo +path32=C:\Games\Beyond Good & Evil\BGE.exe +module32= +opengllib32= +ver32=0 +coord32=0 +flag32=0 +flagg32=0 +flagh32=0 +flagi32=0 +tflag32=0 +initx32=0 +inity32=0 +minx32=0 +miny32=0 +maxx32=0 +maxy32=0 +posx32=50 +posy32=50 +sizx32=800 +sizy32=600 +maxfps32=0 +initts32=0 +title33=Black & White +path33=D:\Games\Black & White\runblack.exe +module33= +opengllib33= +ver33=0 +coord33=0 +flag33=0 +flagg33=134217728 +flagh33=29 +flagi33=0 +tflag33=0 +initx33=0 +inity33=0 +minx33=0 +miny33=0 +maxx33=0 +maxy33=0 +posx33=50 +posy33=50 +sizx33=800 +sizy33=600 +maxfps33=0 +initts33=0 +title34=Black Moon Lune Noire +path34=C:\Games\Black Moon\Lune noire\Engine.exe +module34= +opengllib34= +ver34=0 +coord34=0 +flag34=262179 +flagg34=0 +flagh34=0 +flagi34=0 +tflag34=0 +initx34=0 +inity34=0 +minx34=0 +miny34=0 +maxx34=0 +maxy34=0 +posx34=50 +posy34=50 +sizx34=800 +sizy34=600 +maxfps34=0 +initts34=0 +title35=Black Thorn +path35=D:\Games\BlackThorn\BlackThorn.exe +module35= +opengllib35= +ver35=0 +coord35=0 +flag35=0 +flagg35=134217984 +flagh35=48 +flagi35=0 +tflag35=66 +initx35=0 +inity35=0 +minx35=0 +miny35=0 +maxx35=0 +maxy35=0 +posx35=50 +posy35=50 +sizx35=800 +sizy35=600 +maxfps35=0 +initts35=0 +title36=Blood Omen Legacy of Kain +path36=C:\Games\Blood Omen\KAIN.EXE +module36= +opengllib36= +ver36=0 +coord36=0 +flag36=49190 +flagg36=0 +flagh36=0 +flagi36=0 +tflag36=0 +initx36=0 +inity36=0 +minx36=0 +miny36=0 +maxx36=0 +maxy36=0 +posx36=50 +posy36=50 +sizx36=800 +sizy36=600 +maxfps36=0 +initts36=0 +title37=Bonkheads +path37=C:\Games\Bonkheads\Bonkheads.exe +module37= +opengllib37= +ver37=0 +coord37=0 +flag37=262690 +flagg37=16 +flagh37=0 +flagi37=0 +tflag37=78 +initx37=0 +inity37=0 +minx37=0 +miny37=0 +maxx37=0 +maxy37=0 +posx37=50 +posy37=50 +sizx37=800 +sizy37=600 +maxfps37=0 +initts37=0 +title38=Bubble Bobble 2 +path38=C:\Games\bubble2\BOBO2.EXE +module38= +opengllib38= +ver38=0 +coord38=0 +flag38=34 +flagg38=0 +flagh38=0 +flagi38=0 +tflag38=0 +initx38=0 +inity38=0 +minx38=0 +miny38=0 +maxx38=0 +maxy38=0 +posx38=50 +posy38=50 +sizx38=800 +sizy38=600 +maxfps38=0 +initts38=0 +title39=Bug! +path39=C:\Games\Bug\BUG!.EXE +module39= +opengllib39= +ver39=0 +coord39=0 +flag39=134225954 +flagg39=32 +flagh39=0 +flagi39=0 +tflag39=2 +initx39=0 +inity39=0 +minx39=0 +miny39=0 +maxx39=0 +maxy39=0 +posx39=0 +posy39=0 +sizx39=800 +sizy39=600 +maxfps39=0 +initts39=0 +title40=BW2Demo.exe +path40=D:\Games\Black & White 2 Demo\BW2Demo.exe +module40= +opengllib40= +ver40=0 +coord40=0 +flag40=0 +flagg40=134217728 +flagh40=221 +flagi40=0 +tflag40=0 +initx40=0 +inity40=0 +minx40=0 +miny40=0 +maxx40=0 +maxy40=0 +posx40=50 +posy40=50 +sizx40=800 +sizy40=600 +maxfps40=0 +initts40=0 +title41=Caesar III +path41=C:\Games\Caesar III\c3.exe +module41= +opengllib41= +ver41=0 +coord41=0 +flag41=-2147475422 +flagg41=0 +flagh41=0 +flagi41=0 +tflag41=0 +initx41=0 +inity41=0 +minx41=0 +miny41=0 +maxx41=0 +maxy41=0 +posx41=50 +posy41=50 +sizx41=800 +sizy41=600 +maxfps41=0 +initts41=0 +title42=Championship Manager 99-00 +path42=C:\Games\CM9900\cm9900.exe +module42= +opengllib42= +ver42=0 +coord42=0 +flag42=10306 +flagg42=0 +flagh42=0 +flagi42=0 +tflag42=0 +initx42=0 +inity42=0 +minx42=0 +miny42=0 +maxx42=0 +maxy42=0 +posx42=50 +posy42=50 +sizx42=800 +sizy42=600 +maxfps42=0 +initts42=0 +title43=Chariots of War +path43=D:\Games\Chariots of War\CoW.exe +module43= +opengllib43= +ver43=0 +coord43=0 +flag43=134217730 +flagg43=134217728 +flagh43=28 +flagi43=0 +tflag43=0 +initx43=0 +inity43=0 +minx43=0 +miny43=0 +maxx43=0 +maxy43=0 +posx43=50 +posy43=50 +sizx43=800 +sizy43=600 +maxfps43=0 +initts43=0 +title44=Civilization Call to Power +path44=C:\Games\civctp\Civilization_Call_To_Power\ctp_program\ctp\civctp.exe +module44= +opengllib44= +ver44=0 +coord44=0 +flag44=545267746 +flagg44=0 +flagh44=0 +flagi44=0 +tflag44=0 +initx44=0 +inity44=0 +minx44=0 +miny44=0 +maxx44=0 +maxy44=0 +posx44=50 +posy44=50 +sizx44=800 +sizy44=600 +maxfps44=0 +initts44=0 +title45=Claw +path45=C:\Games\claw\clawexe.exe +module45= +opengllib45= +ver45=0 +coord45=0 +flag45=24610 +flagg45=0 +flagh45=0 +flagi45=0 +tflag45=0 +initx45=0 +inity45=0 +minx45=0 +miny45=0 +maxx45=0 +maxy45=0 +posx45=50 +posy45=50 +sizx45=800 +sizy45=600 +maxfps45=0 +initts45=0 +title46=Commando's Behind Enemy Lines Demo +path46=C:\Games\Commando's Behind Enemy Lines Demo\COMANDOS\Comandos.exe +module46= +opengllib46= +ver46=0 +coord46=0 +flag46=1744838944 +flagg46=0 +flagh46=0 +flagi46=0 +tflag46=64 +initx46=0 +inity46=0 +minx46=0 +miny46=0 +maxx46=0 +maxy46=0 +posx46=50 +posy46=50 +sizx46=800 +sizy46=600 +maxfps46=0 +initts46=0 +title47=Commandos II: Men of Courage +path47=D:\Games\Commandos II\comm2.exe +module47= +opengllib47= +ver47=7 +coord47=0 +flag47=2013276256 +flagg47=0 +flagh47=20 +flagi47=0 +tflag47=0 +initx47=0 +inity47=0 +minx47=0 +miny47=0 +maxx47=0 +maxy47=0 +posx47=50 +posy47=50 +sizx47=800 +sizy47=600 +maxfps47=0 +initts47=0 +title48=Crazy Taxy +path48=C:\Games\Crazy_Taxi\Crazy Taxi PC Version\crazy_taxi_pc.exe +module48= +opengllib48= +ver48=8 +coord48=0 +flag48=536870945 +flagg48=0 +flagh48=0 +flagi48=0 +tflag48=0 +initx48=0 +inity48=0 +minx48=0 +miny48=0 +maxx48=0 +maxy48=0 +posx48=50 +posy48=50 +sizx48=800 +sizy48=600 +maxfps48=0 +initts48=0 +title49=Crush! Deluxe +path49=C:\Games\Crush! Deluxe\CRUSHD.EXE +module49= +opengllib49= +ver49=0 +coord49=0 +flag49=134492706 +flagg49=0 +flagh49=0 +flagi49=0 +tflag49=0 +initx49=0 +inity49=0 +minx49=0 +miny49=0 +maxx49=0 +maxy49=0 +posx49=50 +posy49=50 +sizx49=800 +sizy49=600 +maxfps49=0 +initts49=0 +title50=Cybermercs +path50=C:\Games\cybermercs\cybermercs.exe +module50= +opengllib50= +ver50=0 +coord50=0 +flag50=134234146 +flagg50=16 +flagh50=0 +flagi50=0 +tflag50=0 +initx50=0 +inity50=0 +minx50=0 +miny50=0 +maxx50=0 +maxy50=0 +posx50=50 +posy50=50 +sizx50=800 +sizy50=600 +maxfps50=0 +initts50=0 +title51=Daikatana +path51=D:\Games\Daikatana\daikatana.exe +module51= +opengllib51= +ver51=12 +coord51=0 +flag51=269492738 +flagg51=537002497 +flagh51=20 +flagi51=0 +tflag51=2 +initx51=0 +inity51=0 +minx51=0 +miny51=0 +maxx51=0 +maxy51=0 +posx51=50 +posy51=50 +sizx51=800 +sizy51=600 +maxfps51=0 +initts51=0 +title52=Darius Gaiden +path52=C:\Games\Darius_gaiden\DARIUS.EXE +module52= +opengllib52= +ver52=0 +coord52=0 +flag52=536870946 +flagg52=0 +flagh52=0 +flagi52=0 +tflag52=0 +initx52=0 +inity52=0 +minx52=0 +miny52=0 +maxx52=0 +maxy52=0 +posx52=50 +posy52=50 +sizx52=800 +sizy52=600 +maxfps52=0 +initts52=0 +title53=Dark Colony the Council Wars +path53=C:\Games\darkcolony_council\dc\DC16.EXE +module53= +opengllib53= +ver53=0 +coord53=0 +flag53=268435462 +flagg53=0 +flagh53=0 +flagi53=0 +tflag53=0 +initx53=0 +inity53=0 +minx53=0 +miny53=0 +maxx53=0 +maxy53=0 +posx53=50 +posy53=50 +sizx53=800 +sizy53=600 +maxfps53=0 +initts53=0 +title54=Darkstone +path54=C:\Games\darkstone\Darkstone.exe +module54= +opengllib54= +ver54=0 +coord54=0 +flag54=134234148 +flagg54=0 +flagh54=0 +flagi54=0 +tflag54=0 +initx54=0 +inity54=0 +minx54=0 +miny54=0 +maxx54=0 +maxy54=0 +posx54=50 +posy54=50 +sizx54=800 +sizy54=600 +maxfps54=0 +initts54=0 +title55=Dave Mirra Freestyle BMX Demo +path55=C:\Games\Dave Mirra Freestyle BMX\NgBMXDemo.exe +module55= +opengllib55= +ver55=0 +coord55=0 +flag55=8224 +flagg55=0 +flagh55=0 +flagi55=0 +tflag55=0 +initx55=0 +inity55=0 +minx55=0 +miny55=0 +maxx55=0 +maxy55=0 +posx55=50 +posy55=50 +sizx55=800 +sizy55=600 +maxfps55=0 +initts55=0 +title56=Daytona USA Deluxe +path56=C:\Games\Daytona USA Deluxe\DAYTONA USA Deluxe.exe +module56= +opengllib56= +ver56=0 +coord56=0 +flag56=402661410 +flagg56=0 +flagh56=0 +flagi56=0 +tflag56=0 +initx56=0 +inity56=0 +minx56=0 +miny56=0 +maxx56=0 +maxy56=0 +posx56=50 +posy56=50 +sizx56=800 +sizy56=600 +maxfps56=0 +initts56=0 +title57=Deadlock 2 +path57=C:\Games\deadlock2\DEADLOCK.EXE +module57= +opengllib57= +ver57=0 +coord57=0 +flag57=-2012995550 +flagg57=0 +flagh57=0 +flagi57=0 +tflag57=0 +initx57=0 +inity57=0 +minx57=0 +miny57=0 +maxx57=0 +maxy57=0 +posx57=50 +posy57=50 +sizx57=800 +sizy57=600 +maxfps57=0 +initts57=0 +title58=Deeper Dungeons 95 +path58=C:\Games\Keeper95\Deeper95.exe +module58= +opengllib58= +ver58=0 +coord58=0 +flag58=268460070 +flagg58=0 +flagh58=0 +flagi58=0 +tflag58=0 +initx58=0 +inity58=0 +minx58=0 +miny58=0 +maxx58=0 +maxy58=0 +posx58=50 +posy58=50 +sizx58=800 +sizy58=600 +maxfps58=0 +initts58=0 +title59=Delta Force +path59=C:\Games\Delta Force\Df.exe +module59= +opengllib59= +ver59=0 +coord59=0 +flag59=34 +flagg59=0 +flagh59=0 +flagi59=0 +tflag59=0 +initx59=0 +inity59=0 +minx59=0 +miny59=0 +maxx59=0 +maxy59=0 +posx59=50 +posy59=50 +sizx59=800 +sizy59=600 +maxfps59=0 +initts59=0 +title60=Dementia +path60=C:\Games\dementia\program\CRUX.EXE -h +module60= +opengllib60= +ver60=0 +coord60=0 +flag60=536887330 +flagg60=0 +flagh60=0 +flagi60=0 +tflag60=2 +initx60=0 +inity60=0 +minx60=0 +miny60=0 +maxx60=0 +maxy60=0 +posx60=50 +posy60=50 +sizx60=800 +sizy60=600 +maxfps60=0 +initts60=0 +title61=Dethkarz +path61=D:\Games\DethKarz\Dethkarz.exe +module61= +opengllib61= +ver61=0 +coord61=0 +flag61=0 +flagg61=0 +flagh61=16 +flagi61=0 +tflag61=3 +initx61=0 +inity61=0 +minx61=0 +miny61=0 +maxx61=0 +maxy61=0 +posx61=50 +posy61=50 +sizx61=800 +sizy61=600 +maxfps61=0 +initts61=0 +title62=Devil Inside +path62=C:\Games\Devil Inside\Devil.exe +module62= +opengllib62= +ver62=0 +coord62=0 +flag62=32 +flagg62=0 +flagh62=0 +flagi62=0 +tflag62=0 +initx62=0 +inity62=0 +minx62=0 +miny62=0 +maxx62=0 +maxy62=0 +posx62=50 +posy62=50 +sizx62=800 +sizy62=600 +maxfps62=0 +initts62=0 +title63=Diablo +path63=D:\Games\Diablo\Diablo.exe +module63= +opengllib63= +ver63=1 +coord63=0 +flag63=138690594 +flagg63=1108344848 +flagh63=20 +flagi63=0 +tflag63=3 +initx63=0 +inity63=0 +minx63=0 +miny63=0 +maxx63=0 +maxy63=0 +posx63=50 +posy63=50 +sizx63=800 +sizy63=600 +maxfps63=0 +initts63=0 +title64=Dink Smallwood (BAD) +path64=C:\Games\Dink SmallWood\Dink.exe +module64= +opengllib64= +ver64=0 +coord64=0 +flag64=546 +flagg64=0 +flagh64=0 +flagi64=0 +tflag64=258 +initx64=0 +inity64=0 +minx64=0 +miny64=0 +maxx64=0 +maxy64=0 +posx64=50 +posy64=50 +sizx64=800 +sizy64=600 +maxfps64=0 +initts64=0 +title65=Doom 64 Absolution +path65=D:\Games\Doom 64 - Absolution (Win32 Port)\Bin\Absolution.exe +module65= +opengllib65= +ver65=8 +coord65=0 +flag65=134217728 +flagg65=86016 +flagh65=20 +flagi65=0 +tflag65=2 +initx65=0 +inity65=0 +minx65=0 +miny65=0 +maxx65=0 +maxy65=0 +posx65=50 +posy65=50 +sizx65=800 +sizy65=600 +maxfps65=100 +initts65=-5 +title66=Doom 95 +path66=D:\Games\Doom95\DOOM95.EXE +module66= +opengllib66= +ver66=0 +coord66=0 +flag66=134217762 +flagg66=2113536 +flagh66=16 +flagi66=0 +tflag66=258 +initx66=0 +inity66=0 +minx66=0 +miny66=0 +maxx66=0 +maxy66=0 +posx66=50 +posy66=50 +sizx66=800 +sizy66=600 +maxfps66=20 +initts66=-9 +title67=Drakan +path67=C:\Games\Drakan\drakan.exe +module67= +opengllib67= +ver67=0 +coord67=0 +flag67=536887328 +flagg67=0 +flagh67=0 +flagi67=0 +tflag67=0 +initx67=0 +inity67=0 +minx67=0 +miny67=0 +maxx67=0 +maxy67=0 +posx67=50 +posy67=50 +sizx67=800 +sizy67=600 +maxfps67=0 +initts67=0 +title68=Dream Aquarium +path68=D:\Program Files\Dream Aquarium\Dream_Aquarium.scr +module68= +opengllib68= +ver68=9 +coord68=0 +flag68=679477249 +flagg68=303104 +flagh68=0 +flagi68=0 +tflag68=256 +initx68=0 +inity68=0 +minx68=0 +miny68=0 +maxx68=0 +maxy68=0 +posx68=50 +posy68=50 +sizx68=800 +sizy68=600 +maxfps68=500 +initts68=0 +title69=Dungeon Keeper 2 GOG release +path69=D:\Games\Dungeon Keeper 2 GOG release\DKII.EXE +module69= +opengllib69= +ver69=0 +coord69=0 +flag69=134217762 +flagg69=4276224 +flagh69=0 +flagi69=0 +tflag69=6 +initx69=0 +inity69=0 +minx69=0 +miny69=0 +maxx69=0 +maxy69=0 +posx69=50 +posy69=50 +sizx69=800 +sizy69=600 +maxfps69=0 +initts69=0 +title70=Dungeon Keeper 95 +path70=D:\Games\Keeper95\KEEPER95.EXE +module70= +opengllib70= +ver70=0 +coord70=0 +flag70=134299686 +flagg70=0 +flagh70=16 +flagi70=0 +tflag70=0 +initx70=0 +inity70=0 +minx70=0 +miny70=0 +maxx70=0 +maxy70=0 +posx70=50 +posy70=50 +sizx70=800 +sizy70=600 +maxfps70=0 +initts70=0 +title71=Dungeon Keeper D3D +path71=D:\Games\Keeper95\keepd3d.exe +module71= +opengllib71= +ver71=0 +coord71=0 +flag71=134217762 +flagg71=134217728 +flagh71=17 +flagi71=0 +tflag71=259 +initx71=0 +inity71=0 +minx71=0 +miny71=0 +maxx71=0 +maxy71=0 +posx71=50 +posy71=50 +sizx71=800 +sizy71=600 +maxfps71=0 +initts71=0 +title72=Dungeon Keeper II +path72=D:\Games\Dungeon Keeper 2\DKII.exe +module72= +opengllib72= +ver72=0 +coord72=0 +flag72=34 +flagg72=574619648 +flagh72=20 +flagi72=0 +tflag72=263 +initx72=0 +inity72=0 +minx72=0 +miny72=0 +maxx72=0 +maxy72=0 +posx72=150 +posy72=50 +sizx72=800 +sizy72=600 +maxfps72=0 +initts72=0 +title73=Emergency Fighters for life +path73=D:\Games\Emergency\EMERGY.EXE +module73= +opengllib73= +ver73=0 +coord73=0 +flag73=402718947 +flagg73=65554 +flagh73=20 +flagi73=0 +tflag73=3 +initx73=0 +inity73=0 +minx73=0 +miny73=0 +maxx73=0 +maxy73=0 +posx73=50 +posy73=50 +sizx73=800 +sizy73=600 +maxfps73=0 +initts73=0 +title74=Enemy Infestation +path74=C:\Games\Enemy Infestation (1998)\Ei.exe +module74= +opengllib74= +ver74=0 +coord74=0 +flag74=38 +flagg74=0 +flagh74=0 +flagi74=0 +tflag74=0 +initx74=0 +inity74=0 +minx74=0 +miny74=0 +maxx74=0 +maxy74=0 +posx74=50 +posy74=50 +sizx74=800 +sizy74=600 +maxfps74=0 +initts74=0 +title75=Evany La chiave per mondi sconosciuti +path75=D:\Games\Evany La chiave per mondi sconosciuti\Evany.exe +module75= +opengllib75= +ver75=0 +coord75=0 +flag75=134348864 +flagg75=0 +flagh75=277 +flagi75=0 +tflag75=0 +initx75=0 +inity75=0 +minx75=0 +miny75=0 +maxx75=0 +maxy75=0 +posx75=50 +posy75=50 +sizx75=800 +sizy75=600 +maxfps75=0 +initts75=0 +title76=Evil Genius +path76=D:\Games\Evil Genius\ReleaseExe\EvilGenius_Cracked.exe +module76= +opengllib76= +ver76=9 +coord76=0 +flag76=2053 +flagg76=80 +flagh76=0 +flagi76=0 +tflag76=0 +initx76=0 +inity76=0 +minx76=0 +miny76=0 +maxx76=0 +maxy76=0 +posx76=50 +posy76=50 +sizx76=800 +sizy76=600 +maxfps76=0 +initts76=0 +title77=Expendable +path77=C:\Games\eXpendable\go.exe -nocputest +module77= +opengllib77= +ver77=0 +coord77=0 +flag77=402653280 +flagg77=1 +flagh77=0 +flagi77=0 +tflag77=2 +initx77=0 +inity77=0 +minx77=0 +miny77=0 +maxx77=0 +maxy77=0 +posx77=50 +posy77=50 +sizx77=800 +sizy77=600 +maxfps77=0 +initts77=0 +title78=Fallen Heaven +path78=D:\Games\Fallen haven\Exe\FALLEN.EXE +module78=MFC42.dll MSVCRT.DLL mciavi32.dll +opengllib78= +ver78=1 +coord78=0 +flag78=135004674 +flagg78=1049120 +flagh78=0 +flagi78=0 +tflag78=258 +initx78=0 +inity78=0 +minx78=0 +miny78=0 +maxx78=0 +maxy78=0 +posx78=50 +posy78=50 +sizx78=800 +sizy78=600 +maxfps78=0 +initts78=0 +title79=Fallen Heaven (BAD) +path79=C:\Games\falhaven\Exe\FALLEN.EXE +module79= +opengllib79= +ver79=0 +coord79=0 +flag79=679485962 +flagg79=32 +flagh79=0 +flagi79=0 +tflag79=0 +initx79=0 +inity79=0 +minx79=0 +miny79=0 +maxx79=0 +maxy79=0 +posx79=0 +posy79=0 +sizx79=800 +sizy79=600 +maxfps79=0 +initts79=0 +title80=Fallout +path80=D:\Games\Fallout\FALLOUTW.EXE +module80= +opengllib80= +ver80=0 +coord80=0 +flag80=134217734 +flagg80=16 +flagh80=16 +flagi80=0 +tflag80=0 +initx80=0 +inity80=0 +minx80=0 +miny80=0 +maxx80=0 +maxy80=0 +posx80=50 +posy80=50 +sizx80=800 +sizy80=600 +maxfps80=0 +initts80=0 +title81=Fighting Force +path81=D:\Games\Fighting Force\FFORCE.EXE +module81= +opengllib81= +ver81=0 +coord81=0 +flag81=134217730 +flagg81=134217728 +flagh81=477 +flagi81=0 +tflag81=0 +initx81=0 +inity81=0 +minx81=0 +miny81=0 +maxx81=0 +maxy81=0 +posx81=50 +posy81=50 +sizx81=800 +sizy81=600 +maxfps81=0 +initts81=0 +title82=FreakOut +path82=C:\Games\Freak Out - Extreme Freeride\FreakOut.exe +module82= +opengllib82= +ver82=9 +coord82=0 +flag82=0 +flagg82=0 +flagh82=0 +flagi82=0 +tflag82=2 +initx82=0 +inity82=0 +minx82=0 +miny82=0 +maxx82=0 +maxy82=0 +posx82=50 +posy82=50 +sizx82=800 +sizy82=600 +maxfps82=0 +initts82=0 +title83=Funtracks +path83=C:\Games\Funtracks\Fun_win.exe +module83= +opengllib83= +ver83=1 +coord83=0 +flag83=2 +flagg83=0 +flagh83=0 +flagi83=0 +tflag83=258 +initx83=0 +inity83=0 +minx83=0 +miny83=0 +maxx83=0 +maxy83=0 +posx83=50 +posy83=50 +sizx83=800 +sizy83=600 +maxfps83=0 +initts83=0 +title84=Galapagos +path84=C:\Games\Galapagos\GALA.EXE +module84= +opengllib84= +ver84=0 +coord84=0 +flag84=134217760 +flagg84=0 +flagh84=0 +flagi84=0 +tflag84=0 +initx84=0 +inity84=0 +minx84=0 +miny84=0 +maxx84=0 +maxy84=0 +posx84=50 +posy84=50 +sizx84=800 +sizy84=600 +maxfps84=0 +initts84=0 +title85=Gangsters +path85=D:\Games\Gangsters\gangsters.exe +module85= +opengllib85= +ver85=0 +coord85=0 +flag85=134217730 +flagg85=135266304 +flagh85=16 +flagi85=0 +tflag85=0 +initx85=0 +inity85=0 +minx85=0 +miny85=0 +maxx85=0 +maxy85=0 +posx85=50 +posy85=50 +sizx85=800 +sizy85=600 +maxfps85=0 +initts85=0 +title86=Garshasp +path86=D:\Games\Garshasp\distro\Garshasp.exe +module86= +opengllib86= +ver86=0 +coord86=0 +flag86=402653184 +flagg86=134217728 +flagh86=477 +flagi86=0 +tflag86=0 +initx86=0 +inity86=0 +minx86=0 +miny86=0 +maxx86=0 +maxy86=0 +posx86=50 +posy86=50 +sizx86=800 +sizy86=600 +maxfps86=0 +initts86=0 +title87=GeneRally +path87=C:\Games\generally105\GeneRally.exe +module87= +opengllib87= +ver87=0 +coord87=0 +flag87=34 +flagg87=0 +flagh87=0 +flagi87=0 +tflag87=0 +initx87=0 +inity87=0 +minx87=0 +miny87=0 +maxx87=0 +maxy87=0 +posx87=50 +posy87=50 +sizx87=800 +sizy87=600 +maxfps87=0 +initts87=0 +title88=Get Medieval +path88=C:\Games\Get Medieval\MEDIEVAL.EXE +module88= +opengllib88= +ver88=0 +coord88=0 +flag88=34 +flagg88=2 +flagh88=0 +flagi88=0 +tflag88=0 +initx88=0 +inity88=0 +minx88=0 +miny88=0 +maxx88=0 +maxy88=0 +posx88=0 +posy88=0 +sizx88=800 +sizy88=600 +maxfps88=0 +initts88=0 +title89=Gift +path89=C:\Games\Gift\Gift.exe +module89= +opengllib89= +ver89=0 +coord89=0 +flag89=4196384 +flagg89=0 +flagh89=0 +flagi89=0 +tflag89=34 +initx89=0 +inity89=0 +minx89=0 +miny89=0 +maxx89=0 +maxy89=0 +posx89=0 +posy89=0 +sizx89=0 +sizy89=0 +maxfps89=0 +initts89=0 +title90=glsample.exe +path90=D:\DxWnd\code examples\glsample\Debug\glsample.exe +module90= +opengllib90= +ver90=0 +coord90=0 +flag90=0 +flagg90=134348800 +flagh90=0 +flagi90=0 +tflag90=2 +initx90=0 +inity90=0 +minx90=0 +miny90=0 +maxx90=0 +maxy90=0 +posx90=0 +posy90=0 +sizx90=800 +sizy90=600 +maxfps90=0 +initts90=0 +title91=Golden Age of Racing +path91=C:\Games\Golden Age of Racing\GAOR.exe +module91= +opengllib91= +ver91=0 +coord91=0 +flag91=34 +flagg91=0 +flagh91=0 +flagi91=0 +tflag91=0 +initx91=0 +inity91=0 +minx91=0 +miny91=0 +maxx91=0 +maxy91=0 +posx91=50 +posy91=50 +sizx91=800 +sizy91=600 +maxfps91=0 +initts91=0 +title92=Gp500 for Win2K +path92=C:\Games\gp500\gp500_win2k.exe +module92= +opengllib92= +ver92=1 +coord92=0 +flag92=545677860 +flagg92=0 +flagh92=0 +flagi92=0 +tflag92=2 +initx92=0 +inity92=0 +minx92=0 +miny92=0 +maxx92=0 +maxy92=0 +posx92=50 +posy92=50 +sizx92=800 +sizy92=600 +maxfps92=0 +initts92=0 +title93=G-Police +path93=C:\Games\gpolice\GPOLICE.EXE +module93= +opengllib93= +ver93=0 +coord93=0 +flag93=67125286 +flagg93=0 +flagh93=0 +flagi93=0 +tflag93=2 +initx93=0 +inity93=0 +minx93=0 +miny93=0 +maxx93=0 +maxy93=0 +posx93=50 +posy93=50 +sizx93=800 +sizy93=600 +maxfps93=0 +initts93=0 +title94=Grand Prix Legends +path94=D:\Games\Grand Prix Legends\gpl\gpl.exe +module94= +opengllib94= +ver94=0 +coord94=0 +flag94=-2013233117 +flagg94=0 +flagh94=20 +flagi94=0 +tflag94=3 +initx94=0 +inity94=0 +minx94=0 +miny94=0 +maxx94=0 +maxy94=0 +posx94=50 +posy94=50 +sizx94=800 +sizy94=600 +maxfps94=0 +initts94=0 +title95=Grand Prix Legends MAX +path95=D:\Games\Grand Prix Legends MAX\gpl.exe +module95= +opengllib95= +ver95=7 +coord95=0 +flag95=537001986 +flagg95=134217729 +flagh95=0 +flagi95=0 +tflag95=2 +initx95=0 +inity95=0 +minx95=0 +miny95=0 +maxx95=0 +maxy95=0 +posx95=50 +posy95=50 +sizx95=800 +sizy95=600 +maxfps95=0 +initts95=0 +title96=Grand Prix World +path96=D:\Games\Grand Prix World\gpwxp2.exe +module96= +opengllib96= +ver96=0 +coord96=0 +flag96=2097314 +flagg96=134217856 +flagh96=80 +flagi96=0 +tflag96=35 +initx96=0 +inity96=0 +minx96=0 +miny96=0 +maxx96=0 +maxy96=0 +posx96=50 +posy96=50 +sizx96=800 +sizy96=600 +maxfps96=0 +initts96=0 +title97=Grand Theft Auto 2 +path97=D:\Games\GTA2\gta2.exe +module97=binkw32 d3ddll +opengllib97= +ver97=0 +coord97=0 +flag97=671096866 +flagg97=1048576 +flagh97=0 +flagi97=0 +tflag97=2 +initx97=0 +inity97=0 +minx97=0 +miny97=0 +maxx97=0 +maxy97=0 +posx97=50 +posy97=50 +sizx97=400 +sizy97=300 +maxfps97=0 +initts97=0 +title98=Grand Touring +path98=D:\Games\Grand Touring\gt.exe +module98= +opengllib98= +ver98=0 +coord98=0 +flag98=16390 +flagg98=134283264 +flagh98=16 +flagi98=0 +tflag98=275 +initx98=0 +inity98=0 +minx98=0 +miny98=0 +maxx98=0 +maxy98=0 +posx98=50 +posy98=50 +sizx98=800 +sizy98=600 +maxfps98=0 +initts98=8 +title99=Grim Fandango Demo +path99=C:\Games\GrimWebDemo\grimdemo.exe +module99= +opengllib99= +ver99=0 +coord99=0 +flag99=34 +flagg99=0 +flagh99=0 +flagi99=0 +tflag99=258 +initx99=0 +inity99=0 +minx99=0 +miny99=0 +maxx99=0 +maxy99=0 +posx99=50 +posy99=50 +sizx99=800 +sizy99=600 +maxfps99=0 +initts99=0 +title100=Gruntz +path100=D:\Games\gruntz\GRUNTZ.EXE +module100= +opengllib100= +ver100=0 +coord100=0 +flag100=34 +flagg100=134217728 +flagh100=16 +flagi100=0 +tflag100=0 +initx100=0 +inity100=0 +minx100=0 +miny100=0 +maxx100=0 +maxy100=0 +posx100=50 +posy100=50 +sizx100=800 +sizy100=600 +maxfps100=0 +initts100=0 +title101=GTA 3 +path101=D:\Games\GTA3\gta3.exe +module101= +opengllib101= +ver101=0 +coord101=0 +flag101=134234150 +flagg101=1207975952 +flagh101=176 +flagi101=0 +tflag101=2 +initx101=0 +inity101=0 +minx101=0 +miny101=0 +maxx101=0 +maxy101=0 +posx101=50 +posy101=50 +sizx101=800 +sizy101=600 +maxfps101=0 +initts101=0 +title102=Gunman Chronicles +path102=D:\Games\Gunman\gunman.exe +module102= +opengllib102= +ver102=0 +coord102=0 +flag102=0 +flagg102=-2013134848 +flagh102=0 +flagi102=0 +tflag102=0 +initx102=0 +inity102=0 +minx102=0 +miny102=0 +maxx102=0 +maxy102=0 +posx102=0 +posy102=0 +sizx102=400 +sizy102=300 +maxfps102=0 +initts102=0 +title103=Half-Life Blue-Shift (d3d) +path103=D:\Games\Half-Life Blue-Shift\bshift.exe +module103= +opengllib103= +ver103=7 +coord103=0 +flag103=1207959554 +flagg103=513 +flagh103=0 +flagi103=0 +tflag103=258 +initx103=0 +inity103=0 +minx103=0 +miny103=0 +maxx103=0 +maxy103=0 +posx103=50 +posy103=50 +sizx103=800 +sizy103=600 +maxfps103=0 +initts103=0 +title104=Half-Life Uplink Demo +path104=D:\Games\Half-Life Uplink\hldemo.exe +module104= +opengllib104= +ver104=1 +coord104=0 +flag104=1073741826 +flagg104=16384 +flagh104=0 +flagi104=0 +tflag104=2 +initx104=0 +inity104=0 +minx104=0 +miny104=0 +maxx104=0 +maxy104=0 +posx104=50 +posy104=50 +sizx104=640 +sizy104=480 +maxfps104=0 +initts104=0 +title105=Halo Combat Evolved +path105=D:\Games\Halo Combat Evolved\halo.exe +module105= +opengllib105= +ver105=9 +coord105=0 +flag105=570425377 +flagg105=-2147483648 +flagh105=0 +flagi105=0 +tflag105=478 +initx105=0 +inity105=0 +minx105=0 +miny105=0 +maxx105=0 +maxy105=0 +posx105=50 +posy105=50 +sizx105=800 +sizy105=600 +maxfps105=0 +initts105=0 +title106=Heart of Darkness +path106=d:\Games\Heart of Darkness\HODWin32.exe +module106= +opengllib106= +ver106=0 +coord106=0 +flag106=8226 +flagg106=2179072 +flagh106=16 +flagi106=0 +tflag106=0 +initx106=0 +inity106=0 +minx106=0 +miny106=0 +maxx106=0 +maxy106=0 +posx106=50 +posy106=50 +sizx106=800 +sizy106=600 +maxfps106=0 +initts106=4 +title107=Heavy Metal - FAKK2 Demo +path107=D:\Games\Heavy Metal - FAKK2 Demo\fakk2.exe +module107= +opengllib107= +ver107=0 +coord107=0 +flag107=4 +flagg107=134348800 +flagh107=284 +flagi107=0 +tflag107=0 +initx107=0 +inity107=0 +minx107=0 +miny107=0 +maxx107=0 +maxy107=0 +posx107=50 +posy107=50 +sizx107=800 +sizy107=600 +maxfps107=0 +initts107=0 +title108=Heavy Metal FAKK 2 +path108=C:\Games\Heavy Metal - FAKK2\fakk2.exe +module108= +opengllib108= +ver108=0 +coord108=0 +flag108=33554464 +flagg108=64 +flagh108=0 +flagi108=0 +tflag108=2 +initx108=0 +inity108=0 +minx108=0 +miny108=0 +maxx108=0 +maxy108=0 +posx108=50 +posy108=50 +sizx108=800 +sizy108=600 +maxfps108=0 +initts108=0 +title109=HellCopter +path109=C:\Games\hellcop\HCopter.exe +module109= +opengllib109= +ver109=0 +coord109=0 +flag109=-2013249500 +flagg109=256 +flagh109=0 +flagi109=0 +tflag109=0 +initx109=0 +inity109=0 +minx109=0 +miny109=0 +maxx109=0 +maxy109=0 +posx109=50 +posy109=50 +sizx109=800 +sizy109=600 +maxfps109=0 +initts109=0 +title110=Heretic 2 +path110=D:\Games\Heretic 2\Heretic2.exe +module110= +opengllib110= +ver110=0 +coord110=0 +flag110=0 +flagg110=134348800 +flagh110=29 +flagi110=0 +tflag110=258 +initx110=0 +inity110=0 +minx110=0 +miny110=0 +maxx110=0 +maxy110=0 +posx110=50 +posy110=50 +sizx110=800 +sizy110=600 +maxfps110=0 +initts110=0 +title111=Heroes of Might & Magic III Demo +path111=C:\Games\Heroes III Demo\h3demo.exe +module111= +opengllib111= +ver111=1 +coord111=0 +flag111=134234146 +flagg111=0 +flagh111=0 +flagi111=0 +tflag111=2 +initx111=0 +inity111=0 +minx111=0 +miny111=0 +maxx111=0 +maxy111=0 +posx111=50 +posy111=50 +sizx111=800 +sizy111=600 +maxfps111=0 +initts111=0 +title112=Hexen II (opengl) +path112=D:\Games\Hexen II\glh2.exe +module112= +opengllib112= +ver112=10 +coord112=1 +flag112=3 +flagg112=213009 +flagh112=16 +flagi112=0 +tflag112=386 +initx112=0 +inity112=0 +minx112=0 +miny112=0 +maxx112=0 +maxy112=0 +posx112=50 +posy112=50 +sizx112=800 +sizy112=600 +maxfps112=50 +initts112=8 +title113=Hexen II (software) +path113=D:\Games\Hexen II\h2.exe +module113= +opengllib113= +ver113=0 +coord113=0 +flag113=671088642 +flagg113=1130496 +flagh113=16 +flagi113=0 +tflag113=0 +initx113=0 +inity113=0 +minx113=0 +miny113=0 +maxx113=0 +maxy113=0 +posx113=50 +posy113=50 +sizx113=800 +sizy113=600 +maxfps113=0 +initts113=8 +title114=Hitman - Codename 47 +path114=D:\Games\Hitman - Codename 47\Hitman.Exe +module114= +opengllib114= +ver114=0 +coord114=0 +flag114=134217728 +flagg114=671088640 +flagh114=28 +flagi114=0 +tflag114=3 +initx114=0 +inity114=0 +minx114=0 +miny114=0 +maxx114=0 +maxy114=0 +posx114=50 +posy114=50 +sizx114=800 +sizy114=600 +maxfps114=0 +initts114=0 +title115=Homeworld 2 +path115=D:\Games\Homeworld2\Bin\Release\Homeworld2.exe +module115= +opengllib115= +ver115=0 +coord115=0 +flag115=671088642 +flagg115=134217728 +flagh115=477 +flagi115=0 +tflag115=0 +initx115=0 +inity115=0 +minx115=0 +miny115=0 +maxx115=0 +maxy115=0 +posx115=50 +posy115=50 +sizx115=800 +sizy115=600 +maxfps115=0 +initts115=0 +title116=hover +path116=C:\Games\hover\hoverX.exe +module116= +opengllib116= +ver116=0 +coord116=0 +flag116=8224 +flagg116=0 +flagh116=0 +flagi116=0 +tflag116=0 +initx116=0 +inity116=0 +minx116=0 +miny116=0 +maxx116=0 +maxy116=0 +posx116=50 +posy116=50 +sizx116=800 +sizy116=600 +maxfps116=0 +initts116=0 +title117=Hyperblade +path117=D:\Games\Hyperblade\HYPERX.EXE +module117= +opengllib117= +ver117=0 +coord117=0 +flag117=134217891 +flagg117=3231762 +flagh117=16 +flagi117=0 +tflag117=2 +initx117=0 +inity117=0 +minx117=0 +miny117=0 +maxx117=0 +maxy117=0 +posx117=50 +posy117=50 +sizx117=800 +sizy117=600 +maxfps117=25 +initts117=1 +title118=Idinaloq +path118=C:\Games\idina101\idinaloq.exe +module118= +opengllib118= +ver118=0 +coord118=0 +flag118=32 +flagg118=0 +flagh118=0 +flagi118=0 +tflag118=0 +initx118=0 +inity118=0 +minx118=0 +miny118=0 +maxx118=0 +maxy118=0 +posx118=50 +posy118=50 +sizx118=800 +sizy118=600 +maxfps118=0 +initts118=0 +title119=Immanis +path119=C:\Games\Immanis CD release\immanis.exe +module119= +opengllib119= +ver119=0 +coord119=0 +flag119=24611 +flagg119=0 +flagh119=0 +flagi119=0 +tflag119=0 +initx119=0 +inity119=0 +minx119=0 +miny119=0 +maxx119=0 +maxy119=0 +posx119=50 +posy119=50 +sizx119=800 +sizy119=600 +maxfps119=0 +initts119=0 +title120=Immanis (v2) +path120=C:\Games\Immanis CD release\immanis_v2.exe +module120= +opengllib120= +ver120=0 +coord120=0 +flag120=268460067 +flagg120=0 +flagh120=0 +flagi120=0 +tflag120=0 +initx120=0 +inity120=0 +minx120=0 +miny120=0 +maxx120=0 +maxy120=0 +posx120=50 +posy120=50 +sizx120=800 +sizy120=600 +maxfps120=0 +initts120=0 +title121=In the Hunt +path121=C:\Games\In The Hunt\e8.exe +module121= +opengllib121= +ver121=0 +coord121=0 +flag121=2 +flagg121=0 +flagh121=0 +flagi121=0 +tflag121=0 +initx121=0 +inity121=0 +minx121=0 +miny121=0 +maxx121=0 +maxy121=0 +posx121=50 +posy121=50 +sizx121=800 +sizy121=600 +maxfps121=0 +initts121=0 +title122=Incoming Forces +path122=D:\Games\Incoming Forces\forces.exe +module122= +opengllib122= +ver122=8 +coord122=0 +flag122=134217760 +flagg122=0 +flagh122=0 +flagi122=0 +tflag122=2 +initx122=0 +inity122=0 +minx122=0 +miny122=0 +maxx122=0 +maxy122=0 +posx122=50 +posy122=50 +sizx122=800 +sizy122=600 +maxfps122=0 +initts122=0 +title123=International Superstar Soccer 3 +path123=C:\Games\ISS_3\iss3.exe +module123= +opengllib123= +ver123=8 +coord123=0 +flag123=545267715 +flagg123=0 +flagh123=0 +flagi123=0 +tflag123=0 +initx123=0 +inity123=0 +minx123=0 +miny123=0 +maxx123=0 +maxy123=0 +posx123=50 +posy123=50 +sizx123=800 +sizy123=600 +maxfps123=0 +initts123=0 +title124=Jacked +path124=D:\Games\Jacked\Jacked.exe +module124=winmm +opengllib124= +ver124=9 +coord124=0 +flag124=537010208 +flagg124=196608 +flagh124=0 +flagi124=0 +tflag124=258 +initx124=0 +inity124=0 +minx124=0 +miny124=0 +maxx124=0 +maxy124=0 +posx124=50 +posy124=50 +sizx124=800 +sizy124=600 +maxfps124=100 +initts124=3 +title125=Jedi Knight II Jedi Outcast +path125=D:\Games\Jedi Knight II Jedi Outcast\GameData\jk2sp.exe +module125= +opengllib125= +ver125=0 +coord125=0 +flag125=2 +flagg125=1180161 +flagh125=16 +flagi125=0 +tflag125=2 +initx125=0 +inity125=0 +minx125=0 +miny125=0 +maxx125=0 +maxy125=0 +posx125=50 +posy125=50 +sizx125=800 +sizy125=600 +maxfps125=0 +initts125=0 +title126=Jet Moto +path126=M:\JETMOTO.EXE +module126= +opengllib126= +ver126=0 +coord126=0 +flag126=139298 +flagg126=0 +flagh126=0 +flagi126=0 +tflag126=0 +initx126=0 +inity126=0 +minx126=0 +miny126=0 +maxx126=0 +maxy126=0 +posx126=50 +posy126=50 +sizx126=800 +sizy126=600 +maxfps126=0 +initts126=0 +title127=Kiss Psyco Cyrcus +path127=C:\Games\Psycho\client.exe +module127=d3d.ren +opengllib127= +ver127=7 +coord127=0 +flag127=537018404 +flagg127=0 +flagh127=0 +flagi127=0 +tflag127=0 +initx127=0 +inity127=0 +minx127=0 +miny127=0 +maxx127=0 +maxy127=0 +posx127=50 +posy127=50 +sizx127=800 +sizy127=600 +maxfps127=0 +initts127=0 +title128=Kohan II Kings of War +path128=D:\Games\Kohan II Kings of War\k2.exe +module128= +opengllib128= +ver128=0 +coord128=0 +flag128=134217728 +flagg128=134217728 +flagh128=-842150435 +flagi128=-842150451 +tflag128=0 +initx128=0 +inity128=0 +minx128=0 +miny128=0 +maxx128=0 +maxy128=0 +posx128=50 +posy128=50 +sizx128=800 +sizy128=600 +maxfps128=0 +initts128=0 +title129=Koplio +path129=D:\Games\Koplio\KOPLIO.exe +module129= +opengllib129= +ver129=1 +coord129=0 +flag129=545390720 +flagg129=134217729 +flagh129=20 +flagi129=0 +tflag129=3 +initx129=0 +inity129=0 +minx129=0 +miny129=0 +maxx129=0 +maxy129=0 +posx129=50 +posy129=50 +sizx129=800 +sizy129=600 +maxfps129=0 +initts129=0 +title130=Krazy Ivan +path130=C:\Games\Krazy Ivan\KRAZY.EXE +module130= +opengllib130= +ver130=0 +coord130=0 +flag130=536870914 +flagg130=0 +flagh130=0 +flagi130=0 +tflag130=0 +initx130=0 +inity130=0 +minx130=0 +miny130=0 +maxx130=0 +maxy130=0 +posx130=50 +posy130=50 +sizx130=800 +sizy130=600 +maxfps130=0 +initts130=0 +title131=Last Bronx +path131=C:\Games\Last_Bronx\LB.EXE +module131= +opengllib131= +ver131=0 +coord131=0 +flag131=40994 +flagg131=0 +flagh131=0 +flagi131=0 +tflag131=64 +initx131=0 +inity131=0 +minx131=0 +miny131=0 +maxx131=0 +maxy131=0 +posx131=50 +posy131=50 +sizx131=800 +sizy131=600 +maxfps131=0 +initts131=0 +title132=Lionheart +path132=C:\Games\Lionheart Demo\Lionheart.exe +module132= +opengllib132= +ver132=0 +coord132=0 +flag132=-2147483612 +flagg132=0 +flagh132=0 +flagi132=0 +tflag132=0 +initx132=0 +inity132=0 +minx132=0 +miny132=0 +maxx132=0 +maxy132=0 +posx132=50 +posy132=50 +sizx132=800 +sizy132=600 +maxfps132=0 +initts132=0 +title133=lithtech.exe +path133=D:\Games\NOLF Technology Demo\lithtech.exe +module133= +opengllib133= +ver133=7 +coord133=0 +flag133=0 +flagg133=512 +flagh133=0 +flagi133=0 +tflag133=258 +initx133=0 +inity133=0 +minx133=0 +miny133=0 +maxx133=0 +maxy133=0 +posx133=50 +posy133=50 +sizx133=800 +sizy133=600 +maxfps133=0 +initts133=0 +title134=Lords of the Realm 2 +path134=D:\Games\L2SIEGE\LORDS2.EXE +module134= +opengllib134= +ver134=0 +coord134=0 +flag134=38 +flagg134=65536 +flagh134=16 +flagi134=0 +tflag134=8 +initx134=0 +inity134=0 +minx134=0 +miny134=0 +maxx134=0 +maxy134=0 +posx134=50 +posy134=50 +sizx134=800 +sizy134=600 +maxfps134=0 +initts134=0 +title135=M.A.X. 2 +path135=C:\Games\MAX 2\MAX_2\MAX2\MAX2.EXE +module135= +opengllib135= +ver135=0 +coord135=0 +flag135=34 +flagg135=0 +flagh135=0 +flagi135=0 +tflag135=0 +initx135=0 +inity135=0 +minx135=0 +miny135=0 +maxx135=0 +maxy135=0 +posx135=50 +posy135=50 +sizx135=800 +sizy135=600 +maxfps135=0 +initts135=0 +title136=M1 Tank Platoon 2 +path136=C:\Games\M1 Tank Platoon 2\M1TP2.exe +module136= +opengllib136= +ver136=8 +coord136=0 +flag136=34 +flagg136=0 +flagh136=0 +flagi136=0 +tflag136=0 +initx136=0 +inity136=0 +minx136=0 +miny136=0 +maxx136=0 +maxy136=0 +posx136=50 +posy136=50 +sizx136=800 +sizy136=600 +maxfps136=0 +initts136=0 +title137=Mario Worlds (stripped PE) +path137=C:\Games\Mario Worlds\Mario Worlds.exe +module137= +opengllib137= +ver137=1 +coord137=0 +flag137=2 +flagg137=1 +flagh137=0 +flagi137=0 +tflag137=386 +initx137=0 +inity137=0 +minx137=0 +miny137=0 +maxx137=0 +maxy137=0 +posx137=50 +posy137=50 +sizx137=800 +sizy137=600 +maxfps137=0 +initts137=0 +title138=Masters of Orion 2 +path138=C:\Games\Orion2\Orion95.exe +module138= +opengllib138= +ver138=0 +coord138=0 +flag138=34 +flagg138=0 +flagh138=0 +flagi138=0 +tflag138=0 +initx138=0 +inity138=0 +minx138=0 +miny138=0 +maxx138=0 +maxy138=0 +posx138=50 +posy138=50 +sizx138=800 +sizy138=600 +maxfps138=0 +initts138=0 +title139=Microsoft Flight Simulator 98 +path139=C:\Games\Flight Simulator 98\FLTSIM98.EXE +module139= +opengllib139= +ver139=0 +coord139=0 +flag139=288 +flagg139=0 +flagh139=0 +flagi139=0 +tflag139=0 +initx139=0 +inity139=0 +minx139=0 +miny139=0 +maxx139=0 +maxy139=0 +posx139=50 +posy139=50 +sizx139=800 +sizy139=600 +maxfps139=0 +initts139=0 +title140=Microsoft Midtown Madness +path140=C:\Games\Midtown Madness\midtown.exe +module140= +opengllib140= +ver140=0 +coord140=0 +flag140=8192 +flagg140=0 +flagh140=0 +flagi140=0 +tflag140=2 +initx140=0 +inity140=0 +minx140=0 +miny140=0 +maxx140=0 +maxy140=0 +posx140=50 +posy140=50 +sizx140=800 +sizy140=600 +maxfps140=0 +initts140=0 +title141=Microsoft Midtown Madness Trial (BAD) +path141=C:\Games\Midtown Madness Trial\midtrial.exe +module141= +opengllib141= +ver141=0 +coord141=0 +flag141=2 +flagg141=0 +flagh141=0 +flagi141=0 +tflag141=0 +initx141=0 +inity141=0 +minx141=0 +miny141=0 +maxx141=0 +maxy141=0 +posx141=0 +posy141=0 +sizx141=800 +sizy141=600 +maxfps141=0 +initts141=0 +title142=Microsoft Motocross Madness 2 (BAD!!) +path142=C:\Games\Motocross Madness 2\MCM2.cracked.EXE +module142= +opengllib142= +ver142=7 +coord142=0 +flag142=201326664 +flagg142=1 +flagh142=0 +flagi142=0 +tflag142=82 +initx142=0 +inity142=0 +minx142=0 +miny142=0 +maxx142=0 +maxy142=0 +posx142=50 +posy142=50 +sizx142=800 +sizy142=600 +maxfps142=0 +initts142=0 +title143=Microsoft Motocross Madness Trial (BAD) +path143=C:\Games\Motocross Madness Trial\mcm.exe +module143= +opengllib143= +ver143=1 +coord143=0 +flag143=134225952 +flagg143=0 +flagh143=0 +flagi143=0 +tflag143=130 +initx143=0 +inity143=0 +minx143=0 +miny143=0 +maxx143=0 +maxy143=0 +posx143=50 +posy143=50 +sizx143=0 +sizy143=0 +maxfps143=0 +initts143=0 +title144=Mission Force Cyberstorm (BAD ?) +path144=C:\Games\SIERRA\CSTORM\CSTORM.EXE +module144= +opengllib144= +ver144=0 +coord144=0 +flag144=33562658 +flagg144=0 +flagh144=0 +flagi144=0 +tflag144=0 +initx144=0 +inity144=0 +minx144=0 +miny144=0 +maxx144=0 +maxy144=0 +posx144=50 +posy144=50 +sizx144=0 +sizy144=0 +maxfps144=0 +initts144=0 +title145=Monopoly 3D +path145=C:\Games\Monopoly (Edition 3D)\Monopoly.exe +module145= +opengllib145= +ver145=0 +coord145=0 +flag145=134244388 +flagg145=0 +flagh145=0 +flagi145=0 +tflag145=2 +initx145=0 +inity145=0 +minx145=0 +miny145=0 +maxx145=0 +maxy145=0 +posx145=50 +posy145=50 +sizx145=800 +sizy145=600 +maxfps145=0 +initts145=0 +title146=Monster Truck Madness 2 +path146=C:\Games\Monster Truck Madness 2\Monster.EXE +module146= +opengllib146= +ver146=1 +coord146=0 +flag146=34 +flagg146=1 +flagh146=0 +flagi146=0 +tflag146=0 +initx146=0 +inity146=0 +minx146=0 +miny146=0 +maxx146=0 +maxy146=0 +posx146=50 +posy146=50 +sizx146=800 +sizy146=600 +maxfps146=0 +initts146=0 +title147=Moto Racer Demo +path147=D:\Games\Moto Racer Demo\PlayDemo.exe +module147= +opengllib147= +ver147=0 +coord147=0 +flag147=167903267 +flagg147=192 +flagh147=16 +flagi147=0 +tflag147=14 +initx147=0 +inity147=0 +minx147=0 +miny147=0 +maxx147=0 +maxy147=0 +posx147=50 +posy147=50 +sizx147=800 +sizy147=600 +maxfps147=0 +initts147=0 +title148=MTV Music Generator +path148=D:\games\MTV Music Generator\mtvmusic.exe +module148= +opengllib148= +ver148=0 +coord148=0 +flag148=136314914 +flagg148=1209008128 +flagh148=797 +flagi148=0 +tflag148=3 +initx148=0 +inity148=0 +minx148=0 +miny148=0 +maxx148=0 +maxy148=0 +posx148=50 +posy148=50 +sizx148=800 +sizy148=600 +maxfps148=0 +initts148=0 +title149=Necrodrome +path149=C:\Games\Necrodome\NECRO95.EXE +module149= +opengllib149= +ver149=0 +coord149=0 +flag149=268435495 +flagg149=256 +flagh149=16 +flagi149=0 +tflag149=0 +initx149=0 +inity149=0 +minx149=0 +miny149=0 +maxx149=0 +maxy149=0 +posx149=50 +posy149=50 +sizx149=800 +sizy149=600 +maxfps149=0 +initts149=0 +title150=Need For Speed - Porsche 2000 +path150=C:\Games\Need For Speed - Porsche 2000\Porsche.exe +module150= +opengllib150= +ver150=7 +coord150=0 +flag150=0 +flagg150=0 +flagh150=0 +flagi150=0 +tflag150=258 +initx150=0 +inity150=0 +minx150=0 +miny150=0 +maxx150=0 +maxy150=0 +posx150=50 +posy150=50 +sizx150=800 +sizy150=600 +maxfps150=0 +initts150=0 +title151=Need For Speed Underground +path151=D:\Games\Need For Speed Underground\speed.exe +module151= +opengllib151= +ver151=0 +coord151=0 +flag151=671088674 +flagg151=1815101441 +flagh151=60 +flagi151=0 +tflag151=322 +initx151=0 +inity151=0 +minx151=0 +miny151=0 +maxx151=0 +maxy151=0 +posx151=50 +posy151=50 +sizx151=800 +sizy151=600 +maxfps151=0 +initts151=6 +title152=Need for Speed Underground 2 +path152=D:\Games\Need for Speed Underground 2\SPEED2.EXE +module152= +opengllib152= +ver152=0 +coord152=0 +flag152=671105026 +flagg152=136331264 +flagh152=61 +flagi152=0 +tflag152=6 +initx152=0 +inity152=0 +minx152=0 +miny152=0 +maxx152=0 +maxy152=0 +posx152=50 +posy152=50 +sizx152=800 +sizy152=600 +maxfps152=0 +initts152=0 +title153=Need For Speed Underground Demo +path153=D:\Games\Need For Speed Underground Demo\speeddemo.exe +module153= +opengllib153= +ver153=9 +coord153=0 +flag153=0 +flagg153=673202192 +flagh153=61 +flagi153=0 +tflag153=2 +initx153=0 +inity153=0 +minx153=0 +miny153=0 +maxx153=0 +maxy153=0 +posx153=50 +posy153=50 +sizx153=800 +sizy153=600 +maxfps153=0 +initts153=0 +title154=Netstorm Islands at War +path154=C:\Games\Netstorm\Netstorm.exe +module154= +opengllib154= +ver154=0 +coord154=0 +flag154=2 +flagg154=0 +flagh154=0 +flagi154=0 +tflag154=0 +initx154=0 +inity154=0 +minx154=0 +miny154=0 +maxx154=0 +maxy154=0 +posx154=50 +posy154=50 +sizx154=800 +sizy154=600 +maxfps154=0 +initts154=0 +title155=Nightmare Ned +path155=D:\Games\Ned\NITENED.EXE +module155= +opengllib155= +ver155=0 +coord155=0 +flag155=537395202 +flagg155=135266305 +flagh155=0 +flagi155=0 +tflag155=0 +initx155=0 +inity155=0 +minx155=0 +miny155=0 +maxx155=0 +maxy155=0 +posx155=0 +posy155=0 +sizx155=800 +sizy155=600 +maxfps155=0 +initts155=0 +title156=Nocturne +path156=D:\Games\Nocturne\nocturne.exe +module156= +opengllib156= +ver156=0 +coord156=0 +flag156=134217730 +flagg156=402653264 +flagh156=144 +flagi156=0 +tflag156=3 +initx156=0 +inity156=0 +minx156=0 +miny156=0 +maxx156=0 +maxy156=0 +posx156=50 +posy156=50 +sizx156=800 +sizy156=600 +maxfps156=0 +initts156=0 +title157=Nox +path157=d:\Games\Nox\Game.exe +module157= +opengllib157= +ver157=0 +coord157=0 +flag157=939540515 +flagg157=0 +flagh157=0 +flagi157=0 +tflag157=386 +initx157=0 +inity157=0 +minx157=0 +miny157=0 +maxx157=0 +maxy157=0 +posx157=50 +posy157=50 +sizx157=800 +sizy157=600 +maxfps157=0 +initts157=0 +title158=Pacific General +path158=C:\Games\Pacific General\PACGEN.EXE +module158= +opengllib158= +ver158=0 +coord158=0 +flag158=8226 +flagg158=0 +flagh158=0 +flagi158=0 +tflag158=2 +initx158=0 +inity158=0 +minx158=0 +miny158=0 +maxx158=0 +maxy158=0 +posx158=50 +posy158=50 +sizx158=800 +sizy158=600 +maxfps158=0 +initts158=0 +title159=Pandemonium 2 +path159=D:\Games\Pandemonium 2\pandy.exe +module159= +opengllib159= +ver159=0 +coord159=0 +flag159=201326594 +flagg159=1 +flagh159=20 +flagi159=0 +tflag159=0 +initx159=0 +inity159=0 +minx159=0 +miny159=0 +maxx159=0 +maxy159=0 +posx159=50 +posy159=50 +sizx159=800 +sizy159=600 +maxfps159=0 +initts159=0 +title160=Pharaoh +path160=D:\Games\Pharaoh\Pharaoh.exe +module160= +opengllib160= +ver160=0 +coord160=0 +flag160=1207959586 +flagg160=1048576 +flagh160=16 +flagi160=0 +tflag160=3 +initx160=0 +inity160=0 +minx160=0 +miny160=0 +maxx160=0 +maxy160=0 +posx160=50 +posy160=50 +sizx160=800 +sizy160=600 +maxfps160=0 +initts160=0 +title161=Postal +path161=D:\Games\Postal\POSTAL.EXE +module161= +opengllib161= +ver161=1 +coord161=0 +flag161=671352835 +flagg161=1114112 +flagh161=20 +flagi161=0 +tflag161=0 +initx161=0 +inity161=0 +minx161=0 +miny161=0 +maxx161=0 +maxy161=0 +posx161=50 +posy161=50 +sizx161=800 +sizy161=600 +maxfps161=0 +initts161=-3 +title162=Premier Manager 98 +path162=D:\Games\Premier Manager 98\MANAGER.EXE +module162= +opengllib162= +ver162=0 +coord162=0 +flag162=671088674 +flagg162=1207959552 +flagh162=16 +flagi162=0 +tflag162=0 +initx162=0 +inity162=0 +minx162=0 +miny162=0 +maxx162=0 +maxy162=0 +posx162=50 +posy162=50 +sizx162=800 +sizy162=600 +maxfps162=0 +initts162=0 +title163=Project Nomads Demo (BAD) +path163=C:\Games\Project Nomads Demo\bin\win32\nomads.exe +module163= +opengllib163= +ver163=8 +coord163=0 +flag163=-1476394912 +flagg163=256 +flagh163=0 +flagi163=0 +tflag163=258 +initx163=0 +inity163=0 +minx163=0 +miny163=0 +maxx163=0 +maxy163=0 +posx163=50 +posy163=50 +sizx163=800 +sizy163=600 +maxfps163=0 +initts163=0 +title164=Puzzle Bubble +path164=C:\Games\Puzzle Bubble\PB.EXE +module164= +opengllib164= +ver164=0 +coord164=0 +flag164=34 +flagg164=0 +flagh164=0 +flagi164=0 +tflag164=0 +initx164=0 +inity164=0 +minx164=0 +miny164=0 +maxx164=0 +maxy164=0 +posx164=50 +posy164=50 +sizx164=800 +sizy164=600 +maxfps164=0 +initts164=0 +title165=Quake 2 +path165=D:\Games\QUAKE2\quake2.exe +module165= +opengllib165= +ver165=10 +coord165=0 +flag165=671089154 +flagg165=671220289 +flagh165=16 +flagi165=0 +tflag165=258 +initx165=0 +inity165=0 +minx165=0 +miny165=0 +maxx165=0 +maxy165=0 +posx165=50 +posy165=50 +sizx165=800 +sizy165=600 +maxfps165=0 +initts165=0 +title166=Quake 3 Arena +path166=D:\Games\Q3A\quake3.exe +module166= +opengllib166= +ver166=0 +coord166=0 +flag166=536870914 +flagg166=1180161 +flagh166=16 +flagi166=0 +tflag166=3 +initx166=0 +inity166=0 +minx166=0 +miny166=0 +maxx166=0 +maxy166=0 +posx166=50 +posy166=50 +sizx166=800 +sizy166=600 +maxfps166=0 +initts166=0 +title167=Raiden II +path167=C:\Games\Raiden II\Raiden II\RAIDENII.EXE +module167= +opengllib167= +ver167=0 +coord167=0 +flag167=34 +flagg167=0 +flagh167=0 +flagi167=0 +tflag167=0 +initx167=0 +inity167=0 +minx167=0 +miny167=0 +maxx167=0 +maxy167=0 +posx167=50 +posy167=50 +sizx167=800 +sizy167=600 +maxfps167=0 +initts167=0 +title168=Railroad Tycoon II +path168=C:\Games\Railroad.Tycoon.II\RT2.EXE +module168= +opengllib168= +ver168=1 +coord168=0 +flag168=134225954 +flagg168=0 +flagh168=0 +flagi168=0 +tflag168=0 +initx168=0 +inity168=0 +minx168=0 +miny168=0 +maxx168=0 +maxy168=0 +posx168=50 +posy168=50 +sizx168=800 +sizy168=600 +maxfps168=0 +initts168=0 +title169=Rally Championship 2000 +path169=C:\Games\Rally Championship 2000\RAL.EXE +module169= +opengllib169= +ver169=0 +coord169=0 +flag169=67108864 +flagg169=0 +flagh169=0 +flagi169=0 +tflag169=2 +initx169=0 +inity169=0 +minx169=0 +miny169=0 +maxx169=0 +maxy169=0 +posx169=50 +posy169=50 +sizx169=800 +sizy169=600 +maxfps169=0 +initts169=0 +title170=Rebel Moon Rising +path170=C:\Games\Rebel Moon Rising\Rmr.exe +module170= +opengllib170= +ver170=0 +coord170=0 +flag170=0 +flagg170=0 +flagh170=0 +flagi170=0 +tflag170=0 +initx170=0 +inity170=0 +minx170=0 +miny170=0 +maxx170=0 +maxy170=0 +posx170=50 +posy170=50 +sizx170=800 +sizy170=600 +maxfps170=0 +initts170=0 +title171=Redline - Gang Warfare 2066 +path171=C:\Games\Redline - Gang Warfare 2066\redline.exe +module171= +opengllib171= +ver171=0 +coord171=0 +flag171=32 +flagg171=0 +flagh171=0 +flagi171=0 +tflag171=386 +initx171=0 +inity171=0 +minx171=0 +miny171=0 +maxx171=0 +maxy171=0 +posx171=50 +posy171=50 +sizx171=800 +sizy171=600 +maxfps171=0 +initts171=0 +title172=Resident Evil +path172=D:\Games\Resident Evil\residentevil.patched.exe +module172= +opengllib172= +ver172=1 +coord172=0 +flag172=134217827 +flagg172=128 +flagh172=16 +flagi172=0 +tflag172=2 +initx172=0 +inity172=0 +minx172=0 +miny172=0 +maxx172=0 +maxy172=0 +posx172=50 +posy172=50 +sizx172=800 +sizy172=600 +maxfps172=0 +initts172=0 +title173=Resurrection +path173=D:\Games\Resurrection Il Ritorno del Drago Nero\Resurrection.exe +module173= +opengllib173= +ver173=7 +coord173=0 +flag173=136314882 +flagg173=134217728 +flagh173=29 +flagi173=0 +tflag173=3 +initx173=0 +inity173=0 +minx173=0 +miny173=0 +maxx173=0 +maxy173=0 +posx173=50 +posy173=50 +sizx173=800 +sizy173=600 +maxfps173=0 +initts173=0 +title174=Return to Castle Wolfenstein +path174=D:\Games\Return to Castle Wolfenstein (2001)\Return to Castle Wolfenstein\WolfSP.exe +module174= +opengllib174= +ver174=0 +coord174=0 +flag174=134234114 +flagg174=-2147270656 +flagh174=0 +flagi174=0 +tflag174=256 +initx174=0 +inity174=0 +minx174=0 +miny174=0 +maxx174=0 +maxy174=0 +posx174=50 +posy174=50 +sizx174=800 +sizy174=600 +maxfps174=50 +initts174=-4 +title175=Re-Volt +path175=C:\Games\Re-Volt\REVOLT.EXE +module175= +opengllib175= +ver175=0 +coord175=0 +flag175=134217792 +flagg175=0 +flagh175=0 +flagi175=0 +tflag175=0 +initx175=0 +inity175=0 +minx175=0 +miny175=0 +maxx175=0 +maxy175=0 +posx175=50 +posy175=50 +sizx175=800 +sizy175=600 +maxfps175=0 +initts175=0 +title176=Road Rash +path176=D:\Games\Road Rash\ROADRASH\ROADRASH.EXE +module176= +opengllib176= +ver176=0 +coord176=0 +flag176=134217730 +flagg176=0 +flagh176=0 +flagi176=0 +tflag176=386 +initx176=0 +inity176=0 +minx176=0 +miny176=0 +maxx176=0 +maxy176=0 +posx176=50 +posy176=50 +sizx176=800 +sizy176=600 +maxfps176=0 +initts176=0 +title177=Road Rash Demo +path177=D:\Games\RoadRash DEMO\DEMORASH.EXE +module177= +opengllib177= +ver177=0 +coord177=0 +flag177=134218242 +flagg177=0 +flagh177=0 +flagi177=0 +tflag177=258 +initx177=0 +inity177=0 +minx177=0 +miny177=0 +maxx177=0 +maxy177=0 +posx177=50 +posy177=50 +sizx177=800 +sizy177=600 +maxfps177=0 +initts177=0 +title178=Rogue Spear (BAD) +path178=D:\Games\Rogue Spear\RogueSpear.exe +module178= +opengllib178= +ver178=1 +coord178=0 +flag178=134234116 +flagg178=134217984 +flagh178=20 +flagi178=0 +tflag178=2 +initx178=0 +inity178=0 +minx178=0 +miny178=0 +maxx178=0 +maxy178=0 +posx178=50 +posy178=50 +sizx178=800 +sizy178=600 +maxfps178=0 +initts178=0 +title179=Rollcage +path179=D:\Games\Rollcage\Direct3D\Rollcage.exe +module179= +opengllib179= +ver179=0 +coord179=1 +flag179=520093712 +flagg179=135331840 +flagh179=20 +flagi179=0 +tflag179=3 +initx179=0 +inity179=0 +minx179=0 +miny179=0 +maxx179=0 +maxy179=0 +posx179=50 +posy179=50 +sizx179=800 +sizy179=600 +maxfps179=0 +initts179=0 +title180=RollerCoaster Tycoon 2 Mini Game +path180=C:\Games\RollerCoaster Tycoon 2 Mini Game\rct2.exe +module180= +opengllib180= +ver180=1 +coord180=0 +flag180=536870946 +flagg180=0 +flagh180=0 +flagi180=0 +tflag180=0 +initx180=0 +inity180=0 +minx180=0 +miny180=0 +maxx180=0 +maxy180=0 +posx180=0 +posy180=0 +sizx180=800 +sizy180=600 +maxfps180=0 +initts180=0 +title181=Sega Rally 2 Championship +path181=C:\Games\Sega Rally 2 Championship\SEGA RALLY 2.exe +module181= +opengllib181= +ver181=1 +coord181=0 +flag181=268435488 +flagg181=2 +flagh181=0 +flagi181=0 +tflag181=0 +initx181=0 +inity181=0 +minx181=0 +miny181=0 +maxx181=0 +maxy181=0 +posx181=0 +posy181=0 +sizx181=800 +sizy181=600 +maxfps181=0 +initts181=0 +title182=Sentinel Returns +path182=D:\Games\Sentinel Returns\Sentinel.exe +module182= +opengllib182= +ver182=1 +coord182=0 +flag182=3 +flagg182=-2147483648 +flagh182=0 +flagi182=0 +tflag182=0 +initx182=0 +inity182=0 +minx182=0 +miny182=0 +maxx182=0 +maxy182=0 +posx182=50 +posy182=50 +sizx182=800 +sizy182=600 +maxfps182=0 +initts182=0 +title183=Shadow Master (TBD) +path183=C:\Games\Shadow Master\rmg.exe +module183= +opengllib183= +ver183=1 +coord183=0 +flag183=32 +flagg183=256 +flagh183=0 +flagi183=0 +tflag183=450 +initx183=0 +inity183=0 +minx183=0 +miny183=0 +maxx183=0 +maxy183=0 +posx183=50 +posy183=50 +sizx183=800 +sizy183=600 +maxfps183=0 +initts183=0 +title184=Sid Meier's SimGolf Demo +path184=C:\Games\Sid Meier's SimGolf Demo\golf.exe +module184=jgl.dll +opengllib184= +ver184=0 +coord184=0 +flag184=33554434 +flagg184=0 +flagh184=0 +flagi184=0 +tflag184=2 +initx184=0 +inity184=0 +minx184=0 +miny184=0 +maxx184=0 +maxy184=0 +posx184=50 +posy184=50 +sizx184=800 +sizy184=600 +maxfps184=0 +initts184=0 +title185=Silent Storm Demo +path185=D:\Games\Silent Storm Demo\SilentStormDemo.exe +module185= +opengllib185= +ver185=0 +coord185=0 +flag185=536870913 +flagg185=-2013265664 +flagh185=0 +flagi185=0 +tflag185=2 +initx185=0 +inity185=0 +minx185=0 +miny185=0 +maxx185=0 +maxy185=0 +posx185=50 +posy185=50 +sizx185=800 +sizy185=600 +maxfps185=0 +initts185=0 +title186=Sin, Wages of (sw renderer) +path186=D:\Games\sin\sin.exe +module186= +opengllib186= +ver186=10 +coord186=0 +flag186=402670082 +flagg186=131585 +flagh186=20 +flagi186=0 +tflag186=386 +initx186=0 +inity186=0 +minx186=0 +miny186=0 +maxx186=0 +maxy186=0 +posx186=50 +posy186=50 +sizx186=800 +sizy186=600 +maxfps186=0 +initts186=0 +title187=SleepWalker +path187=C:\Games\SleepWalker\Sleepy.exe +module187= +opengllib187= +ver187=0 +coord187=0 +flag187=301989954 +flagg187=0 +flagh187=0 +flagi187=0 +tflag187=198 +initx187=0 +inity187=0 +minx187=0 +miny187=0 +maxx187=0 +maxy187=0 +posx187=50 +posy187=50 +sizx187=800 +sizy187=600 +maxfps187=0 +initts187=0 +title188=SnowBoard Racer +path188=C:\Games\Snowboard Racer\SnowBoard.exe +module188= +opengllib188= +ver188=0 +coord188=0 +flag188=268443681 +flagg188=0 +flagh188=0 +flagi188=0 +tflag188=0 +initx188=0 +inity188=0 +minx188=0 +miny188=0 +maxx188=0 +maxy188=0 +posx188=50 +posy188=50 +sizx188=800 +sizy188=600 +maxfps188=0 +initts188=0 +title189=Solaris (~BAD) +path189=c:\Games\Solaris\solaris.exe +module189= +opengllib189= +ver189=7 +coord189=0 +flag189=973078627 +flagg189=1 +flagh189=0 +flagi189=0 +tflag189=2 +initx189=0 +inity189=0 +minx189=0 +miny189=0 +maxx189=0 +maxy189=0 +posx189=50 +posy189=50 +sizx189=800 +sizy189=600 +maxfps189=0 +initts189=0 +title190=Soldiers at War +path190=D:\Games\Soldiers at War\SAW_Game.exe +module190= +opengllib190= +ver190=0 +coord190=0 +flag190=671359010 +flagg190=64 +flagh190=0 +flagi190=0 +tflag190=0 +initx190=0 +inity190=0 +minx190=0 +miny190=0 +maxx190=0 +maxy190=0 +posx190=50 +posy190=50 +sizx190=640 +sizy190=480 +maxfps190=0 +initts190=0 +title191=Sonic 3 +path191=C:\Games\Sonic 3 + Sonic et Knuckles\Sonic 3\SONIC3K.EXE +module191= +opengllib191= +ver191=1 +coord191=0 +flag191=546 +flagg191=0 +flagh191=0 +flagi191=0 +tflag191=0 +initx191=0 +inity191=0 +minx191=0 +miny191=0 +maxx191=0 +maxy191=0 +posx191=50 +posy191=50 +sizx191=800 +sizy191=600 +maxfps191=0 +initts191=0 +title192=Sonic 3D Blast +path192=C:\Games\Sonic3D\pcsonic.exe +module192= +opengllib192= +ver192=0 +coord192=0 +flag192=134217762 +flagg192=0 +flagh192=0 +flagi192=0 +tflag192=0 +initx192=0 +inity192=0 +minx192=0 +miny192=0 +maxx192=0 +maxy192=0 +posx192=50 +posy192=50 +sizx192=800 +sizy192=600 +maxfps192=0 +initts192=0 +title193=Sonic R +path193=C:\Games\SonicR\sonicr.exe +module193= +opengllib193= +ver193=0 +coord193=0 +flag193=8288 +flagg193=0 +flagh193=0 +flagi193=0 +tflag193=0 +initx193=0 +inity193=0 +minx193=0 +miny193=0 +maxx193=0 +maxy193=0 +posx193=50 +posy193=50 +sizx193=800 +sizy193=600 +maxfps193=0 +initts193=0 +title194=Soulbringer +path194=C:\Games\SoulBringer\SoulbringeVCnoeax.exe +module194= +opengllib194= +ver194=0 +coord194=0 +flag194=143024174 +flagg194=0 +flagh194=0 +flagi194=0 +tflag194=0 +initx194=0 +inity194=0 +minx194=0 +miny194=0 +maxx194=0 +maxy194=0 +posx194=50 +posy194=50 +sizx194=800 +sizy194=600 +maxfps194=0 +initts194=0 +title195=Speedboat Attack (BAD) +path195=C:\Games\Speedboat Attack\SBOAT.EXE +module195= +opengllib195= +ver195=0 +coord195=0 +flag195=541073954 +flagg195=0 +flagh195=0 +flagi195=0 +tflag195=2 +initx195=0 +inity195=0 +minx195=0 +miny195=0 +maxx195=0 +maxy195=0 +posx195=50 +posy195=50 +sizx195=800 +sizy195=600 +maxfps195=0 +initts195=0 +title196=Star trek Klingon Honor Guard +path196=D:\Games\Star trek Klingon Honor Guard\System\Khg.exe +module196=OGIDrv.dll +opengllib196= +ver196=10 +coord196=0 +flag196=0 +flagg196=537002497 +flagh196=16 +flagi196=0 +tflag196=386 +initx196=0 +inity196=0 +minx196=0 +miny196=0 +maxx196=0 +maxy196=0 +posx196=50 +posy196=50 +sizx196=800 +sizy196=600 +maxfps196=0 +initts196=0 +title197=Star Wars Episode 1 Racer +path197=C:\Games\sw racer\SWEP1RCR.EXE +module197= +opengllib197= +ver197=0 +coord197=0 +flag197=142606368 +flagg197=0 +flagh197=0 +flagi197=0 +tflag197=0 +initx197=0 +inity197=0 +minx197=0 +miny197=0 +maxx197=0 +maxy197=0 +posx197=50 +posy197=50 +sizx197=800 +sizy197=600 +maxfps197=0 +initts197=0 +title198=Star Wars Jedi Knight Jedi Academy +path198=D:\Games\Star_Wars_Jedi_Knight_Jedi_Academy\GameData\jasp.exe +module198= +opengllib198= +ver198=0 +coord198=0 +flag198=2 +flagg198=196608 +flagh198=20 +flagi198=0 +tflag198=2 +initx198=0 +inity198=0 +minx198=0 +miny198=0 +maxx198=0 +maxy198=0 +posx198=50 +posy198=50 +sizx198=800 +sizy198=600 +maxfps198=0 +initts198=0 +title199=Star Wars: Jedi Knight +path199=C:\Games\Jedi Knight\Jedi Knight\JK.EXE +module199= +opengllib199= +ver199=0 +coord199=0 +flag199=8226 +flagg199=0 +flagh199=0 +flagi199=0 +tflag199=0 +initx199=0 +inity199=0 +minx199=0 +miny199=0 +maxx199=0 +maxy199=0 +posx199=50 +posy199=50 +sizx199=800 +sizy199=600 +maxfps199=0 +initts199=0 +title200=Star Wars: the Gungan Frontier +path200=C:\Games\sw the gungan frontier\Gungan Frontier.exe +module200= +opengllib200= +ver200=1 +coord200=0 +flag200=402915362 +flagg200=512 +flagh200=0 +flagi200=0 +tflag200=0 +initx200=0 +inity200=0 +minx200=0 +miny200=0 +maxx200=0 +maxy200=0 +posx200=0 +posy200=0 +sizx200=800 +sizy200=600 +maxfps200=0 +initts200=0 +title201=Starcraft +path201=D:\Games\Starcraft\StarCraft.exe +module201= +opengllib201= +ver201=0 +coord201=1 +flag201=134234115 +flagg201=2179088 +flagh201=48 +flagi201=0 +tflag201=258 +initx201=0 +inity201=0 +minx201=0 +miny201=0 +maxx201=0 +maxy201=0 +posx201=50 +posy201=50 +sizx201=800 +sizy201=600 +maxfps201=0 +initts201=0 +title202=Starship Troopers +path202=C:\Games\Starship Troopers - Terran Ascendancy\stta\StarshipTroopers.exe +module202= +opengllib202= +ver202=1 +coord202=0 +flag202=32 +flagg202=0 +flagh202=0 +flagi202=0 +tflag202=0 +initx202=0 +inity202=0 +minx202=0 +miny202=0 +maxx202=0 +maxy202=0 +posx202=50 +posy202=50 +sizx202=800 +sizy202=600 +maxfps202=0 +initts202=0 +title203=Starshot Space Circus +path203=D:\SpaceCircus.exe +module203= +opengllib203= +ver203=0 +coord203=0 +flag203=66 +flagg203=0 +flagh203=0 +flagi203=0 +tflag203=0 +initx203=0 +inity203=0 +minx203=0 +miny203=0 +maxx203=0 +maxy203=0 +posx203=50 +posy203=50 +sizx203=800 +sizy203=600 +maxfps203=0 +initts203=0 +title204=Stronghold Demo +path204=C:\Games\Firefly Studios' Stronghold - Demo\Stronghold Demo.exe +module204= +opengllib204= +ver204=0 +coord204=0 +flag204=98 +flagg204=0 +flagh204=0 +flagi204=0 +tflag204=0 +initx204=0 +inity204=0 +minx204=0 +miny204=0 +maxx204=0 +maxy204=0 +posx204=50 +posy204=50 +sizx204=800 +sizy204=600 +maxfps204=0 +initts204=0 +title205=Sub Culture +path205=C:\Games\Sub Culture\sc.exe +module205= +opengllib205= +ver205=0 +coord205=0 +flag205=66 +flagg205=256 +flagh205=0 +flagi205=0 +tflag205=10 +initx205=50 +inity205=50 +minx205=50 +miny205=50 +maxx205=800 +maxy205=600 +posx205=50 +posy205=50 +sizx205=800 +sizy205=600 +maxfps205=0 +initts205=0 +title206=Superbike 2001 +path206=C:\Games\Superbike 2001\Sbk2001.exe +module206= +opengllib206= +ver206=1 +coord206=0 +flag206=536887332 +flagg206=0 +flagh206=0 +flagi206=0 +tflag206=0 +initx206=0 +inity206=0 +minx206=0 +miny206=0 +maxx206=0 +maxy206=0 +posx206=50 +posy206=50 +sizx206=800 +sizy206=600 +maxfps206=0 +initts206=0 +title207=Syberia 2 Demo +path207=C:\Games\Syberia 2 Demo\Syberia2Demo.exe +module207= +opengllib207= +ver207=8 +coord207=0 +flag207=536887332 +flagg207=0 +flagh207=0 +flagi207=0 +tflag207=0 +initx207=0 +inity207=0 +minx207=0 +miny207=0 +maxx207=0 +maxy207=0 +posx207=50 +posy207=50 +sizx207=800 +sizy207=600 +maxfps207=0 +initts207=0 +title208=Syberia Demo +path208=C:\Games\SyberiaDemo\SyberiaDemo.exe +module208= +opengllib208= +ver208=1 +coord208=0 +flag208=536887332 +flagg208=0 +flagh208=0 +flagi208=0 +tflag208=0 +initx208=0 +inity208=0 +minx208=0 +miny208=0 +maxx208=0 +maxy208=0 +posx208=50 +posy208=50 +sizx208=800 +sizy208=600 +maxfps208=0 +initts208=0 +title209=System Shock 2 (BAD!!!) +path209=C:\Games\Sys Shock II\Shock2.exe +module209= +opengllib209= +ver209=1 +coord209=0 +flag209=0 +flagg209=64 +flagh209=0 +flagi209=0 +tflag209=0 +initx209=0 +inity209=0 +minx209=0 +miny209=0 +maxx209=0 +maxy209=0 +posx209=50 +posy209=50 +sizx209=800 +sizy209=600 +maxfps209=0 +initts209=0 +title210=Take no Prisoners +path210=D:\Games\Take no Prisoners\TNP.EXE +module210= +opengllib210= +ver210=0 +coord210=0 +flag210=134217730 +flagg210=16777248 +flagh210=20 +flagi210=0 +tflag210=0 +initx210=0 +inity210=0 +minx210=0 +miny210=0 +maxx210=0 +maxy210=0 +posx210=50 +posy210=50 +sizx210=800 +sizy210=600 +maxfps210=0 +initts210=0 +title211=Test Drive 4 +path211=D:\Games\Test Drive 4\td4.EXE +module211= +opengllib211= +ver211=0 +coord211=0 +flag211=-2013265885 +flagg211=-2147418110 +flagh211=20 +flagi211=0 +tflag211=0 +initx211=0 +inity211=0 +minx211=0 +miny211=0 +maxx211=0 +maxy211=0 +posx211=50 +posy211=50 +sizx211=800 +sizy211=600 +maxfps211=0 +initts211=-8 +title212=Test Drive 5 (D3D) +path212=D:\Games\Test Drive 5\TD5_D3D.exe +module212= +opengllib212= +ver212=0 +coord212=0 +flag212=671088640 +flagg212=0 +flagh212=20 +flagi212=0 +tflag212=258 +initx212=0 +inity212=0 +minx212=0 +miny212=0 +maxx212=0 +maxy212=0 +posx212=50 +posy212=50 +sizx212=800 +sizy212=600 +maxfps212=0 +initts212=0 +title213=The Nations Demo +path213=C:\Games\The Nations Demo\bin\Game.exe +module213= +opengllib213= +ver213=1 +coord213=0 +flag213=402661920 +flagg213=256 +flagh213=0 +flagi213=0 +tflag213=0 +initx213=0 +inity213=0 +minx213=0 +miny213=0 +maxx213=0 +maxy213=0 +posx213=50 +posy213=50 +sizx213=800 +sizy213=600 +maxfps213=0 +initts213=0 +title214=The Sims +path214=D:\Games\sims\Sims.exe +module214= +opengllib214= +ver214=0 +coord214=0 +flag214=134225952 +flagg214=65536 +flagh214=16 +flagi214=0 +tflag214=3 +initx214=0 +inity214=0 +minx214=0 +miny214=0 +maxx214=0 +maxy214=0 +posx214=50 +posy214=50 +sizx214=800 +sizy214=600 +maxfps214=0 +initts214=0 +title215=Thief the Dark Project (FRE) +path215=C:\Games\thief\game\thieffixed.exe +module215= +opengllib215= +ver215=1 +coord215=0 +flag215=16390 +flagg215=0 +flagh215=0 +flagi215=0 +tflag215=0 +initx215=0 +inity215=0 +minx215=0 +miny215=0 +maxx215=0 +maxy215=0 +posx215=50 +posy215=50 +sizx215=800 +sizy215=600 +maxfps215=0 +initts215=0 +title216=TinTin: Prisoners of the Sun +path216=C:\Games\tintin\TINTINW.EXE +module216= +opengllib216= +ver216=0 +coord216=0 +flag216=34 +flagg216=0 +flagh216=0 +flagi216=0 +tflag216=2 +initx216=0 +inity216=0 +minx216=0 +miny216=0 +maxx216=0 +maxy216=0 +posx216=50 +posy216=50 +sizx216=800 +sizy216=600 +maxfps216=0 +initts216=0 +title217=Tintoy (BAD gfx) +path217=C:\Games\Tintoy\Tintoy.exe +module217= +opengllib217= +ver217=0 +coord217=0 +flag217=546 +flagg217=256 +flagh217=0 +flagi217=0 +tflag217=258 +initx217=0 +inity217=0 +minx217=0 +miny217=0 +maxx217=0 +maxy217=0 +posx217=50 +posy217=50 +sizx217=800 +sizy217=600 +maxfps217=0 +initts217=0 +title218=Tomb Raider - Anniversary +path218=C:\Games\Tomb Raider - Anniversary\tra.exe +module218= +opengllib218= +ver218=9 +coord218=0 +flag218=0 +flagg218=256 +flagh218=0 +flagi218=0 +tflag218=2 +initx218=0 +inity218=0 +minx218=0 +miny218=0 +maxx218=0 +maxy218=0 +posx218=50 +posy218=50 +sizx218=800 +sizy218=600 +maxfps218=0 +initts218=8 +title219=Tomb Raider 2 the Golden Mask +path219=D:\Games\TR2 Golden Mask\T2GOLD.EXE +module219= +opengllib219= +ver219=0 +coord219=0 +flag219=704643106 +flagg219=554713088 +flagh219=20 +flagi219=0 +tflag219=0 +initx219=0 +inity219=0 +minx219=0 +miny219=0 +maxx219=0 +maxy219=0 +posx219=50 +posy219=50 +sizx219=800 +sizy219=600 +maxfps219=0 +initts219=8 +title220=Tomb Raider 3 Demo +path220=C:\Games\Tomb Raider 3 - The Lost Artifact Demo\tr3gold.exe +module220= +opengllib220= +ver220=1 +coord220=0 +flag220=369098848 +flagg220=0 +flagh220=0 +flagi220=0 +tflag220=258 +initx220=0 +inity220=0 +minx220=0 +miny220=0 +maxx220=0 +maxy220=0 +posx220=50 +posy220=50 +sizx220=800 +sizy220=600 +maxfps220=0 +initts220=0 +title221=Tomb Raider 4 Demo +path221=C:\Games\Tomb Raider 4 - The Last Revelation (Demo)\tomb4.patched.exe +module221= +opengllib221= +ver221=0 +coord221=0 +flag221=234881056 +flagg221=16 +flagh221=0 +flagi221=0 +tflag221=258 +initx221=0 +inity221=0 +minx221=0 +miny221=0 +maxx221=0 +maxy221=0 +posx221=50 +posy221=50 +sizx221=800 +sizy221=600 +maxfps221=0 +initts221=0 +title222=Total Annihilation Kingdoms +path222=D:\Games\Total Annihilation Kingdoms\Kingdoms.exe +module222= +opengllib222= +ver222=0 +coord222=0 +flag222=134234146 +flagg222=1073741840 +flagh222=16 +flagi222=0 +tflag222=0 +initx222=0 +inity222=0 +minx222=0 +miny222=0 +maxx222=0 +maxy222=0 +posx222=50 +posy222=50 +sizx222=800 +sizy222=600 +maxfps222=0 +initts222=0 +title223=Total Soccer 2000 +path223=D:\Games\Total Soccer 2000\Total Soccer 2000\SOCCERdx.EXE +module223= +opengllib223= +ver223=1 +coord223=0 +flag223=167772226 +flagg223=1069056 +flagh223=20 +flagi223=0 +tflag223=0 +initx223=0 +inity223=0 +minx223=0 +miny223=0 +maxx223=0 +maxy223=0 +posx223=50 +posy223=50 +sizx223=800 +sizy223=600 +maxfps223=200 +initts223=0 +title224=Ultim@te Race Pro +path224=C:\Games\Ultim@te race pro\Ultim@te Race Pro.exe +module224= +opengllib224= +ver224=0 +coord224=0 +flag224=570425440 +flagg224=256 +flagh224=0 +flagi224=0 +tflag224=0 +initx224=0 +inity224=0 +minx224=0 +miny224=0 +maxx224=0 +maxy224=0 +posx224=50 +posy224=50 +sizx224=800 +sizy224=600 +maxfps224=0 +initts224=0 +title225=Uprising - Join or Die +path225=D:\Games\Uprising\uprising.exe +module225= +opengllib225= +ver225=0 +coord225=0 +flag225=-2013265882 +flagg225=18 +flagh225=16 +flagi225=0 +tflag225=0 +initx225=0 +inity225=0 +minx225=0 +miny225=0 +maxx225=0 +maxy225=0 +posx225=50 +posy225=50 +sizx225=800 +sizy225=600 +maxfps225=0 +initts225=0 +title226=Urban Assault +path226=D:\Games\Urban Assault\UA.EXE +module226= +opengllib226= +ver226=0 +coord226=0 +flag226=671236130 +flagg226=256 +flagh226=16 +flagi226=0 +tflag226=258 +initx226=0 +inity226=0 +minx226=0 +miny226=0 +maxx226=0 +maxy226=0 +posx226=50 +posy226=50 +sizx226=800 +sizy226=600 +maxfps226=0 +initts226=0 +title227=Urban Assault CD +path227=D:\Games\Urban Assault CD\UA.EXE +module227= +opengllib227= +ver227=0 +coord227=0 +flag227=671236130 +flagg227=33024 +flagh227=0 +flagi227=0 +tflag227=258 +initx227=0 +inity227=0 +minx227=0 +miny227=0 +maxx227=0 +maxy227=0 +posx227=50 +posy227=50 +sizx227=800 +sizy227=600 +maxfps227=0 +initts227=0 +title228=wa[cracked].exe +path228=D:\Games\Worms 2 Armageddon\wa[cracked].exe +module228= +opengllib228= +ver228=0 +coord228=0 +flag228=134217730 +flagg228=171966464 +flagh228=16 +flagi228=0 +tflag228=0 +initx228=0 +inity228=0 +minx228=0 +miny228=0 +maxx228=0 +maxy228=0 +posx228=50 +posy228=50 +sizx228=800 +sizy228=600 +maxfps228=0 +initts228=0 +title229=Warcraft 2 Battlenet Edition +path229=D:\Games\Warcraft 2\Warcraft II BNE.exe +module229= +opengllib229= +ver229=0 +coord229=0 +flag229=268452003 +flagg229=16 +flagh229=16 +flagi229=0 +tflag229=258 +initx229=0 +inity229=0 +minx229=0 +miny229=0 +maxx229=0 +maxy229=0 +posx229=50 +posy229=50 +sizx229=800 +sizy229=600 +maxfps229=40 +initts229=0 +title230=Wargames (demo) +path230=D:\Games\Wargames\wargames.exe +module230= +opengllib230= +ver230=0 +coord230=0 +flag230=268435618 +flagg230=1207959552 +flagh230=20 +flagi230=0 +tflag230=3 +initx230=0 +inity230=0 +minx230=0 +miny230=0 +maxx230=0 +maxy230=0 +posx230=50 +posy230=50 +sizx230=800 +sizy230=600 +maxfps230=0 +initts230=0 +title231=Warhammer 40K Final Liberation +path231=D:\Games\Warhammer 40K Final Liberation\EPIC40K.EXE +module231= +opengllib231= +ver231=1 +coord231=0 +flag231=134479874 +flagg231=135266304 +flagh231=31 +flagi231=0 +tflag231=0 +initx231=0 +inity231=0 +minx231=0 +miny231=0 +maxx231=0 +maxy231=0 +posx231=50 +posy231=50 +sizx231=800 +sizy231=600 +maxfps231=0 +initts231=0 +title232=WarHammer Rites of War +path232=C:\Games\Rites of War\RoW.exe +module232= +opengllib232= +ver232=0 +coord232=0 +flag232=134217760 +flagg232=128 +flagh232=0 +flagi232=0 +tflag232=0 +initx232=0 +inity232=0 +minx232=0 +miny232=0 +maxx232=0 +maxy232=0 +posx232=50 +posy232=50 +sizx232=800 +sizy232=600 +maxfps232=0 +initts232=0 +title233=Warlords 3 +path233=D:\Games\WARLORDS3\Darklord.exe +module233= +opengllib233= +ver233=0 +coord233=0 +flag233=-2147483102 +flagg233=268435488 +flagh233=532 +flagi233=0 +tflag233=259 +initx233=0 +inity233=0 +minx233=0 +miny233=0 +maxx233=0 +maxy233=0 +posx233=50 +posy233=50 +sizx233=0 +sizy233=0 +maxfps233=0 +initts233=0 +title234=WarTorn +path234=C:\Games\WarTorn\W.exe +module234= +opengllib234= +ver234=0 +coord234=0 +flag234=32 +flagg234=0 +flagh234=0 +flagi234=0 +tflag234=0 +initx234=0 +inity234=0 +minx234=0 +miny234=0 +maxx234=0 +maxy234=0 +posx234=50 +posy234=50 +sizx234=800 +sizy234=600 +maxfps234=0 +initts234=0 +title235=WarWind +path235=C:\Games\WarWind\WW.EXE +module235= +opengllib235= +ver235=0 +coord235=0 +flag235=16418 +flagg235=81936 +flagh235=0 +flagi235=0 +tflag235=0 +initx235=0 +inity235=0 +minx235=0 +miny235=0 +maxx235=0 +maxy235=0 +posx235=50 +posy235=50 +sizx235=800 +sizy235=600 +maxfps235=0 +initts235=0 +title236=Worms Armageddon Demo (BAD!!!) +path236=C:\Games\Worms Armageddon Demo\WaDemo.exe +module236= +opengllib236= +ver236=1 +coord236=0 +flag236=939524099 +flagg236=8 +flagh236=0 +flagi236=0 +tflag236=2 +initx236=0 +inity236=0 +minx236=0 +miny236=0 +maxx236=0 +maxy236=0 +posx236=0 +posy236=0 +sizx236=0 +sizy236=0 +maxfps236=0 +initts236=0 +title237=Worms World Party +path237=D:\Games\Worms World Party\wwp.exe +module237= +opengllib237= +ver237=1 +coord237=0 +flag237=8388610 +flagg237=0 +flagh237=0 +flagi237=0 +tflag237=0 +initx237=0 +inity237=0 +minx237=0 +miny237=0 +maxx237=0 +maxy237=0 +posx237=50 +posy237=50 +sizx237=800 +sizy237=600 +maxfps237=0 +initts237=0 +title238=Worms World Party Demo (BAD) +path238=C:\Games\WWP Demo\wwp.exe +module238=MFC42.DLL ltkrn10N.dll +opengllib238= +ver238=1 +coord238=0 +flag238=406847491 +flagg238=8 +flagh238=0 +flagi238=0 +tflag238=2 +initx238=0 +inity238=0 +minx238=0 +miny238=0 +maxx238=0 +maxy238=0 +posx238=0 +posy238=0 +sizx238=0 +sizy238=0 +maxfps238=0 +initts238=0 +title239=X-Com Enforcer +path239=C:\Games\X-Com Enforcer\System\xcom.exe +module239= +opengllib239= +ver239=1 +coord239=0 +flag239=32 +flagg239=0 +flagh239=0 +flagi239=0 +tflag239=0 +initx239=0 +inity239=0 +minx239=0 +miny239=0 +maxx239=0 +maxy239=0 +posx239=0 +posy239=0 +sizx239=800 +sizy239=600 +maxfps239=0 +initts239=0 +title240=X-Com Interceptor +path240=C:\Games\X-Com_Interceptor\X-COM Interceptor\Interceptor.exe +module240= +opengllib240= +ver240=0 +coord240=0 +flag240=16418 +flagg240=0 +flagh240=0 +flagi240=0 +tflag240=0 +initx240=0 +inity240=0 +minx240=0 +miny240=0 +maxx240=0 +maxy240=0 +posx240=50 +posy240=50 +sizx240=800 +sizy240=600 +maxfps240=0 +initts240=0 +title241=Z Steel Soldiers +path241=C:\Games\ZSteelSoldiers\Bin\z2.exe +module241= +opengllib241= +ver241=8 +coord241=0 +flag241=805462020 +flagg241=0 +flagh241=0 +flagi241=0 +tflag241=0 +initx241=0 +inity241=0 +minx241=0 +miny241=0 +maxx241=0 +maxy241=0 +posx241=50 +posy241=50 +sizx241=800 +sizy241=600 +maxfps241=0 +initts241=0 +title242=Zax Alien Hunter +path242=C:\Games\ZaxDemo\Zax.exe +module242= +opengllib242= +ver242=0 +coord242=0 +flag242=-1476386784 +flagg242=0 +flagh242=0 +flagi242=0 +tflag242=0 +initx242=0 +inity242=0 +minx242=0 +miny242=0 +maxx242=0 +maxy242=0 +posx242=50 +posy242=50 +sizx242=800 +sizy242=600 +maxfps242=0 +initts242=0 +title243=Zero Critical (BAD) +path243=C:\Games\zero_critical_-_satin_rift\ZEROCR.EXE +module243= +opengllib243= +ver243=0 +coord243=0 +flag243=679477858 +flagg243=8 +flagh243=0 +flagi243=0 +tflag243=0 +initx243=0 +inity243=0 +minx243=0 +miny243=0 +maxx243=0 +maxy243=0 +posx243=0 +posy243=0 +sizx243=800 +sizy243=600 +maxfps243=0 +initts243=0 +title244=Zero Population Count +path244=C:\Games\ZPC\ZPC.EXE +module244= +opengllib244= +ver244=0 +coord244=0 +flag244=1073741859 +flagg244=0 +flagh244=0 +flagi244=0 +tflag244=0 +initx244=0 +inity244=0 +minx244=0 +miny244=0 +maxx244=0 +maxy244=0 +posx244=0 +posy244=0 +sizx244=800 +sizy244=600 +maxfps244=0 +initts244=0 +title245=Zero Zone +path245=D:\ZZone\ZeroZone.exe +module245= +opengllib245= +ver245=0 +coord245=0 +flag245=34 +flagg245=0 +flagh245=0 +flagi245=0 +tflag245=0 +initx245=0 +inity245=0 +minx245=0 +miny245=0 +maxx245=0 +maxy245=0 +posx245=50 +posy245=50 +sizx245=800 +sizy245=600 +maxfps245=0 +initts245=0 +title246=Zeus Poseidon +path246=C:\Games\Zeus-Poseidon\Zeus.exe +module246= +opengllib246= +ver246=0 +coord246=0 +flag246=34 +flagg246=0 +flagh246=0 +flagi246=0 +tflag246=0 +initx246=0 +inity246=0 +minx246=0 +miny246=0 +maxx246=0 +maxy246=0 +posx246=50 +posy246=50 +sizx246=800 +sizy246=600 +maxfps246=0 +initts246=0 +title247=Zoo Tycoon +path247=C:\Games\Zoo Tycoon\zoo.exe +module247= +opengllib247= +ver247=0 +coord247=0 +flag247=-2013265886 +flagg247=0 +flagh247=0 +flagi247=0 +tflag247=0 +initx247=0 +inity247=0 +minx247=0 +miny247=0 +maxx247=0 +maxy247=0 +posx247=50 +posy247=50 +sizx247=800 +sizy247=600 +maxfps247=0 +initts247=0 +title248=Mortal Kombat 4 +path248=D:\Games\mk4\Mortal Kombat 4.exe +module248= +opengllib248= +ver248=0 +coord248=0 +flag248=536879107 +flagg248=135266308 +flagh248=276 +flagi248=0 +tflag248=3 +initx248=0 +inity248=0 +minx248=0 +miny248=0 +maxx248=0 +maxy248=0 +posx248=50 +posy248=50 +sizx248=800 +sizy248=600 +maxfps248=0 +initts248=0 +title249=Railroad Tycoon II +path249=D:\Games\Railroad.Tycoon.II\RT2.EXE +module249= +opengllib249= +ver249=0 +coord249=0 +flag249=2080 +flagg249=143654912 +flagh249=16 +flagi249=0 +tflag249=0 +initx249=0 +inity249=0 +minx249=0 +miny249=0 +maxx249=0 +maxy249=0 +posx249=50 +posy249=50 +sizx249=800 +sizy249=600 +maxfps249=0 +initts249=0 +title250=Space Hack +path250=D:\Games\Space Hack\main.exe +module250= +opengllib250= +ver250=0 +coord250=0 +flag250=134234144 +flagg250=134217728 +flagh250=20 +flagi250=0 +tflag250=3 +initx250=0 +inity250=0 +minx250=0 +miny250=0 +maxx250=0 +maxy250=0 +posx250=50 +posy250=50 +sizx250=800 +sizy250=600 +maxfps250=0 +initts250=0 +title251=Abomination - The Nemesis Project Demo +path251=D:\Games\Abomination - The Nemesis Project Demo\Abomb.exe +module251= +opengllib251= +ver251=0 +coord251=0 +flag251=134217826 +flagg251=134217728 +flagh251=20 +flagi251=0 +tflag251=64 +initx251=0 +inity251=0 +minx251=0 +miny251=0 +maxx251=0 +maxy251=0 +posx251=50 +posy251=50 +sizx251=800 +sizy251=600 +maxfps251=0 +initts251=0 +title252=Alien Nations DEMO +path252=D:\Games\Amazon & Aliens DEMO\Bin\AA.exe +module252= +opengllib252= +ver252=0 +coord252=0 +flag252=1207959654 +flagg252=135266306 +flagh252=20 +flagi252=0 +tflag252=259 +initx252=0 +inity252=0 +minx252=0 +miny252=0 +maxx252=0 +maxy252=0 +posx252=50 +posy252=50 +sizx252=800 +sizy252=600 +maxfps252=0 +initts252=0 +title253=Duckman +path253=D:\Games\duckman\DUCKMAN.EXE +module253= +opengllib253= +ver253=0 +coord253=0 +flag253=402653186 +flagg253=201326592 +flagh253=20 +flagi253=0 +tflag253=259 +initx253=0 +inity253=0 +minx253=0 +miny253=0 +maxx253=0 +maxy253=0 +posx253=50 +posy253=50 +sizx253=800 +sizy253=600 +maxfps253=0 +initts253=0 +[window] +posx=928 +posy=224 +sizx=320 +sizy=455 diff --git a/build/dxwnd.2.ini b/build/dxwnd.2.ini new file mode 100644 index 0000000..2ff451e --- /dev/null +++ b/build/dxwnd.2.ini @@ -0,0 +1,1133 @@ +[target] +title0=101 Airborne Invasion +path0=D:\Games\101air\101.exe +module0= +opengllib0= +ver0=0 +coord0=0 +flag0=134217762 +flagg0=134217728 +flagh0=20 +flagi0=0 +tflag0=64 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +title1=688I Hunter Killer +path1=D:\Games\688\688I_HK.EXE +module1= +opengllib1= +ver1=0 +coord1=0 +flag1=-937950686 +flagg1=134217728 +flagh1=32788 +flagi1=0 +tflag1=3 +initx1=0 +inity1=0 +minx1=0 +miny1=0 +maxx1=0 +maxy1=0 +posx1=50 +posy1=50 +sizx1=1200 +sizy1=900 +maxfps1=0 +initts1=0 +title2=Abomination the Nemesis Project +path2=D:\Games\Abomination\Abomb.exe +module2= +opengllib2= +ver2=0 +coord2=0 +flag2=134217762 +flagg2=134217728 +flagh2=20 +flagi2=0 +tflag2=67 +initx2=0 +inity2=0 +minx2=0 +miny2=0 +maxx2=0 +maxy2=0 +posx2=50 +posy2=50 +sizx2=800 +sizy2=600 +maxfps2=0 +initts2=0 +title3=Balls of Steel +path3=D:\Games\Balls of Steel\bos.exe +module3=duke.ddp mutation.ddp +opengllib3= +ver3=0 +coord3=0 +flag3=167772192 +flagg3=202375169 +flagh3=20 +flagi3=0 +tflag3=263 +initx3=0 +inity3=0 +minx3=0 +miny3=0 +maxx3=0 +maxy3=0 +posx3=50 +posy3=50 +sizx3=800 +sizy3=600 +maxfps3=0 +initts3=0 +title4=Barrage +path4=D:\Games\Barrage\SRC\BARRAGE.EXE +module4= +opengllib4= +ver4=0 +coord4=0 +flag4=142606368 +flagg4=134217728 +flagh4=8212 +flagi4=0 +tflag4=7 +initx4=0 +inity4=0 +minx4=0 +miny4=0 +maxx4=0 +maxy4=0 +posx4=50 +posy4=50 +sizx4=800 +sizy4=600 +maxfps4=0 +initts4=0 +title5=Carnivores +path5=D:\Games\Carnivores\HUNTSOFT.EXE +module5= +opengllib5= +ver5=0 +coord5=0 +flag5=671088674 +flagg5=135266304 +flagh5=20 +flagi5=0 +tflag5=64 +initx5=0 +inity5=0 +minx5=0 +miny5=0 +maxx5=0 +maxy5=0 +posx5=50 +posy5=50 +sizx5=800 +sizy5=600 +maxfps5=0 +initts5=0 +title6=Crazy Frog Racer +path6=D:\Games\CrazyFrog\CRAZY.EXE +module6= +opengllib6= +ver6=8 +coord6=0 +flag6=134217762 +flagg6=134217729 +flagh6=20 +flagi6=0 +tflag6=64 +initx6=0 +inity6=0 +minx6=0 +miny6=0 +maxx6=0 +maxy6=0 +posx6=50 +posy6=50 +sizx6=800 +sizy6=600 +maxfps6=0 +initts6=0 +title7=Crazy Taxy +path7=D:\Games\Crazy_Taxi\Crazy Taxi PC Version\crazy_taxi_pc.exe +module7= +opengllib7= +ver7=0 +coord7=0 +flag7=671219744 +flagg7=134217728 +flagh7=20 +flagi7=0 +tflag7=66 +initx7=0 +inity7=0 +minx7=0 +miny7=0 +maxx7=0 +maxy7=0 +posx7=50 +posy7=50 +sizx7=800 +sizy7=600 +maxfps7=0 +initts7=0 +title8=Dark Angael +path8=D:\Games\Dark Angael\GAME.EXE +module8= +opengllib8= +ver8=0 +coord8=0 +flag8=134217762 +flagg8=134217728 +flagh8=20 +flagi8=0 +tflag8=0 +initx8=0 +inity8=0 +minx8=0 +miny8=0 +maxx8=0 +maxy8=0 +posx8=50 +posy8=50 +sizx8=800 +sizy8=600 +maxfps8=0 +initts8=0 +title9=Dark Colony +path9=D:\Games\Dark Colony\DCOLONY\DC.EXE +module9= +opengllib9= +ver9=0 +coord9=0 +flag9=134217762 +flagg9=134217728 +flagh9=20 +flagi9=0 +tflag9=0 +initx9=0 +inity9=0 +minx9=0 +miny9=0 +maxx9=0 +maxy9=0 +posx9=50 +posy9=50 +sizx9=800 +sizy9=600 +maxfps9=0 +initts9=0 +title10=Dark Judgement +path10=D:\Games\Dark Judgement\Dark Judgement.EXE +module10= +opengllib10= +ver10=0 +coord10=0 +flag10=134217826 +flagg10=134217728 +flagh10=20 +flagi10=0 +tflag10=3 +initx10=0 +inity10=0 +minx10=0 +miny10=0 +maxx10=0 +maxy10=0 +posx10=50 +posy10=50 +sizx10=800 +sizy10=600 +maxfps10=0 +initts10=0 +title11=Dark Vengeance +path11=D:\Games\dark_vengeance\dv.exe +module11= +opengllib11= +ver11=0 +coord11=0 +flag11=142606386 +flagg11=134217728 +flagh11=8212 +flagi11=0 +tflag11=3 +initx11=0 +inity11=0 +minx11=0 +miny11=0 +maxx11=800 +maxy11=600 +posx11=50 +posy11=50 +sizx11=800 +sizy11=600 +maxfps11=0 +initts11=0 +title12=Descent 3 +path12=D:\Games\Descent_3\Descent 3.exe +module12= +opengllib12= +ver12=0 +coord12=0 +flag12=134217760 +flagg12=134348801 +flagh12=4 +flagi12=0 +tflag12=0 +initx12=0 +inity12=0 +minx12=0 +miny12=0 +maxx12=0 +maxy12=0 +posx12=50 +posy12=50 +sizx12=800 +sizy12=600 +maxfps12=0 +initts12=0 +title13=Descent 3 main +path13=D:\Games\Descent_3\main.exe +module13= +opengllib13= +ver13=0 +coord13=0 +flag13=771891234 +flagg13=201457664 +flagh13=8212 +flagi13=0 +tflag13=3 +initx13=0 +inity13=0 +minx13=0 +miny13=0 +maxx13=0 +maxy13=0 +posx13=50 +posy13=50 +sizx13=800 +sizy13=600 +maxfps13=0 +initts13=0 +title14=Duckman +path14=D:\Games\duckman\DUCKMAN.EXE +module14= +opengllib14= +ver14=0 +coord14=0 +flag14=402653218 +flagg14=134217728 +flagh14=1044 +flagi14=0 +tflag14=259 +initx14=0 +inity14=0 +minx14=0 +miny14=0 +maxx14=0 +maxy14=0 +posx14=50 +posy14=50 +sizx14=800 +sizy14=600 +maxfps14=0 +initts14=0 +title15=Dweep +path15=D:\Games\dweep\Dweep.exe +module15= +opengllib15= +ver15=0 +coord15=0 +flag15=134234146 +flagg15=134283264 +flagh15=20 +flagi15=0 +tflag15=0 +initx15=0 +inity15=0 +minx15=0 +miny15=0 +maxx15=0 +maxy15=0 +posx15=50 +posy15=50 +sizx15=800 +sizy15=600 +maxfps15=0 +initts15=2 +title16=Eliminator +path16=D:\Games\eliminat\Eliminator.exe +module16= +opengllib16= +ver16=0 +coord16=0 +flag16=134217760 +flagg16=134217728 +flagh16=1044 +flagi16=0 +tflag16=3 +initx16=0 +inity16=0 +minx16=0 +miny16=0 +maxx16=0 +maxy16=0 +posx16=800 +posy16=600 +sizx16=400 +sizy16=300 +maxfps16=0 +initts16=0 +title17=EMPIRES.EXE +path17=D:\Games\Age of Empires\EMPIRES.EXE +module17= +opengllib17= +ver17=0 +coord17=0 +flag17=134217762 +flagg17=134217728 +flagh17=20 +flagi17=0 +tflag17=64 +initx17=0 +inity17=0 +minx17=0 +miny17=0 +maxx17=0 +maxy17=0 +posx17=50 +posy17=50 +sizx17=800 +sizy17=600 +maxfps17=0 +initts17=0 +title18=EPIC40K.EXE +path18=D:\Games\war_hammer_final_liberation\EPIC40K.EXE +module18= +opengllib18= +ver18=0 +coord18=0 +flag18=134217762 +flagg18=135266304 +flagh18=20 +flagi18=0 +tflag18=3 +initx18=0 +inity18=0 +minx18=0 +miny18=0 +maxx18=0 +maxy18=0 +posx18=50 +posy18=50 +sizx18=800 +sizy18=600 +maxfps18=0 +initts18=0 +title19=Fable - The Lost Chapters +path19=D:\Games\Fable - The Lost Chapters\Fable.exe +module19= +opengllib19= +ver19=9 +coord19=1 +flag19=134217760 +flagg19=201457672 +flagh19=20 +flagi19=0 +tflag19=258 +initx19=0 +inity19=0 +minx19=0 +miny19=0 +maxx19=0 +maxy19=0 +posx19=50 +posy19=50 +sizx19=800 +sizy19=600 +maxfps19=0 +initts19=0 +title20=Fighting Forces +path20=D:\Games\Fighting Forces\FFORCE.EXE +module20= +opengllib20= +ver20=0 +coord20=0 +flag20=134217760 +flagg20=671088640 +flagh20=3092 +flagi20=0 +tflag20=514 +initx20=0 +inity20=0 +minx20=0 +miny20=0 +maxx20=0 +maxy20=0 +posx20=50 +posy20=50 +sizx20=800 +sizy20=600 +maxfps20=0 +initts20=0 +title21=Final Fighter +path21=D:\Games\Final Fighter\FinalFighter.exe +module21= +opengllib21= +ver21=0 +coord21=0 +flag21=939524128 +flagg21=135266305 +flagh21=4 +flagi21=0 +tflag21=512 +initx21=0 +inity21=0 +minx21=0 +miny21=0 +maxx21=0 +maxy21=0 +posx21=50 +posy21=50 +sizx21=800 +sizy21=600 +maxfps21=0 +initts21=0 +title22=Final Odyssey +path22=D:\Games\Final odyssey\FinalOdy.exe +module22= +opengllib22= +ver22=0 +coord22=0 +flag22=134217760 +flagg22=134217728 +flagh22=4 +flagi22=0 +tflag22=64 +initx22=0 +inity22=0 +minx22=0 +miny22=0 +maxx22=0 +maxy22=0 +posx22=50 +posy22=50 +sizx22=800 +sizy22=600 +maxfps22=0 +initts22=0 +title23=Gangsters 2 +path23=D:\Games\Gangsters 2\Gangsters2.exe +module23= +opengllib23= +ver23=0 +coord23=0 +flag23=134217762 +flagg23=134217728 +flagh23=20 +flagi23=0 +tflag23=2 +initx23=0 +inity23=0 +minx23=0 +miny23=0 +maxx23=0 +maxy23=0 +posx23=50 +posy23=50 +sizx23=800 +sizy23=600 +maxfps23=0 +initts23=0 +title24=Gex +path24=D:\Games\gex\GEX.EXE +module24= +opengllib24= +ver24=0 +coord24=0 +flag24=134217761 +flagg24=134217728 +flagh24=20 +flagi24=0 +tflag24=66 +initx24=0 +inity24=0 +minx24=0 +miny24=0 +maxx24=0 +maxy24=0 +posx24=50 +posy24=50 +sizx24=800 +sizy24=600 +maxfps24=0 +initts24=0 +title25=Hard Truck - Road to Victory +path25=C:\Hard Truck\HTruck.exe +module25= +opengllib25= +ver25=0 +coord25=0 +flag25=134217760 +flagg25=134217728 +flagh25=2068 +flagi25=0 +tflag25=0 +initx25=0 +inity25=0 +minx25=0 +miny25=0 +maxx25=0 +maxy25=0 +posx25=50 +posy25=50 +sizx25=800 +sizy25=600 +maxfps25=0 +initts25=0 +title26=Hellcopter +path26=D:\Games\Hellcopter\HCopter.exe +module26= +opengllib26= +ver26=0 +coord26=0 +flag26=134217760 +flagg26=134217728 +flagh26=1044 +flagi26=0 +tflag26=512 +initx26=0 +inity26=0 +minx26=0 +miny26=0 +maxx26=0 +maxy26=0 +posx26=50 +posy26=50 +sizx26=800 +sizy26=600 +maxfps26=0 +initts26=0 +title27=Heroes of Might & Magic 2 Gold +path27=D:\Games\heroes2gold\HEROES2W.EXE +module27= +opengllib27= +ver27=0 +coord27=0 +flag27=134217730 +flagg27=143654912 +flagh27=20 +flagi27=0 +tflag27=770 +initx27=0 +inity27=0 +minx27=0 +miny27=0 +maxx27=0 +maxy27=0 +posx27=50 +posy27=50 +sizx27=800 +sizy27=600 +maxfps27=0 +initts27=0 +title28=Hooligans Storm over Europe +path28=D:\Games\Hooligans\Hooligans.exe +module28= +opengllib28= +ver28=0 +coord28=0 +flag28=134742048 +flagg28=202375168 +flagh28=20 +flagi28=0 +tflag28=259 +initx28=0 +inity28=0 +minx28=0 +miny28=0 +maxx28=0 +maxy28=0 +posx28=50 +posy28=50 +sizx28=800 +sizy28=600 +maxfps28=0 +initts28=0 +title29=Imperialism +path29=D:\Games\Imperialism\Imperialism.exe +module29= +opengllib29= +ver29=0 +coord29=0 +flag29=679485474 +flagg29=134217728 +flagh29=32788 +flagi29=0 +tflag29=3 +initx29=0 +inity29=0 +minx29=0 +miny29=0 +maxx29=0 +maxy29=0 +posx29=50 +posy29=50 +sizx29=1200 +sizy29=900 +maxfps29=0 +initts29=0 +title30=Mechwarrior 3 +path30=D:\Games\Mechwarrior 3 (full)\Mech3.exe +module30= +opengllib30= +ver30=0 +coord30=0 +flag30=671096866 +flagg30=134217728 +flagh30=20 +flagi30=0 +tflag30=0 +initx30=0 +inity30=0 +minx30=0 +miny30=0 +maxx30=0 +maxy30=0 +posx30=50 +posy30=50 +sizx30=800 +sizy30=600 +maxfps30=0 +initts30=0 +title31=Raiden II +path31=D:\Games\raiden2\RAIDENII.EXE +module31= +opengllib31= +ver31=0 +coord31=1 +flag31=134217762 +flagg31=134217728 +flagh31=20 +flagi31=0 +tflag31=0 +initx31=0 +inity31=0 +minx31=0 +miny31=0 +maxx31=0 +maxy31=0 +posx31=50 +posy31=50 +sizx31=800 +sizy31=600 +maxfps31=0 +initts31=0 +title32=Rapanui +path32=D:\Games\Rapanui\Rapanui.exe +module32= +opengllib32= +ver32=0 +coord32=0 +flag32=134217762 +flagg32=134217728 +flagh32=20 +flagi32=0 +tflag32=0 +initx32=0 +inity32=0 +minx32=0 +miny32=0 +maxx32=0 +maxy32=0 +posx32=50 +posy32=50 +sizx32=800 +sizy32=600 +maxfps32=0 +initts32=0 +title33=Silent Hunter II (shell) +path33=D:\Games\Silent Hunter II\Shell\Shell.exe +module33= +opengllib33= +ver33=0 +coord33=0 +flag33=402653221 +flagg33=135266304 +flagh33=20 +flagi33=0 +tflag33=3 +initx33=0 +inity33=0 +minx33=0 +miny33=0 +maxx33=800 +maxy33=600 +posx33=50 +posy33=50 +sizx33=800 +sizy33=600 +maxfps33=0 +initts33=0 +title34=Silent Hunter II (sim) +path34=D:\Games\Silent Hunter II\Sim\Sim.exe +module34= +opengllib34= +ver34=0 +coord34=0 +flag34=134217780 +flagg34=134217728 +flagh34=20 +flagi34=0 +tflag34=0 +initx34=400 +inity34=300 +minx34=0 +miny34=0 +maxx34=800 +maxy34=600 +posx34=50 +posy34=50 +sizx34=800 +sizy34=600 +maxfps34=0 +initts34=0 +title35=The Sims +path35=D:\Games\sims\Sims.exe +module35= +opengllib35= +ver35=0 +coord35=0 +flag35=679616546 +flagg35=134217728 +flagh35=84 +flagi35=0 +tflag35=67 +initx35=0 +inity35=0 +minx35=0 +miny35=0 +maxx35=0 +maxy35=0 +posx35=50 +posy35=50 +sizx35=800 +sizy35=600 +maxfps35=0 +initts35=0 +title36=Tomb Raider - The Last Revelation +path36=D:\Games\Tomb Raider - The Last Revelation\tomb4.exe +module36= +opengllib36= +ver36=0 +coord36=0 +flag36=134217826 +flagg36=134217728 +flagh36=20 +flagi36=0 +tflag36=3 +initx36=0 +inity36=0 +minx36=0 +miny36=0 +maxx36=0 +maxy36=0 +posx36=50 +posy36=50 +sizx36=800 +sizy36=600 +maxfps36=0 +initts36=0 +title37=TOMB2.EXE +path37=D:\Games\Tomb Raider 2\TOMB2.EXE +module37= +opengllib37= +ver37=0 +coord37=0 +flag37=134217760 +flagg37=201326592 +flagh37=2068 +flagi37=0 +tflag37=0 +initx37=0 +inity37=0 +minx37=0 +miny37=0 +maxx37=0 +maxy37=0 +posx37=50 +posy37=50 +sizx37=800 +sizy37=600 +maxfps37=0 +initts37=0 +title38=wa.exe +path38=D:\Games\worms_arma\Worms_2_Armageddon\wa.exe +module38= +opengllib38= +ver38=0 +coord38=0 +flag38=713031712 +flagg38=142606336 +flagh38=20 +flagi38=0 +tflag38=3 +initx38=0 +inity38=0 +minx38=0 +miny38=0 +maxx38=0 +maxy38=0 +posx38=50 +posy38=50 +sizx38=800 +sizy38=600 +maxfps38=0 +initts38=0 +title39=Western Front +path39=D:\Games\Western Front\wf.exe +module39= +opengllib39= +ver39=0 +coord39=0 +flag39=679477282 +flagg39=135266304 +flagh39=16404 +flagi39=0 +tflag39=0 +initx39=0 +inity39=0 +minx39=0 +miny39=0 +maxx39=0 +maxy39=0 +posx39=50 +posy39=50 +sizx39=800 +sizy39=600 +maxfps39=0 +initts39=0 +title40=G-Nome +path40=D:\Games\G-Nome\G-NOME.EXE +module40= +opengllib40= +ver40=0 +coord40=0 +flag40=-1433399262 +flagg40=201326592 +flagh40=33300 +flagi40=0 +tflag40=3 +initx40=0 +inity40=0 +minx40=0 +miny40=0 +maxx40=0 +maxy40=0 +posx40=250 +posy40=250 +sizx40=800 +sizy40=600 +maxfps40=0 +initts40=0 +title41=GeneRally +path41=D:\Games\generally105\GeneRally.exe +module41= +opengllib41= +ver41=7 +coord41=0 +flag41=134234146 +flagg41=135266305 +flagh41=20 +flagi41=0 +tflag41=0 +initx41=0 +inity41=0 +minx41=0 +miny41=0 +maxx41=0 +maxy41=0 +posx41=50 +posy41=50 +sizx41=800 +sizy41=600 +maxfps41=0 +initts41=0 +title42=Warlords 3 +path42=D:\Games\Warlords3\Darklord.exe +module42= +opengllib42= +ver42=0 +coord42=0 +flag42=-2013249502 +flagg42=135266304 +flagh42=20 +flagi42=0 +tflag42=0 +initx42=0 +inity42=0 +minx42=0 +miny42=0 +maxx42=0 +maxy42=0 +posx42=50 +posy42=50 +sizx42=800 +sizy42=600 +maxfps42=0 +initts42=0 +title43=Tachyon The Fringe +path43=D:\Games\TachyonTheFringe\space.exe +module43= +opengllib43= +ver43=0 +coord43=0 +flag43=151011364 +flagg43=134217728 +flagh43=20 +flagi43=0 +tflag43=3 +initx43=0 +inity43=0 +minx43=0 +miny43=0 +maxx43=0 +maxy43=0 +posx43=50 +posy43=50 +sizx43=800 +sizy43=600 +maxfps43=0 +initts43=0 +title44=Tanktics +path44=D:\Games\Tanktics\tanktics.exe +module44= +opengllib44= +ver44=0 +coord44=1 +flag44=671088674 +flagg44=134217728 +flagh44=20 +flagi44=0 +tflag44=259 +initx44=0 +inity44=0 +minx44=0 +miny44=0 +maxx44=0 +maxy44=0 +posx44=50 +posy44=50 +sizx44=800 +sizy44=600 +maxfps44=0 +initts44=0 +title45=Nightmare Ned +path45=D:\Games\Ned\NITENED.EXE +module45= +opengllib45= +ver45=0 +coord45=0 +flag45=134217762 +flagg45=134217728 +flagh45=20 +flagi45=0 +tflag45=3 +initx45=0 +inity45=0 +minx45=0 +miny45=0 +maxx45=0 +maxy45=0 +posx45=50 +posy45=50 +sizx45=800 +sizy45=600 +maxfps45=0 +initts45=0 +title46=Imperialism II +path46=D:\Games\imperialism_2\imperialism II.exe +module46= +opengllib46= +ver46=0 +coord46=0 +flag46=142614562 +flagg46=470810688 +flagh46=20 +flagi46=0 +tflag46=67 +initx46=0 +inity46=0 +minx46=0 +miny46=0 +maxx46=0 +maxy46=0 +posx46=50 +posy46=50 +sizx46=800 +sizy46=600 +maxfps46=0 +initts46=0 +title47=age3.exe +path47=D:\Games\Age of Empires III\age3.exe +module47= +opengllib47= +ver47=0 +coord47=0 +flag47=-394125278 +flagg47=134217728 +flagh47=20 +flagi47=0 +tflag47=64 +initx47=0 +inity47=0 +minx47=0 +miny47=0 +maxx47=0 +maxy47=0 +posx47=50 +posy47=50 +sizx47=800 +sizy47=600 +maxfps47=0 +initts47=0 +title48=road.exe +path48=D:\Games\Vangers\road.exe +module48= +opengllib48= +ver48=1 +coord48=0 +flag48=134217762 +flagg48=134217728 +flagh48=20 +flagi48=0 +tflag48=323 +initx48=0 +inity48=0 +minx48=0 +miny48=0 +maxx48=0 +maxy48=0 +posx48=50 +posy48=50 +sizx48=800 +sizy48=600 +maxfps48=0 +initts48=0 +[window] +posx=1435 +posy=210 +sizx=320 +sizy=420 diff --git a/build/dxwnd.3.ini b/build/dxwnd.3.ini new file mode 100644 index 0000000..00c9d6c --- /dev/null +++ b/build/dxwnd.3.ini @@ -0,0 +1,167 @@ +[window] +posx=1452 +posy=365 +sizx=320 +sizy=514 +[target] +title0=Rayman 2 Demo +path0=D:\Games\Rayman2Demo\Rayman2Demo.exe +module0= +opengllib0= +ver0=1 +coord0=0 +flag0=402653217 +flagg0=1210056704 +flagh0=2097172 +flagi0=0 +tflag0=64 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +title1=Mirror's Edge +path1=D:\Games\Mirror's Edge\Binaries\MirrorsEdge.exe +module1= +opengllib1= +ver1=0 +coord1=0 +flag1=-2013265882 +flagg1=1207959552 +flagh1=2097172 +flagi1=0 +tflag1=5 +initx1=0 +inity1=0 +minx1=0 +miny1=0 +maxx1=0 +maxy1=0 +posx1=50 +posy1=50 +sizx1=800 +sizy1=600 +maxfps1=0 +initts1=6 +title2=LastHalfWin.exe +path2=D:\Games\Last Half Of Darkness\LastHalfWin.exe +module2= +opengllib2= +ver2=1 +coord2=0 +flag2=134217760 +flagg2=1207959552 +flagh2=4 +flagi2=0 +tflag2=512 +initx2=0 +inity2=0 +minx2=0 +miny2=0 +maxx2=0 +maxy2=0 +posx2=50 +posy2=50 +sizx2=800 +sizy2=600 +maxfps2=0 +initts2=0 +title3=DOOM95.EXE +path3=D:\Games\Doom95i\DOOM95.EXE +module3= +opengllib3= +ver3=0 +coord3=0 +flag3=134217762 +flagg3=1207959552 +flagh3=20 +flagi3=0 +tflag3=512 +initx3=0 +inity3=0 +minx3=0 +miny3=0 +maxx3=0 +maxy3=0 +posx3=50 +posy3=50 +sizx3=800 +sizy3=600 +maxfps3=0 +initts3=0 +title4=CNC3.exe +path4=D:\Games\Command & Conquer 3\CNC3.exe +module4= +opengllib4= +ver4=9 +coord4=0 +flag4=134217762 +flagg4=1207959552 +flagh4=20 +flagi4=0 +tflag4=512 +initx4=0 +inity4=0 +minx4=0 +miny4=0 +maxx4=0 +maxy4=0 +posx4=50 +posy4=50 +sizx4=800 +sizy4=600 +maxfps4=0 +initts4=0 +title5=Div.exe +path5=D:\Games\Beyond Divinity\Div.exe +module5= +opengllib5= +ver5=0 +coord5=0 +flag5=134217762 +flagg5=1207959552 +flagh5=20 +flagi5=0 +tflag5=512 +initx5=0 +inity5=0 +minx5=0 +miny5=0 +maxx5=0 +maxy5=0 +posx5=50 +posy5=50 +sizx5=800 +sizy5=600 +maxfps5=0 +initts5=0 +title6=martian gothic.exe +path6=D:\Games\Martian Gothic\martian gothic.exe +module6= +opengllib6= +ver6=7 +coord6=0 +flag6=201326626 +flagg6=1208090624 +flagh6=276 +flagi6=0 +tflag6=263 +initx6=0 +inity6=0 +minx6=0 +miny6=0 +maxx6=0 +maxy6=0 +posx6=50 +posy6=50 +sizx6=800 +sizy6=600 +maxfps6=0 +initts6=0 diff --git a/build/dxwnd.dll b/build/dxwnd.dll index fefafd6..b829dd5 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f72014ec45098420011258296358843eced6ce66d98dd791d8997884a624db18 -size 422400 +oid sha256:d1a209c794208ebc34f31a6cd07230ea4410cb8ec6cdeedff15725bd32ae783a +size 425472 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index d54d78a..dc06231 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:645d3eb20a6c06832fd937ba3847de75e82273c684ccfac31dbfface9881df50 +oid sha256:3d50219a90b39093171656814a8cf5e4b1782366c91e18f16a8972cee2075727 size 532480 diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index c74180a..59e1e26 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -272,3 +272,13 @@ code reorganization GUI: removed useless flags and moved debug options in a hidden tab +v2.02.38-40 +Fixed coordinate calculation for blit operations when keeping aspect ratio. +Fixed window coordinate placement in desktop / client area mode for programs with a visible menu bar. +Changed "Lock win coordinates" flag: now it allows window movement / resizing when driven by mouse input. +Fixed a bug in GDI "Map DC to primary surface"mode. +Added palette display window to GUI + +v2.02.41 +Added "suppress child process creation" flag. This flag is introduced to manage games such as "Heart of Iron 2" and "Chariots of War" that start intro movie by means of a separate process. Both games are starting the binkplay.exe program in the game's avi subfolder. This way you don't get a windowed movie, but completely suppress it. +Added "fix ddraw ref counter" flag, to have primary directdraw object addref & release ref counters identical to those without dxwnd. Some games check for the value and show error messages, i.e. "Grand Prix World"! \ No newline at end of file diff --git a/dll/hddproxy.cpp b/dll/ddproxy.cpp similarity index 98% rename from dll/hddproxy.cpp rename to dll/ddproxy.cpp index 768617a..f5405b3 100644 --- a/dll/hddproxy.cpp +++ b/dll/ddproxy.cpp @@ -18,7 +18,7 @@ #include "syslibs.h" #include "dxhelper.h" #include "hddraw.h" -#include "hddproxy.h" +#include "ddproxy.h" static void HookDDSessionProxy(LPDIRECTDRAW *, int); static void HookDDSurfaceProxy(LPDIRECTDRAWSURFACE *, int); @@ -193,6 +193,7 @@ HPALETTE WINAPI extSelectPaletteProxy(HDC, HPALETTE, BOOL); UINT WINAPI extRealizePaletteProxy(HDC); HDC WINAPI extBeginPaintProxy(HWND, LPPAINTSTRUCT); UINT WINAPI extGetSystemPaletteEntriesProxy(HDC, UINT, UINT, LPPALETTEENTRY); +int WINAPI extGetDeviceCapsProxy(HDC, int); // ------------------------------------------------------------------------------------------ // // @@ -323,6 +324,8 @@ int HookDDProxy(HMODULE module, int dxVersion) if(tmp) pGDIRealizePalette = (RealizePalette_Type)tmp; tmp = HookAPI(module, "GDI32.dll", GetSystemPaletteEntries, "GetSystemPaletteEntries", extGetSystemPaletteEntriesProxy); if(tmp) pGDIGetSystemPaletteEntries = (GetSystemPaletteEntries_Type)tmp; + tmp = HookAPI(module, "GDI32.dll", GetDeviceCaps, "GetDeviceCaps", extGetDeviceCapsProxy); + if(tmp) pGDIGetDeviceCaps = (GetDeviceCaps_Type)tmp; tmp = HookAPI(module, "user32.dll", BeginPaint, "BeginPaint", extBeginPaintProxy); if(tmp) pBeginPaint = (BeginPaint_Type)tmp; pGetProcAddress = (GetProcAddress_Type)GetProcAddress; @@ -877,6 +880,9 @@ HRESULT WINAPI extCreateSurfaceProxy(int dxVersion, CreateSurface_Type pCreateSu OutTraceP("CreateSurface(D): ERROR res=%x(%s)\n", res, ExplainDDError(res)); return res; } + if(IsDebug){ + OutTrace("CreateSurface(D): built Caps=%x(%s)\n", lpddsd->ddsCaps.dwCaps, ExplainDDSCaps(lpddsd->ddsCaps.dwCaps)); + } OutTraceP("CreateSurface(D): lpdds=%x\n", *lplpdds); #ifdef HOOKSURFACE HookDDSurfaceProxy(lplpdds, dxVersion); @@ -2071,4 +2077,26 @@ HDC WINAPI extBeginPaintProxy(HWND hwnd, LPPAINTSTRUCT lpPaint) return ret; } +int WINAPI extGetDeviceCapsProxy(HDC hdc, int nindex) +{ + DWORD res; + + res = (*pGDIGetDeviceCaps)(hdc, nindex); + OutTraceD("GetDeviceCaps: hdc=%x index=%x(%s) res=%x\n", + hdc, nindex, ExplainDeviceCaps(nindex), res); + + switch(nindex){ + case VERTRES: + OutTraceD("GetDeviceCaps: VERTRES=%d\n", res); + break; + case HORZRES: + OutTraceD("GetDeviceCaps: HORZRES=%d\n", res); + break; + case RASTERCAPS: + OutTraceD("GetDeviceCaps: RASTERCAPS=%x(%s)\n",res, ExplainRasterCaps(res)); + break; + } + return res; +} + diff --git a/dll/hddproxy.h b/dll/ddproxy.h similarity index 100% rename from dll/hddproxy.h rename to dll/ddproxy.h diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index e90474a..574a982 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -12,7 +12,7 @@ #include "dxwcore.hpp" #include "stdio.h" #include "hddraw.h" -#include "hddproxy.h" +#include "ddproxy.h" #include "dxhelper.h" #include "syslibs.h" @@ -237,7 +237,6 @@ LPDIRECTDRAWSURFACE lpDDTexture=NULL; LPDIRECTDRAW lpPrimaryDD=NULL; LPDIRECTDRAW lpBackBufferDD=NULL; int iBakBufferVersion; -LPDIRECTDRAWCLIPPER lpDDC=NULL; LPDIRECTDRAWPALETTE lpDDP=NULL; // v2.02.37: globals to store requested main surface capabilities @@ -257,8 +256,10 @@ static void GetPixFmt(LPDDSURFACEDESC2); static HookEntry_Type ddHooks[]={ {"DirectDrawCreate", (FARPROC)NULL, (FARPROC *)&pDirectDrawCreate, (FARPROC)extDirectDrawCreate}, {"DirectDrawCreateEx", (FARPROC)NULL, (FARPROC *)&pDirectDrawCreateEx, (FARPROC)extDirectDrawCreateEx}, - {"DirectDrawCreate", (FARPROC)NULL, (FARPROC *)&pDirectDrawCreate, (FARPROC)extDirectDrawCreate}, - {"DirectDrawCreate", (FARPROC)NULL, (FARPROC *)&pDirectDrawCreate, (FARPROC)extDirectDrawCreate}, + {"DirectDrawEnumerateA", (FARPROC)NULL, (FARPROC *)&pDirectDrawEnumerate, (FARPROC)extDirectDrawEnumerate}, + {"DirectDrawEnumerateExA", (FARPROC)NULL, (FARPROC *)&pDirectDrawEnumerateEx, (FARPROC)extDirectDrawEnumerateEx}, + //{"DirectDrawEnumerateW", (FARPROC)NULL, (FARPROC *)&pDirectDrawEnumerateW, (FARPROC)extDirectDrawCreate}, + //{"DirectDrawEnumerateExW", (FARPROC)NULL, (FARPROC *)&pDirectDrawEnumerateExW, (FARPROC)extDirectDrawCreate}, {0, NULL, 0, 0} // terminator }; @@ -273,12 +274,6 @@ FARPROC Remap_ddraw_ProcAddress(LPCSTR proc, HMODULE hModule) // auxiliary (static) functions /* ------------------------------------------------------------------------------ */ -static void RefProbe(INTERFACE *obj, char *op, int line) -{ - obj->AddRef(); - OutTrace("### COM obj=%x op=%s refcount=%d at %d ###\n", obj, op, (*pReleaseS)((LPDIRECTDRAWSURFACE)obj), line); -} - static void Stopper(char *s, int line) { char sMsg[81]; @@ -286,13 +281,6 @@ static void Stopper(char *s, int line) MessageBox(0, sMsg, "break", MB_OK | MB_ICONEXCLAMATION); } -//#define REFPROBE_TEST // comment out to eliminate -#ifdef REFPROBE_TEST -#define REFPROBE(obj, op) RefProbe((INTERFACE *)(obj), op, __LINE__) -#else -#define REFPROBE(obj, op) -#endif - //#define STOPPER_TEST // comment out to eliminate #ifdef STOPPER_TEST #define STOPPER(s) Stopper(s, __LINE__) @@ -886,24 +874,6 @@ static void GetPixFmt(LPDDSURFACEDESC2 lpdd) OutTraceD("GetPixFmt: %s\n", DumpPixelFormat(lpdd)); } -static void RenewClipper(LPDIRECTDRAW lpdd, LPDIRECTDRAWSURFACE lpdds) -{ - HRESULT res; - - return; - - if (lpDDC) lpDDC->Release(); - res=lpdd->CreateClipper(0, &lpDDC, NULL); - if(res) OutTraceE("CreateSurface: CreateClipper ERROR: lpdd=%x res=%x(%s) at %d\n", lpdd, res, ExplainDDError(res), __LINE__); - //HookDDClipper(&lpDDC); - res=lpDDC->SetHWnd(0, dxw.GethWnd()); - if(res) OutTraceE("CreateSurface: SetHWnd ERROR: hWnd=%x res=%x(%s) at %d\n", dxw.GethWnd(), res, ExplainDDError(res), __LINE__); - res=lpdds->SetClipper(lpDDC); - //res=(*pSetClipper)(lpdds, lpDDC); - if(res) OutTraceE("CreateSurface: SetClipper ERROR: lpdds=%x res=%x(%s) at %d\n", lpdds, res, ExplainDDError(res), __LINE__); - return; -} - /* ------------------------------------------------------------------ */ // hook query functions that determines the object versioning .... /* ------------------------------------------------------------------ */ @@ -1500,6 +1470,7 @@ HRESULT WINAPI extDirectDrawCreate(GUID FAR *lpguid, LPDIRECTDRAW FAR *lplpdd, I (LPDIRECTDRAW)(*lplpdd)->GetCaps(&DriverCaps, &EmulCaps); //OutTrace("DirectDrawCreate: drivercaps=%x(%s) emulcaps=%x(%s)\n", DriverCaps.ddsCaps, "???", EmulCaps.ddsCaps, "???"); } + return 0; } @@ -1780,7 +1751,7 @@ HRESULT WINAPI extQueryInterfaceS(void *lpdds, REFIID riid, LPVOID *obp) if((lpdds == lpDDSBack) && dwLocalDDVersion) { // assume that you always use the newer interface version, if available. if(dwLocalDDVersion > (UINT)iBakBufferVersion){ - OutTrace("QueryInterface(S): switching backbuffer %x -> %x\n", lpDDSBack, *obp); + OutTraceD("QueryInterface(S): switching backbuffer %x -> %x\n", lpDDSBack, *obp); lpDDSBack = (LPDIRECTDRAWSURFACE)*obp; iBakBufferVersion = dwLocalDDVersion; } @@ -1810,6 +1781,8 @@ HRESULT WINAPI extSetDisplayMode(int version, LPDIRECTDRAW lpdd, if(dxw.dwFlags1 & EMULATESURFACE){ // in EMULATESURFACE mode, let SetPixFmt decide upon the PixelFormat dxw.VirtualPixelFormat.dwRGBBitCount = dwbpp; + memset(&ddsd, 0, sizeof(ddsd)); + ddsd.dwSize=sizeof(ddsd); SetPixFmt(&ddsd); SetBltTransformations(); OutTraceD("SetDisplayMode: mode=EMULATE %s ret=OK\n", DumpPixelFormat(&ddsd)); @@ -2132,8 +2105,12 @@ void FixSurfaceCapsAnalytic(LPDDSURFACEDESC2 lpddsd, int dxversion) break; case DDSCAPS_OFFSCREENPLAIN|DDSCAPS_VIDEOMEMORY: // Dungeon Keeper II GOG release (intro screen): doesn't like calling GetPixFmt!!! + // it requests a DDPF_FOURCC surface with fourcc="YYYY" that should not be overridden? + // // need not to be configurable until we get a different case. // it works both on VIDEOMEMORY or SYSTEMMEMORY. The latter should be more stable. + // v2.02.41: don't alter FOURCC pixel formats + if(lpddsd->ddpfPixelFormat.dwFlags & DDPF_FOURCC) return; lpddsd->ddsCaps.dwCaps = (DDSCAPS_SYSTEMMEMORY|DDSCAPS_OFFSCREENPLAIN); return; break; @@ -2268,9 +2245,14 @@ static void FixSurfaceCaps(LPDDSURFACEDESC2 lpddsd, int dxversion) // no further changes... return; } + if(lpddsd->dwFlags & DDSD_ZBUFFERBITDEPTH){ lpddsd->dwFlags &= ~DDSD_PIXELFORMAT; } + + // v2.02.41: don't alter FOURCC pixel formats + if((lpddsd->dwFlags & DDSD_PIXELFORMAT) && (lpddsd->ddpfPixelFormat.dwFlags & DDPF_FOURCC)) return; + #if 0 // HoM&M3/4 fix.... if(((lpddsd->dwFlags & (DDSD_CAPS|DDSD_WIDTH|DDSD_HEIGHT)) == (DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH)) && @@ -2349,7 +2331,6 @@ static HRESULT BuildPrimaryEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf ClearSurfaceDesc((void *)&ddsd, dxversion); ddsd.dwFlags = DDSD_CAPS; ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; - GetPixFmt(&ddsd); DumpSurfaceAttributes((LPDDSURFACEDESC)&ddsd, "[EmuPrim]" , __LINE__); res=(*pCreateSurface)(lpdd, &ddsd, &lpDDSEmu_Prim, 0); @@ -2430,7 +2411,6 @@ static HRESULT BuildPrimaryDir(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf if(dxw.dwFlags1 & EMULATEBUFFER){ lpDDSEmu_Prim = *lplpdds; dxw.MarkRegularSurface(lpDDSEmu_Prim); - RenewClipper(lpdd, lpDDSEmu_Prim); ddsd.dwFlags = DDSD_WIDTH | DDSD_HEIGHT | DDSD_CAPS; // warning: can't create zero sized backbuffer surface !!!! @@ -2552,7 +2532,7 @@ static HRESULT BuildGenericEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf OutTraceE("CreateSurface: ERROR on Emu_Generic res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); return res; } - + OutTraceD("CreateSurface: created Emu_Generic dds=%x\n", *lplpdds); if(IsDebug) DescribeSurface(*lplpdds, dxversion, "DDSEmu_Generic", __LINE__); // diagnostic hooks .... @@ -2646,7 +2626,7 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate if((dxversion == 1) && (ddsd.dwFlags == 0)){ // Star Force Deluxe ddsd.dwFlags = DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH; ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; - if(dxw.VirtualPixelFormat.dwRGBBitCount == 8) ddsd.ddsCaps.dwCaps |= DDSCAPS_PALETTE; + //if(dxw.VirtualPixelFormat.dwRGBBitCount == 8) ddsd.ddsCaps.dwCaps |= DDSCAPS_PALETTE; } // creation of the primary surface.... @@ -2660,7 +2640,6 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate // beware of the different behaviour between older and newer directdraw releases... if(dxversion >= 4){ - if (lpDDC) while(lpDDC->Release()); if (lpDDSEmu_Back) while(lpDDSEmu_Back->Release()); if (lpDDSEmu_Prim) while(lpDDSEmu_Prim->Release()); if (ddsd.dwFlags & DDSD_BACKBUFFERCOUNT) { // Praetorians !!!! @@ -2668,7 +2647,6 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate lpBackBufferDD = NULL; } } - lpDDC=NULL; lpDDSEmu_Back=NULL; lpDDSEmu_Prim=NULL; @@ -2718,9 +2696,7 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate } // rebuild the clipper area - if (lpDDC==NULL) RenewClipper(lpdd, lpDDSEmu_Prim); if(dxw.dwFlags1 & CLIPCURSOR) dxw.SetClipCursor(); - REFPROBE(*lplpdds, "CREATED"); return DD_OK; } @@ -2729,14 +2705,12 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate if (lpDDSBack) { OutTraceD("CreateSurface: returning current DDSBack=%x\n", lpDDSBack); *lplpdds = lpDDSBack; - REFPROBE(lpDDSBack, "CREATED"); return DD_OK; } res=BuildBackBuffer(lpdd, pCreateSurface, lpddsd, dxversion, lplpdds, NULL); lpDDSBack = *lplpdds; dxw.MarkBackBufferSurface(lpDDSBack); - REFPROBE(*lplpdds, "CREATED"); return res; } @@ -2751,7 +2725,6 @@ static HRESULT WINAPI extCreateSurface(int dxversion, CreateSurface_Type pCreate res=BuildGeneric(lpdd, pCreateSurface, lpddsd, dxversion, lplpdds, pu); if(!res) dxw.MarkRegularSurface(*lplpdds); - REFPROBE(*lplpdds, "CREATED"); return res; } @@ -2973,7 +2946,7 @@ HRESULT WINAPI sBlt(char *api, LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, } else { if(dxw.dwFlags3 & NODDRAWBLT) return DD_OK; - } + } } #ifdef ONEPIXELFIX @@ -3048,8 +3021,10 @@ HRESULT WINAPI sBlt(char *api, LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, break; } if (res) BlitError(res, &srcrect, lpdestrect, __LINE__); - DescribeSurface(lpdds, 0, "[DST]" , __LINE__); - if (lpddssrc) DescribeSurface(lpddssrc, 0, "[SRC]" , __LINE__); // lpddssrc could be NULL!!! + if(IsDebug) { + DescribeSurface(lpdds, 0, "[DST]" , __LINE__); + if (lpddssrc) DescribeSurface(lpddssrc, 0, "[SRC]" , __LINE__); // lpddssrc could be NULL!!! + } if(dxw.dwFlags1 & SUPPRESSDXERRORS) res=0; return res; } @@ -3059,6 +3034,7 @@ HRESULT WINAPI sBlt(char *api, LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, if(dxw.HandleFPS()) return DD_OK; destrect=dxw.MapWindowRect(lpdestrect); + //OutTrace("DESTRECT=(%d,%d)-(%d,%d)\n", destrect.left, destrect.top, destrect.right, destrect.bottom); if(!(dxw.dwFlags1 & (EMULATESURFACE|EMULATEBUFFER))){ res=0; @@ -3165,11 +3141,6 @@ HRESULT WINAPI sBlt(char *api, LPDIRECTDRAWSURFACE lpdds, LPRECT lpdestrect, if (dxw.dwFlags2 & SHOWFPSOVERLAY) dxw.ShowFPS(lpDDSSource); if (IsDebug) BlitTrace("BACK2PRIM", &emurect, &destrect, __LINE__); res=(*pBlt)(lpDDSEmu_Prim, &destrect, lpDDSSource, &emurect, DDBLT_WAIT, 0); - if (res==DDERR_NOCLIPLIST){ - RenewClipper(lpPrimaryDD, lpDDSEmu_Prim); - if (IsDebug) BlitTrace("NOCLIP", &emurect, &destrect, __LINE__); - res=(*pBlt)(lpDDSEmu_Prim, &destrect, lpDDSSource, &emurect, DDBLT_WAIT, 0); - } if (res) BlitError(res, &emurect, &destrect, __LINE__); if(dxw.dwFlags1 & SUPPRESSDXERRORS) res=0; @@ -3274,7 +3245,6 @@ HRESULT WINAPI extBltFast(LPDIRECTDRAWSURFACE lpdds, DWORD dwx, DWORD dwy, HRESULT ret; BOOL ToPrim, FromPrim; - REFPROBE(lpdds, "BLTFAST"); ToPrim=dxw.IsAPrimarySurface(lpdds); FromPrim=dxw.IsAPrimarySurface(lpddssrc); @@ -3374,7 +3344,7 @@ HRESULT WINAPI extCreatePalette(LPDIRECTDRAW lpdd, DWORD dwflags, LPPALETTEENTRY OutTraceE("CreatePalette: ERROR res=%x(%s)\n", res, ExplainDDError(res)); return res; } - else OutTrace("CreatePalette: OK lpddp=%x\n", *lplpddp); + else OutTraceD("CreatePalette: OK lpddp=%x\n", *lplpddp); HookDDPalette(lplpddp); return 0; @@ -3388,7 +3358,7 @@ HRESULT WINAPI extGetPalette(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPALETTE *lpl res=(*pGetPalette)(lpdds, lplpddp); if (res) OutTraceE("GetPalette: ERROR res=%x(%s)\n", res, ExplainDDError(res)); - else OutTrace("GetPalette: OK\n"); + else OutTraceD("GetPalette: OK\n"); return res; } @@ -3404,7 +3374,7 @@ HRESULT WINAPI extSetPalette(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWPALETTE lpdd res=(*pSetPalette)(lpdds, lpddp); res=DD_OK; if(res)OutTraceE("SetPalette: ERROR res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); - else OutTrace("SetPalette: OK\n"); + else OutTraceD("SetPalette: OK\n"); if((dxw.dwFlags1 & EMULATESURFACE) && isPrim){ OutTraceD("SetPalette: register PRIMARY palette lpDDP=%x\n", lpddp); @@ -3431,7 +3401,7 @@ HRESULT WINAPI extSetEntries(LPDIRECTDRAWPALETTE lpddp, DWORD dwflags, DWORD dws res = (*pSetEntries)(lpddp, dwflags, dwstart, dwcount, lpentries); if(res) OutTraceE("SetEntries: ERROR res=%x(%s)\n", res, ExplainDDError(res)); - else OutTrace("SetEntries: OK\n"); + else OutTraceD("SetEntries: OK\n"); if((dxw.dwFlags1 & EMULATESURFACE) && (lpDDP == lpddp)){ OutTraceD("SetEntries: update PRIMARY palette lpDDP=%x\n", lpddp); @@ -3824,7 +3794,7 @@ HRESULT WINAPI myEnumModesFilter(LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpConte HRESULT WINAPI extEnumDisplayModes(EnumDisplayModes1_Type pEnumDisplayModes, LPDIRECTDRAW lpdd, DWORD dwflags, LPDDSURFACEDESC lpddsd, LPVOID lpContext, LPDDENUMMODESCALLBACK cb) { HRESULT res; - OutTraceP("EnumDisplayModes(D): lpdd=%x flags=%x lpddsd=%x callback=%x\n", lpdd, dwflags, lpddsd, cb); + OutTraceD("EnumDisplayModes(D): lpdd=%x flags=%x lpddsd=%x callback=%x\n", lpdd, dwflags, lpddsd, cb); // note: extEnumDisplayModes serves both the EnumDisplayModes and EnumDisplayModes2 interfaces: // they differ for the lpddsd argument that should point to either DDSURFACEDESC or DDSURFACEDESC2 @@ -3976,7 +3946,6 @@ HRESULT WINAPI extReleaseS(LPDIRECTDRAWSURFACE lpdds) IsPrim=dxw.IsAPrimarySurface(lpdds); IsBack=dxw.IsABackBufferSurface(lpdds); - REFPROBE(lpdds, "RELEASE"); res = (*pReleaseS)(lpdds); @@ -4222,24 +4191,55 @@ HRESULT WINAPI extGetCaps7S(LPDIRECTDRAWSURFACE lpdds, LPDDSCAPS2 caps) return extGetCapsS(7, (GetCapsS_Type)pGetCaps7S, lpdds, (LPDDSCAPS)caps); } +#define FIXREFCOUNTERS 1 +#define ZEROREFCOUNTERS 0 + +HRESULT WINAPI DumpHandle(LPDIRECTDRAWSURFACE lpDDSurface, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext) +{ + OutTrace("lpdds=%x flags=%x(%s) caps=%x(%s); ", + lpDDSurface, + lpDDSurfaceDesc->dwFlags, ExplainFlags(lpDDSurfaceDesc->dwFlags), + lpDDSurfaceDesc->ddsCaps.dwCaps, ExplainDDSCaps(lpDDSurfaceDesc->ddsCaps.dwCaps)); + lpDDSurface->Release(); + return DDENUMRET_OK; +} + ULONG WINAPI extReleaseD(LPDIRECTDRAW lpdd) { - ULONG ref; + ULONG ActualRef; + LONG VirtualRef; int dxversion; dxversion=lpddHookedVersion(lpdd); // must be called BEFORE releasing the session!! OutTraceD("Release(D): lpdd=%x dxversion=%d\n", lpdd, dxversion); - ref=(*pReleaseD)(lpdd); + ActualRef=(*pReleaseD)(lpdd); + VirtualRef=(LONG)ActualRef; + OutTraceD("Release(D): lpdd=%x service_lpdd=%x ref=%d\n", lpdd, lpPrimaryDD, ActualRef); + if(IsDebug && ActualRef){ + OutTrace("Release(D): surfaces "); + //(*pEnumSurfaces)(lpdd, DDENUMSURFACES_DOESEXIST|DDENUMSURFACES_ALL, NULL, NULL, DumpHandle); + lpdd->EnumSurfaces(DDENUMSURFACES_DOESEXIST|DDENUMSURFACES_ALL, NULL, NULL, DumpHandle); + OutTrace("\n"); + } if (lpdd == lpPrimaryDD) { // v2.1.87: fix for Dungeon Keeper II - OutTraceD("Release(D): service lpdd=%x version=%d\n", lpdd, dxversion); - if((dxversion<4) && (ref==0)){ + if(FIXREFCOUNTERS){ + // v2.02.41: fix the ref counter to sumulate the unwindowed original situation + --VirtualRef; // why ???? + if(lpDDSBack) --VirtualRef; + if(dxw.dwFlags1 & EMULATESURFACE){ + if(lpDDSEmu_Prim) --VirtualRef; + if(lpDDSEmu_Back) --VirtualRef; + } + if(VirtualRef<0) VirtualRef=0; + OutTraceD("Release(D): fixed ref counter %d->%d\n", ActualRef, VirtualRef); + } + if((dxversion<4) && (ActualRef==0)){ // directdraw old versions automatically free all linked objects when the parent session is closed. OutTraceD("Release(D): RefCount=0 - service object RESET condition\n"); lpDDSEmu_Prim=NULL; lpDDSEmu_Back=NULL; - lpDDC=NULL; lpDDP=NULL; lpPrimaryDD=NULL; // v2.02.31 if(lpBackBufferDD==lpdd){ @@ -4247,10 +4247,13 @@ ULONG WINAPI extReleaseD(LPDIRECTDRAW lpdd) lpDDSBack=NULL; // beware: Silent Hunter II seems to require the backbuffer .... } } + if(ZEROREFCOUNTERS){ + VirtualRef=0; + } } - OutTraceD("Release(D): lpdd=%x ref=%x\n", lpdd, ref); - return ref; + OutTraceD("Release(D): lpdd=%x ref=%x\n", lpdd, VirtualRef); + return (ULONG)VirtualRef; } HRESULT WINAPI extCreateClipper(LPDIRECTDRAW lpdd, DWORD dwflags, @@ -4274,10 +4277,6 @@ HRESULT WINAPI extReleaseC(LPDIRECTDRAWCLIPPER lpddClip) ref = (*pReleaseC)(lpddClip); OutTraceD("Release(C): PROXED lpddClip=%x ref=%x\n", lpddClip, ref); - if (lpddClip==lpDDC && ref==0) { - OutTraceD("Release(C): Clearing lpDDC pointer\n"); - lpDDC=NULL; - } return ref; } @@ -4435,7 +4434,7 @@ BOOL WINAPI DDEnumerateCallbackExFilter(GUID *lpGuid, LPSTR lpDriverDescription, BOOL res; typedef struct {LPDDENUMCALLBACKEX lpCallback; LPVOID lpContext;} Context_Type; Context_Type *p=(Context_Type *)lpContext; - OutTrace("DDEnumerateCallbackEx: guid=%x DriverDescription=\"%s\" DriverName=\"%s\" Context=%x hm=%x\n", + OutTraceD("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); @@ -4447,7 +4446,7 @@ BOOL WINAPI DDEnumerateCallbackExFilter(GUID *lpGuid, LPSTR lpDriverDescription, HRESULT WINAPI extDirectDrawEnumerate(LPDDENUMCALLBACK lpCallback, LPVOID lpContext) { HRESULT ret; - OutTraceP("DirectDrawEnumerate: lpCallback=%x lpContext=%x\n", lpCallback, lpContext); + OutTraceD("DirectDrawEnumerate: lpCallback=%x lpContext=%x\n", lpCallback, lpContext); if((dxw.dwFlags2 & HIDEMULTIMONITOR) || (dxw.dwTFlags & OUTDEBUG)){ struct {LPDDENUMCALLBACK lpCallback; LPVOID lpContext;} myContext; myContext.lpCallback=lpCallback; @@ -4456,7 +4455,7 @@ HRESULT WINAPI extDirectDrawEnumerate(LPDDENUMCALLBACK lpCallback, LPVOID lpCont } else ret=(*pDirectDrawEnumerate)(lpCallback, lpContext); - if(ret) OutTraceP("DirectDrawEnumerate: ERROR res=%x(%s)\n", ret, ExplainDDError(ret)); + if(ret) OutTraceE("DirectDrawEnumerate: ERROR res=%x(%s)\n", ret, ExplainDDError(ret)); return ret; } @@ -4473,7 +4472,7 @@ HRESULT WINAPI extDirectDrawEnumerateEx(LPDDENUMCALLBACKEX lpCallback, LPVOID lp } else ret=(*pDirectDrawEnumerateEx)(lpCallback, lpContext, dwFlags); - if(ret) OutTraceP("DirectDrawEnumerateEx: ERROR res=%x(%s)\n", ret, ExplainDDError(ret)); + if(ret) OutTraceD("DirectDrawEnumerateEx: ERROR res=%x(%s)\n", ret, ExplainDDError(ret)); return ret; } diff --git a/dll/dxhelper.cpp b/dll/dxhelper.cpp index 974657b..d9de4f4 100644 --- a/dll/dxhelper.cpp +++ b/dll/dxhelper.cpp @@ -1545,5 +1545,31 @@ char *ExplainPaletteUse(UINT uUsage) return eb; } +char *ExplainRasterCaps(DWORD c) +{ + static char eb[128]; + unsigned int l; + strcpy(eb,"RC_"); + if(c & RC_BITBLT) strcat(eb, "BITBLT+"); + if(c & RC_BANDING) strcat(eb, "BANDING+"); + if(c & RC_SCALING) strcat(eb, "SCALING+"); + if(c & RC_BITMAP64) strcat(eb, "BITMAP64+"); + if(c & RC_GDI20_OUTPUT) strcat(eb, "GDI20_OUTPUT+"); + if(c & RC_GDI20_STATE) strcat(eb, "GDI20_STATE+"); + if(c & RC_SAVEBITMAP) strcat(eb, "SAVEBITMAP+"); + if(c & RC_DI_BITMAP) strcat(eb, "DI_BITMAP+"); + if(c & RC_PALETTE) strcat(eb, "PALETTE+"); + if(c & RC_DIBTODEV) strcat(eb, "DIBTODEV+"); + if(c & RC_BIGFONT) strcat(eb, "BIGFONT+"); + if(c & RC_STRETCHBLT) strcat(eb, "STRETCHBLT+"); + if(c & RC_FLOODFILL) strcat(eb, "FLOODFILL+"); + if(c & RC_STRETCHDIB) strcat(eb, "STRETCHDIB+"); + if(c & RC_OP_DX_OUTPUT) strcat(eb, "OP_DX_OUTPUT+"); + if(c & RC_DEVBITS) strcat(eb, "DEVBITS+"); + l=strlen(eb); + if (l>strlen("RC_")) eb[l-1]=0; // delete last '+' if any + else strcpy(eb,"NULL"); + return(eb); +} diff --git a/dll/dxhelper.h b/dll/dxhelper.h index 43d2dc1..24b5669 100644 --- a/dll/dxhelper.h +++ b/dll/dxhelper.h @@ -45,3 +45,4 @@ extern char *ExplainDCType(DWORD); extern char *ExplainPeekRemoveMsg(DWORD); extern char *ExplainGetDCExFlags(DWORD); extern char *ExplainPaletteUse(UINT); +extern char *ExplainRasterCaps(DWORD); diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index 7f07da1..495e31f 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -65,7 +65,7 @@ static char *Flag3Names[32]={ }; static char *Flag4Names[32]={ - "", "", "", "", + "NOALPHACHANNEL", "SUPPRESSCHILD", "", "", "", "", "", "", "", "", "", "", "", "", "", "", @@ -605,9 +605,23 @@ void CalculateWindowPos(HWND hwnd, DWORD width, DWORD height, LPWINDOWPOS wp) break; } + RECT UnmappedRect; + UnmappedRect=rect; dwStyle=(*pGetWindowLong)(hwnd, GWL_STYLE); hMenu = GetMenu(hwnd); AdjustWindowRect(&rect, dwStyle, (hMenu!=NULL)); + if (hMenu) CloseHandle(hMenu); + switch(dxw.Coordinates){ + case DXW_DESKTOP_WORKAREA: + case DXW_DESKTOP_FULL: + // if there's a menu, reduce height to fit area + if(rect.top != UnmappedRect.top){ + rect.bottom = rect.bottom - UnmappedRect.top + rect.top; + } + break; + default: + break; + } // shift down-right so that the border is visible // and also update the iPosX,iPosY upper-left coordinates of the client area diff --git a/dll/dxwcore.cpp b/dll/dxwcore.cpp index d6cc899..532eab8 100644 --- a/dll/dxwcore.cpp +++ b/dll/dxwcore.cpp @@ -433,6 +433,7 @@ RECT dxwCore::MapWindowRect(LPRECT lpRect) ClientRect.right=iRatioX; ClientRect.bottom=iRatioY; } + RetRect=ClientRect; bx = by = 0; if (dwFlags2 & KEEPASPECTRATIO){ @@ -444,14 +445,16 @@ RECT dxwCore::MapWindowRect(LPRECT lpRect) else { by = (h - (w * iRatioY / iRatioX))/2; } - OutTraceB("bx=%d by=%d\n", bx, by); } - if(lpRect){ - RetRect.left = (lpRect->left * ClientRect.right / dwScreenWidth) + bx; - RetRect.right = (lpRect->right * ClientRect.right / dwScreenWidth) - bx; - RetRect.top = (lpRect->top * ClientRect.bottom / dwScreenHeight) + by; - RetRect.bottom = (lpRect->bottom * ClientRect.bottom / dwScreenHeight) - by; + if(lpRect){ // v2.02.41 - fixed coordinates for KEEPASPECTRATIO option + LONG Width, Height; + Width = ClientRect.right - (2*bx); + Height = ClientRect.bottom - (2*by); + RetRect.left = bx + (lpRect->left * Width / dwScreenWidth); + RetRect.right = bx + (lpRect->right * Width / dwScreenWidth); + RetRect.top = by + (lpRect->top * Height / dwScreenHeight); + RetRect.bottom = by + (lpRect->bottom * Height / dwScreenHeight); } else{ RetRect.left = ClientRect.left + bx; diff --git a/dll/dxwnd.aps b/dll/dxwnd.aps index 8d34f5abdb85414028ed3ac57c5c72829e2afcab..4763a19158eb5e09ef061c09e2ea7634df044938 100644 GIT binary patch delta 28 icmZ3mjA_9#rU?;@h8rVA`xy;4=l82H0jVhydl&(haS8bV delta 28 icmZ3mjA_9#rU?;@1{)(q`xy;3=l82H0jVhydl&(hO9}P> diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index 0b2389f..28d5898 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -24,7 +24,7 @@ along with this program. If not, see . #include "dxwnd.h" #include "dxwcore.hpp" -#define VERSION "2.02.40" +#define VERSION "2.02.41" #define DDTHREADLOCK 1 diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index 4f3a3a1cffe8063f5bdf746b18a1e5fff5751393..cb3392547a6037616098ac7329ad20bc706fe8cc 100644 GIT binary patch delta 33262 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 delta 12230 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 + + @@ -352,10 +356,6 @@ RelativePath=".\hd3d7.cpp" > - - @@ -401,6 +401,10 @@ Name="Header Files" Filter="h;hpp;hxx;hm;inl" > + + @@ -421,10 +425,6 @@ RelativePath=".\glhook.h" > - - diff --git a/dll/gdi32.cpp b/dll/gdi32.cpp index 6ddee79..6b82b5c 100644 --- a/dll/gdi32.cpp +++ b/dll/gdi32.cpp @@ -317,22 +317,22 @@ int WINAPI extGetDeviceCaps(HDC hdc, int nindex) DWORD res; res = (*pGDIGetDeviceCaps)(hdc, nindex); - OutTraceD("GetDeviceCaps: hdc=%x index=%x(%s) res=%x\n", - hdc, nindex, ExplainDeviceCaps(nindex), res); - -#ifdef GDIEMULATIONONLY - switch(nindex){ - case VERTRES: - res= dxw.GetScreenHeight(); - OutTraceD("GetDeviceCaps: fix(0) VERTRES cap=%d\n", res); - break; - case HORZRES: - res= dxw.GetScreenWidth(); - OutTraceD("GetDeviceCaps: fix(0) HORZRES cap=%d\n", res); - break; + if(IsTraceD){ + OutTrace("GetDeviceCaps: hdc=%x index=%x(%s)", hdc, nindex, ExplainDeviceCaps(nindex)); + switch(nindex){ + case RASTERCAPS: + OutTrace(" res=0x%04x(%s)\n",res, ExplainRasterCaps(res)); break; + case BITSPIXEL: + case COLORRES: + case VERTRES: + case SIZEPALETTE: + case NUMRESERVED: + OutTrace(" res=%d\n",res); break; + default: + OutTrace(" res=0x%04x\n",res); break; + } } - return res; -#endif + // if you have a bypassed setting, use it first! if(pSetDevMode){ @@ -387,8 +387,8 @@ int WINAPI extGetDeviceCaps(HDC hdc, int nindex) switch(nindex){ case RASTERCAPS: if((dxw.VirtualPixelFormat.dwRGBBitCount==8) || (dxw.dwFlags2 & INIT8BPP)){ - res = RC_PALETTE; - OutTraceD("GetDeviceCaps: fix(3) RASTERCAPS setting RC_PALETTE cap=%x\n",res); + res |= RC_PALETTE; + OutTraceD("GetDeviceCaps: fix(3) RASTERCAPS setting RC_PALETTE cap=%x(%s)\n", res, ExplainRasterCaps(res)); } break; case BITSPIXEL: diff --git a/dll/hd3d7.cpp b/dll/hd3d7.cpp index 6960319..ba2e44f 100644 --- a/dll/hd3d7.cpp +++ b/dll/hd3d7.cpp @@ -9,8 +9,8 @@ // exported API DWORD gD3DVersion; // quick & dirty .... -#undef OutTraceD -#define OutTraceD OutTrace +//#undef OutTraceD +//#define OutTraceD OutTrace typedef HRESULT (WINAPI *Direct3DCreateDevice_Type)(GUID FAR *, LPDIRECT3D, LPDIRECTDRAWSURFACE, LPDIRECT3D *, LPUNKNOWN); typedef HRESULT (WINAPI *Direct3DCreate_Type)(UINT, LPDIRECT3D *, LPUNKNOWN); @@ -297,19 +297,21 @@ typedef struct { static void DumpD3DDevideDesc(LPD3DDEVICEDESC d3, char *label) { - OutTraceD("EnumDevices: CALLBACK dev=%s Size=%d Flags=%x ", label, d3->dwSize, d3->dwFlags); - if(d3->dwFlags & D3DDD_COLORMODEL) OutTraceD("ColorModel=%x ", d3->dcmColorModel); - if(d3->dwFlags & D3DDD_DEVCAPS) OutTraceD("DevCaps=%x ", d3->dwDevCaps); - if(d3->dwFlags & D3DDD_TRANSFORMCAPS) OutTraceD("TransformCaps=%x ", d3->dtcTransformCaps.dwCaps); - if(d3->dwFlags & D3DDD_LIGHTINGCAPS) OutTraceD("LightingCaps=%x ", d3->dlcLightingCaps); - if(d3->dwFlags & D3DDD_BCLIPPING) OutTraceD("Clipping=%x ", d3->bClipping); - if(d3->dwFlags & D3DDD_LINECAPS) OutTraceD("LineCaps=%x ", d3->dpcLineCaps); - if(d3->dwFlags & D3DDD_TRICAPS) OutTraceD("TriCaps=%x ", d3->dpcTriCaps); - if(d3->dwFlags & D3DDD_DEVICERENDERBITDEPTH) OutTraceD("DeviceRenderBitDepth=%d ", d3->dwDeviceRenderBitDepth); - if(d3->dwFlags & D3DDD_DEVICEZBUFFERBITDEPTH) OutTraceD("DeviceZBufferBitDepth=%d ", d3->dwDeviceZBufferBitDepth); - if(d3->dwFlags & D3DDD_MAXBUFFERSIZE) OutTraceD("MaxBufferSize=%d ", d3->dwMaxBufferSize); - if(d3->dwFlags & D3DDD_MAXVERTEXCOUNT) OutTraceD("MaxVertexCount=%d ", d3->dwMaxVertexCount); - OutTraceD("\n"); + if(IsTraceD){ + OutTrace("EnumDevices: CALLBACK dev=%s Size=%d Flags=%x ", label, d3->dwSize, d3->dwFlags); + if(d3->dwFlags & D3DDD_COLORMODEL) OutTrace("ColorModel=%x ", d3->dcmColorModel); + if(d3->dwFlags & D3DDD_DEVCAPS) OutTrace("DevCaps=%x ", d3->dwDevCaps); + if(d3->dwFlags & D3DDD_TRANSFORMCAPS) OutTrace("TransformCaps=%x ", d3->dtcTransformCaps.dwCaps); + if(d3->dwFlags & D3DDD_LIGHTINGCAPS) OutTrace("LightingCaps=%x ", d3->dlcLightingCaps); + if(d3->dwFlags & D3DDD_BCLIPPING) OutTrace("Clipping=%x ", d3->bClipping); + if(d3->dwFlags & D3DDD_LINECAPS) OutTrace("LineCaps=%x ", d3->dpcLineCaps); + if(d3->dwFlags & D3DDD_TRICAPS) OutTrace("TriCaps=%x ", d3->dpcTriCaps); + if(d3->dwFlags & D3DDD_DEVICERENDERBITDEPTH) OutTrace("DeviceRenderBitDepth=%d ", d3->dwDeviceRenderBitDepth); + if(d3->dwFlags & D3DDD_DEVICEZBUFFERBITDEPTH) OutTrace("DeviceZBufferBitDepth=%d ", d3->dwDeviceZBufferBitDepth); + if(d3->dwFlags & D3DDD_MAXBUFFERSIZE) OutTrace("MaxBufferSize=%d ", d3->dwMaxBufferSize); + if(d3->dwFlags & D3DDD_MAXVERTEXCOUNT) OutTrace("MaxVertexCount=%d ", d3->dwMaxVertexCount); + OutTrace("\n"); + } } HRESULT WINAPI extDeviceProxy(GUID FAR *lpGuid, LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC lpd3ddd1, LPD3DDEVICEDESC lpd3ddd2, LPVOID arg) diff --git a/dll/kernel32.cpp b/dll/kernel32.cpp index 2bff25f..dcad491 100644 --- a/dll/kernel32.cpp +++ b/dll/kernel32.cpp @@ -4,7 +4,7 @@ #include "dxhook.h" #include "dxhelper.h" #include "hddraw.h" -#include "hddproxy.h" +#include "ddproxy.h" static HookEntry_Type Hooks[]={ {"IsDebuggerPresent", (FARPROC)NULL, (FARPROC *)NULL, (FARPROC)extIsDebuggerPresent}, @@ -48,6 +48,11 @@ static HookEntry_Type VersionHooks[]={ {0, NULL, 0, 0} // terminator }; +static HookEntry_Type SuppressChildHooks[]={ + {"CreateProcessA", (FARPROC)NULL, (FARPROC *)NULL, (FARPROC)extCreateProcessA}, + {0, NULL, 0, 0} // terminator +}; + static char *libname = "kernel32.dll"; void HookKernel32(HMODULE module) @@ -57,6 +62,7 @@ void HookKernel32(HMODULE module) if(dxw.dwFlags2 & LIMITRESOURCES) HookLibrary(module, LimitHooks, libname); if(dxw.dwFlags2 & TIMESTRETCH) HookLibrary(module, TimeHooks, libname); if(dxw.dwFlags2 & FAKEVERSION) HookLibrary(module, VersionHooks, libname); + if(dxw.dwFlags4 & SUPPRESSCHILD) HookLibrary(module, SuppressChildHooks, libname); } void HookKernel32Init() @@ -85,6 +91,9 @@ FARPROC Remap_kernel32_ProcAddress(LPCSTR proc, HMODULE hModule) if(dxw.dwFlags2 & FAKEVERSION) if (addr=RemapLibrary(proc, hModule, VersionHooks)) return addr; + if(dxw.dwFlags4 & SUPPRESSCHILD) + if (addr=RemapLibrary(proc, hModule, SuppressChildHooks)) return addr; + return NULL; } @@ -675,3 +684,20 @@ DWORD WINAPI extSetFilePointer(HANDLE hFile, LONG lDistanceToMove, PLONG lpDista } return ret; } + +BOOL WINAPI extCreateProcessA( + LPCTSTR lpApplicationName, + LPTSTR lpCommandLine, + LPSECURITY_ATTRIBUTES lpProcessAttributes, + LPSECURITY_ATTRIBUTES lpThreadAttributes, + BOOL bInheritHandles, + DWORD dwCreationFlags, + LPVOID lpEnvironment, + LPCTSTR lpCurrentDirectory, + LPSTARTUPINFO lpStartupInfo, + LPPROCESS_INFORMATION lpProcessInformation +) +{ + OutTraceD("CreateProcess: SUPPRESS ApplicationName=%s CommandLine=\"%s\"\n", lpApplicationName, lpCommandLine); + return TRUE; +} diff --git a/dll/syslibs.h b/dll/syslibs.h index 2a49b0f..7a71749 100644 --- a/dll/syslibs.h +++ b/dll/syslibs.h @@ -473,6 +473,7 @@ extern DWORD WINAPI extSleepEx(DWORD, BOOL); extern HANDLE WINAPI extCreateFile(LPCTSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); extern DWORD WINAPI extSetFilePointer(HANDLE, LONG, PLONG, DWORD); extern BOOL WINAPI extCloseHandle(HANDLE); +extern BOOL WINAPI extCreateProcessA(LPCTSTR, LPTSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPCTSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION); // ole32.dll: extern HRESULT STDAPICALLTYPE extCoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, LPVOID FAR*); diff --git a/dll/winmm.cpp b/dll/winmm.cpp index d3050d9..90e19e7 100644 --- a/dll/winmm.cpp +++ b/dll/winmm.cpp @@ -6,8 +6,8 @@ #include "MMSystem.h" -#undef OutTraceD -#define OutTraceD OutTrace +//#undef OutTraceD +//#define OutTraceD OutTrace static HookEntry_Type Hooks[]={ {"mciSendCommandA", NULL, (FARPROC *)&pmciSendCommand, (FARPROC)extmciSendCommand}, diff --git a/host/PaletteDialog - Copia.cpp b/host/PaletteDialog - Copia.cpp deleted file mode 100644 index d0537f0..0000000 --- a/host/PaletteDialog - Copia.cpp +++ /dev/null @@ -1,139 +0,0 @@ -// StatusDialog.cpp : implementation file -// - -#include "stdafx.h" -#include "dxwndhost.h" -#include "PaletteDialog.h" -#include "bmpext.h" - -// CPaletteDialog dialog - -IMPLEMENT_DYNAMIC(CPaletteDialog, CDialog) - -CPaletteDialog::CPaletteDialog(CWnd* pParent /*=NULL*/) - : CDialog(CPaletteDialog::IDD, pParent) -{ -} - -CPaletteDialog::~CPaletteDialog() -{ -} - -void CPaletteDialog::DoDataExchange(CDataExchange* pDX) -{ - CDialog::DoDataExchange(pDX); -} - - -BEGIN_MESSAGE_MAP(CPaletteDialog, CDialog) - ON_WM_TIMER() -END_MESSAGE_MAP() - -#define IDPaletteTIMER 2 - -// CPaletteDialog message handlers - -#if 0 -void CPaletteDialog::OnTimer(UINT_PTR nIDEvent) -{ - DXWNDSTATUS DxWndStatus; - int DxStatus; - TARGETMAP *Target; - CBitmap *cPal, *cMiniPal; - extern PRIVATEMAP *pTitles; - extern TARGETMAP *pTargets; - RECT Rect; - int h, w; - //CBitmap cMiniPal; - //cMiniPal.CreateCompatibleBitmap(this->GetDC(), 16, 16); - - CWnd *Pix; - - DxStatus=GetHookStatus(&DxWndStatus); - this->GetDC()->GetWindow()->GetWindowRect(&Rect); - h=Rect.bottom - Rect.top; - w=Rect.right - Rect.left; - cPal=(CBitmap *)this->GetDlgItem(IDC_PALETTECOLORS); - Pix=(CWnd *)this->GetDlgItem(IDC_PALETTEMAP); - - if(DxStatus==DXW_RUNNING){ - for(int row=0; row<16; row++) - for(int col=0; col<16; col++){ - COLORREF color; - PALETTEENTRY *pe = &DxWndStatus.Palette[16*row+col]; - //color=pe->peRed | (pe->peGreen << 8) | (pe->peBlue << 16); - color=RGB(pe->peRed, pe->peGreen, pe->peBlue); - - //Pix->GetDC()->SetPixel(row, col, color); - //this->GetDC()->StretchBlt(0, 0, w, h, Pix->GetDC(), 0, 0, 16, 16, SRCCOPY); - - this->GetDC()->SetPixel(row, col, color); - } - - } - else - this->GetDC()->StretchBlt(0, 0, w, h, NULL, 0, 0, 0, 0, WHITENESS); -} -#else -void CPaletteDialog::OnTimer(UINT_PTR nIDEvent) -{ - DXWNDSTATUS DxWndStatus; - int DxStatus; - extern PRIVATEMAP *pTitles; - extern TARGETMAP *pTargets; - RECT Rect; - int h, w; - - CBitmap cBmp; - CBitmap* pBitmap; - CDC cMemDC; - cMemDC.CreateCompatibleDC(this->GetDC()); // Create the memory DC. - - CBitmap* pOld = cMemDC.SelectObject(&cBmp); - pBitmap = cMemDC.SelectObject(pOld); - - DxStatus=GetHookStatus(&DxWndStatus); - this->GetDC()->GetWindow()->GetWindowRect(&Rect); - h=Rect.bottom - Rect.top; - w=Rect.right - Rect.left; - - CDib dib; - dib.ReadFromResource(IDB_PALETTE); - if(DxStatus==DXW_RUNNING){ - for(int row=0; rowpeBlue; - rgbq.rgbGreen=pe->peGreen; - rgbq.rgbRed=pe->peRed; - rgbq.rgbReserved=0; - dib.SetPixel(col, row, rgbq); - } - } - } - dib.Draw(this->GetDC(), CRect(0, 0, w, h), CRect(0, 0, 16, 16)); -} -#endif - -BOOL CPaletteDialog::OnInitDialog() -{ - CDialog::OnInitDialog(); - - SetTimer(IDPaletteTIMER, 1000, NULL); - - // TODO: Add extra initialization here - - return TRUE; // return TRUE unless you set the focus to a control - // EXCEPTION: OCX Property Pages should return FALSE -} - -void CPaletteDialog::OnOK() -{ - // TODO: Add your specialized code here and/or call the base class - - KillTimer(IDPaletteTIMER); - // stop timer - - CDialog::OnOK(); -} diff --git a/host/Resource.h b/host/Resource.h index 86c9a3b..8b0f5bf 100644 --- a/host/Resource.h +++ b/host/Resource.h @@ -67,7 +67,6 @@ #define IDC_MAXX 1020 #define IDC_MAXY 1021 #define IDC_MAXFPS 1022 -#define IDC_MODULE 1023 #define IDC_OPENGLLIB 1024 #define IDC_AUTOREFRESH 1025 #define IDC_FIXWINFRAME 1026 @@ -188,6 +187,8 @@ #define IDC_NOGDIBLT 1141 #define IDC_NOPIXELFORMAT 1142 #define IDC_NOALPHACHANNEL 1143 +#define IDC_SUPPRESSCHILD 1144 +#define IDC_FIXREFCOUNTER 1145 #define ID_MODIFY 32771 #define ID_DELETE 32772 #define ID_ADD 32773 diff --git a/host/StatusDialog.cpp b/host/StatusDialog.cpp index 2339e0e..d194c11 100644 --- a/host/StatusDialog.cpp +++ b/host/StatusDialog.cpp @@ -46,8 +46,6 @@ void CStatusDialog::OnTimer(UINT_PTR nIDEvent) extern TARGETMAP *pTargets; TARGETMAP *Target; extern char *GetTSCaption(int); - int iPixelFormat; - PIXELFORMATDESCRIPTOR pfd; CDialog::OnTimer(nIDEvent); GetDllVersion(DllVersion); @@ -59,33 +57,21 @@ void CStatusDialog::OnTimer(UINT_PTR nIDEvent) default: IconId=IDI_DXIDLE; Status="???"; break; } - // get the current pixel format index - //HDC myDC = this->GetDC()->m_hDC; - //iPixelFormat = GetPixelFormat(myDC); - iPixelFormat = 1; - HDC myDC = ::GetDC(::GetForegroundWindow()); - //iPixelFormat = ::GetPixelFormat(myDC); - - // obtain a detailed description of that pixel format - memset((void *)&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR)); - pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); - DescribePixelFormat(myDC, iPixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &pfd); - sprintf_s(sMsg, 1024, "DxWnd %s\n" - "PixelFormat=%d DEPTH=%d RGBA=(%d,%d,%d,%d)\n" "Hook status: %s", - DllVersion, iPixelFormat, pfd.cColorBits, pfd.cRedBits, pfd.cGreenBits, pfd.cBlueBits, pfd.cAlphaBits, Status); + DllVersion, Status); if(DxStatus==DXW_RUNNING){ Target=&pTargets[DxWndStatus.TaskIdx]; sprintf_s(sMsg2, 1024, + "\nTask=%s\n" + "Screen = (%dx%d) Color BPP=%d\n" "FullScreen = %s\nDX version = %d\n" "Logging = %s\n" "Cursor = (%d,%d)", - DllVersion, Status, pTitles[DxWndStatus.TaskIdx].title, DxWndStatus.Width, DxWndStatus.Height, DxWndStatus.ColorDepth, DxWndStatus.IsFullScreen ? "Yes":"No", DxWndStatus.DXVersion, diff --git a/host/TabDirectX.cpp b/host/TabDirectX.cpp index 2ec17f1..e89c020 100644 --- a/host/TabDirectX.cpp +++ b/host/TabDirectX.cpp @@ -42,6 +42,7 @@ void CTabDirectX::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_COLORFIX, cTarget->m_ColorFix); DDX_Check(pDX, IDC_NOPIXELFORMAT, cTarget->m_NoPixelFormat); DDX_Check(pDX, IDC_NOALPHACHANNEL, cTarget->m_NoAlphaChannel); + DDX_Check(pDX, IDC_FIXREFCOUNTER, cTarget->m_FixRefCounter); //DDX_Check(pDX, IDC_SAVECAPS, cTarget->m_SaveCaps); // DirectInput DDX_Check(pDX, IDC_HOOKDI, cTarget->m_HookDI); diff --git a/host/TabProgram.cpp b/host/TabProgram.cpp index a58b0d3..1df3503 100644 --- a/host/TabProgram.cpp +++ b/host/TabProgram.cpp @@ -29,7 +29,6 @@ void CTabProgram::DoDataExchange(CDataExchange* pDX) DDX_Radio(pDX, IDC_COORDINATES, cTarget->m_Coordinates); DDX_Control(pDX, IDC_FILE, cTarget->m_File); DDX_Text(pDX, IDC_FILE, cTarget->m_FilePath); - DDX_Text(pDX, IDC_MODULE, cTarget->m_Module); DDX_Text(pDX, IDC_TITLE, cTarget->m_Title); DDX_Check(pDX, IDC_UNNOTIFY, cTarget->m_UnNotify); DDX_Check(pDX, IDC_WINDOWIZE, cTarget->m_Windowize); @@ -45,6 +44,7 @@ void CTabProgram::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_CLIENTREMAPPING, cTarget->m_ClientRemapping); DDX_Check(pDX, IDC_SAVELOAD, cTarget->m_SaveLoad); DDX_Check(pDX, IDC_HANDLEALTF4, cTarget->m_HandleAltF4); + DDX_Check(pDX, IDC_KEEPASPECTRATIO, cTarget->m_KeepAspectRatio); DDX_Text(pDX, IDC_POSX, cTarget->m_PosX); DDX_Text(pDX, IDC_POSY, cTarget->m_PosY); DDX_Text(pDX, IDC_SIZX, cTarget->m_SizX); diff --git a/host/TabWindow.cpp b/host/TabWindow.cpp index 630fa58..0bf1bca 100644 --- a/host/TabWindow.cpp +++ b/host/TabWindow.cpp @@ -34,7 +34,6 @@ void CTabWindow::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_LOCKWINSTYLE, cTarget->m_LockWinStyle); DDX_Check(pDX, IDC_FIXPARENTWIN, cTarget->m_FixParentWin); DDX_Check(pDX, IDC_MODALSTYLE, cTarget->m_ModalStyle); - DDX_Check(pDX, IDC_KEEPASPECTRATIO, cTarget->m_KeepAspectRatio); DDX_Check(pDX, IDC_FORCEWINRESIZE, cTarget->m_ForceWinResize); DDX_Check(pDX, IDC_HIDEMULTIMONITOR, cTarget->m_HideMultiMonitor); DDX_Check(pDX, IDC_WALLPAPERMODE, cTarget->m_WallpaperMode); @@ -42,6 +41,7 @@ void CTabWindow::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_REFRESHONRESIZE, cTarget->m_RefreshOnResize); DDX_Check(pDX, IDC_FIXD3DFRAME, cTarget->m_FixD3DFrame); DDX_Check(pDX, IDC_NOWINDOWMOVE, cTarget->m_NoWindowMove); + DDX_Check(pDX, IDC_SUPPRESSCHILD, cTarget->m_SuppressChild); } BOOL CTabWindow::OnInitDialog() diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 856ee05..77c88fb 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -42,6 +42,8 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_ColorFix = FALSE; m_NoPixelFormat = FALSE; m_NoAlphaChannel = FALSE; + m_FixRefCounter = TRUE; + m_SuppressChild = FALSE; m_LockSysColors = FALSE; m_ForceYUVtoRGB = FALSE; m_ForceRGBtoYUV = FALSE; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index 29d05f9..c61e7ad 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -122,6 +122,8 @@ public: BOOL m_ColorFix; BOOL m_NoPixelFormat; BOOL m_NoAlphaChannel; + BOOL m_FixRefCounter; + BOOL m_SuppressChild; BOOL m_LockSysColors; BOOL m_SaveCaps; BOOL m_SingleProcAffinity; diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index f59b6821d4c56c5018caeae90abd03f99e253b3a..4682a05cf0a0b46500d81a5ec3262bfe2f5ce25f 100644 GIT binary patch delta 3794 zcmZWrYj9LW7CwEGOr9iIlE=)%0SYvrsF_DH3E_1!Gs(w10G^ZFgtyY*S#`=tlSQ==^DoOKr`Cwq}PF_dJoyG7l^aBsFM3PoUE8 z_mzXS(B^;&0H52{tky=fkf$Q#33~-z1eFr6@YP3sfr^k??Gbn}cqQ)jxjo*ft2PwY zLV|FD4<9j@l-~g!Xv<|)*lfsG{D9ZmvJ+ zPbj2?!W78vfS@Fasq+LP)oQ)3+BZ?mZZCow>@}G3LQv$>D#%J?uQHtUyggObh{JvoS3LI95O4t|hMIz!^95$#&>qawczt}DTc;=pg{mmXp%tKH&IuVz@&aaSCm3CVE4vc^JIxvQ%clI zPcWppC_s@FrceTh&d4!P#|}^8!W1)`id$2RBd5s$YB=l(MTE8(rb|dHqNF?+6rdAk z;Hi{sWhUT?t&- znM{kNq^|^gdVM)$ppY5ZGSK6?f)q~#h{O5Uq!Rq{wssFFfh1vp_#UiRu=*h;rgP&QbD zW$C8J*Gi^Bt)lu2g?(B;unt%!ahFzIuIc4dQUvQMLF=9zR8N9p*dPVfYN)E*?-R=@ zaYCB}{l2iQxsnoS{{<402wf>`lwd?H52^u=pTN>W*o4>9vy~3YSm*t|%~BDLsG*44 zQ(jvsG8OJZSn%PUZV?b`+%fA}zr+bJlAj%QE zf*%gZ$$3?hVYSZVQbm0b2fOgf0L!4)eifd!)M~Xs7g{pSY&VY1G#Ou)G~Fs8PbKX~ zhz_UKS_FG=$o9OvHze!!g~c)Ps{d8{SF`erf01OkHdH}3Yg7$UeOv8zh@oYmY0W{&ssYvC5b?R_gp1|U&3s4_l=Ese zTqUq#cwb_A`GmcqYOQuB9F8kRDbo2CUozm}Z5i7ZeU3>NiyHRCy`F}BaqrN?A9Qa)yg#zh8}~Lhj){BSjUUCm6HO1tlu75= z0P(J+BTA`*-d<#BgVPV?!lkwKn8*zUT zCQd&d_t)dO>HD!gBMbM<2;HyG7=O{qMK6DTW?zVxv3%yka+tE4;m{@v?w#2fkMlMf zXWfbWAK;_2;*Y_qv1(o)9>C6iU&D{*Jro}s#I*Sj#{C-f_W3xzH66FlH%kUr zQSY<99*dyT+Bc>aC-nPuxVqnu#y)60Vqn(TlBHiKvh%T;XFg1cjcB`@$TBcL%@`ZM z`PEds@%)N1VD!(_znuQRpg?Eu(^)ETx?WvcZ6KoGQ&etq@az~vIsiC;TiTV!V#_~Y znZeHC>~~EPw&<1_jPa1j-n_QhxJOg6WV2Mr`jcNGO28xUbuo3Lwy-kb|BJ1<9vi zFl0bx?5PXLSPdp$jIt%zOl=b$zF5g-WADW>%68eM$BCVL$xit0OD^WYZ>e2^1>cl0 zPi*Qp1&pMf-&Q5BgO!j54Sb5ivhl{Z!`V8_y*!@Y4$;eDYTvo+!H%CY?n|ay%fia( zk;QK<1aa(*p)7`TZx_X`UtX-RIXL~h$JwJe^k2@{C*K`YSP(aT-^q^Q`0ul0BYv?5qa+RD!0;j6=_{aSB(^>$d#u?(>Kcy zm`49a^m(_8{6+NXHiPU`Xr+&!`LLM!ivVJ~|8p~mZH&F}P`)gx|D*GZyE5jI|jBK_w*VcnF_OLt`?eS2rQs@trUMcJVk#o zlbCY~%`}_v`5TNsA2$BX3OZOOSKE{Vg!U8Nt77QwArU zr^M{yw*>MouW45v;G^4>9Ck(ccBSMCQQi6c4T073qwUIIc95SXqwM+$17DevW>JFL zxN##P8E5dsX;acCgw*o}LYSMc5X6;p*mcg7bdFN*#{WY|bacKpOA62#8)6`M#g<}QClbYJI3smreOv%>tuZwYge8#|Q22|Lpn z|7RLA8ulsxg&BNehhj;{%VK-h;`gUBxk+qjqC6L$C^ZrMUHuJEy2NS=6_Pol0erkk%8 z*4x9o1pPTbPBg8iTbMKat`JW)b4w?QT1N44Wa&AYI*HxSSCLVcM|hWDCrsxj1p6-U z7Vv^;{GNc_>$&AwvUz*?II{G-P0xx4=;5mc{8A$C67XJrT)-nn@e2ZOaq)Y?rYz-_ ztz_$$@^Qi@F5{DgoxF^%CQB)OZ7U7)uHYvGy!dH;LD-$E_&s6$tGQ(x$xiaI+vtf; W@+LA$%X+?=(1by43UA(^82<(A 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 diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index 291ca61..bbeb139 100644 --- a/host/dxwndhost.rc +++ b/host/dxwndhost.rc @@ -244,13 +244,11 @@ IDD_TAB_PROGRAM DIALOGEX 0, 0, 300, 240 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - EDITTEXT IDC_TITLE,7,22,162,14,ES_AUTOHSCROLL - LTEXT "Name:",IDC_STATIC,7,9,77,9 - EDITTEXT IDC_FILE,7,54,162,14,ES_AUTOHSCROLL - EDITTEXT IDC_MODULE,188,23,105,14,ES_AUTOHSCROLL | NOT WS_VISIBLE - LTEXT "Additional Hooked Modules:",IDC_STATIC,168,7,125,9,NOT WS_VISIBLE - LTEXT "Path:",IDC_STATIC,7,42,77,9 - PUSHBUTTON "...",IDC_OPEN,176,53,13,16 + EDITTEXT IDC_TITLE,39,13,162,14,ES_AUTOHSCROLL + LTEXT "Name:",IDC_STATIC,11,15,25,9 + EDITTEXT IDC_FILE,39,31,162,14,ES_AUTOHSCROLL + LTEXT "Path:",IDC_STATIC,11,33,22,9 + PUSHBUTTON "...",IDC_OPEN,207,31,12,14 LTEXT "Window initial position && size",IDC_STATIC,18,198,115,9 LTEXT "X",IDC_STATIC,18,214,9,9 LTEXT "Y",IDC_STATIC,49,214,9,9 @@ -260,25 +258,27 @@ BEGIN EDITTEXT IDC_POSY,55,210,19,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT EDITTEXT IDC_SIZX,85,210,19,14,ES_AUTOHSCROLL,WS_EX_RIGHT EDITTEXT IDC_SIZY,113,210,19,14,ES_AUTOHSCROLL,WS_EX_RIGHT - CONTROL "Do not notify on task switch",IDC_UNNOTIFY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,102,124,10 - CONTROL "Optimize CPU (DirectX1 - 7)",IDC_SAVELOAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,138,109,10 - CONTROL "Intercept Alt-F4 key",IDC_HANDLEALTF4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,114,109,10 - CONTROL "Run in Window",IDC_WINDOWIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,126,124,10 - GROUPBOX "Generic",IDC_STATIC,7,77,286,106 - CONTROL "No banner",IDC_NOBANNER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,102,108,10 - CONTROL "use DLL Injection",IDC_STARTDEBUG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,114,100,10 - CONTROL "Remap Client Rect",IDC_CLIENTREMAPPING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,90,115,10 - CONTROL "Hook all DLLs",IDC_HOOKDLLS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,138,124,10 - CONTROL "Hook enabled",IDC_HOOKENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,90,124,10 + CONTROL "Do not notify on task switch",IDC_UNNOTIFY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,81,124,10 + CONTROL "Optimize CPU (DirectX1 - 7)",IDC_SAVELOAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,117,109,10 + CONTROL "Intercept Alt-F4 key",IDC_HANDLEALTF4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,93,109,10 + CONTROL "Run in Window",IDC_WINDOWIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,105,124,10 + GROUPBOX "Generic",IDC_STATIC,7,56,286,106 + CONTROL "No banner",IDC_NOBANNER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,81,108,10 + CONTROL "use DLL Injection",IDC_STARTDEBUG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,93,100,10 + CONTROL "Remap Client Rect",IDC_CLIENTREMAPPING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,69,115,10 + CONTROL "Hook all DLLs",IDC_HOOKDLLS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,117,124,10 + CONTROL "Hook enabled",IDC_HOOKENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,69,124,10 CONTROL "X,Y coordinates",IDC_COORDINATES,"Button",BS_AUTORADIOBUTTON | WS_GROUP,170,190,95,10 CONTROL "Desktop center",IDC_DESKTOPCENTER,"Button",BS_AUTORADIOBUTTON,170,200,95,10 CONTROL "Desktop work area",IDC_DESKTOPWORKAREA,"Button",BS_AUTORADIOBUTTON,170,210,95,10 CONTROL "Desktop",IDC_DESKTOPFULL,"Button",BS_AUTORADIOBUTTON,170,220,95,10 - CONTROL "Hook child WindowProc",IDC_HOOKCHILDWIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,126,104,10 - CONTROL "Emulate Registry",IDC_EMULATEREGISTRY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,150,124,10 - CONTROL "Fullscreen only",IDC_FULLSCREENONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,150,114,10 - CONTROL "Filter offending messages",IDC_FILTERMESSAGES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,162,114,10 - CONTROL "Peek all messages in queue",IDC_PEEKALLMESSAGES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,162,114,10 + CONTROL "Hook child WindowProc",IDC_HOOKCHILDWIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,105,104,10 + CONTROL "Emulate Registry",IDC_EMULATEREGISTRY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,129,124,10 + CONTROL "Fullscreen only",IDC_FULLSCREENONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,129,114,10 + CONTROL "Filter offending messages",IDC_FILTERMESSAGES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,141,114,10 + CONTROL "Peek all messages in queue",IDC_PEEKALLMESSAGES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,141,114,10 + GROUPBOX "Position",IDC_STATIC,7,168,286,66 + CONTROL "Keep aspect ratio",IDC_KEEPASPECTRATIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,179,115,10 END IDD_TAB_LOG DIALOGEX 0, 0, 300, 240 @@ -314,9 +314,9 @@ BEGIN CONTROL "Locked Surface",IDC_LOCKEDSURFACE,"Button",BS_AUTORADIOBUTTON,14,144,67,12 CONTROL "Primary Surface",IDC_EMULATESURFACE,"Button",BS_AUTORADIOBUTTON,14,156,77,12 GROUPBOX "DirectX Version Hook",IDC_STATIC,6,3,98,103,WS_GROUP - GROUPBOX "Emulation",IDC_STATIC,7,109,98,66,WS_GROUP + GROUPBOX "Emulation",IDC_STATIC,7,109,98,80,WS_GROUP CONTROL "Auto Primary Surface Refresh",IDC_AUTOREFRESH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,16,126,9 - GROUPBOX "DirectDraw Surface handling",IDC_STATIC,112,3,181,173 + GROUPBOX "DirectDraw Surface handling",IDC_STATIC,112,3,181,186 CONTROL "switch VIDEO to SYSTEM on fail",IDC_VIDEOTOSYSTEMMEM, "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,118,28,126,9 CONTROL "Suppress DX common errors",IDC_SUPPRESSDXERRORS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,40,127,10 @@ -324,22 +324,22 @@ BEGIN CONTROL "Blit from BackBuffer",IDC_BLITFROMBACKBUFFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,64,119,10 CONTROL "Suppress clipping",IDC_SUPPRESSCLIPPING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,76,119,10 CONTROL "Palette update don't Blit",IDC_NOPALETTEUPDATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,88,119,10 - LTEXT "DirectInput initial coord. and X,Y range",IDC_STATIC,19,197,146,9 - LTEXT "X",IDC_STATIC,13,212,9,9 - LTEXT "Y",IDC_STATIC,40,212,9,9 - LTEXT "(",IDC_STATIC,69,212,9,9 - LTEXT ",",IDC_STATIC,92,212,9,9 - LTEXT ")-(",IDC_STATIC,114,212,11,9 - LTEXT ",",IDC_STATIC,144,212,9,9 - LTEXT ")",IDC_STATIC,166,212,9,9 - EDITTEXT IDC_INITX,20,209,17,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT - EDITTEXT IDC_INITY,46,209,17,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT - EDITTEXT IDC_MINX,72,209,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT - EDITTEXT IDC_MINY,97,209,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT - EDITTEXT IDC_MAXX,124,209,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT - EDITTEXT IDC_MAXY,148,209,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT - CONTROL "DirectInput Hooking",IDC_HOOKDI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,183,210,97,12 - GROUPBOX "DirectInput",IDC_STATIC,7,176,286,57 + LTEXT "DirectInput initial coord. and X,Y range",IDC_STATIC,19,201,146,9 + LTEXT "X",IDC_STATIC,13,216,9,9 + LTEXT "Y",IDC_STATIC,40,216,9,9 + LTEXT "(",IDC_STATIC,69,216,9,9 + LTEXT ",",IDC_STATIC,92,216,9,9 + LTEXT ")-(",IDC_STATIC,114,216,11,9 + LTEXT ",",IDC_STATIC,144,216,9,9 + LTEXT ")",IDC_STATIC,166,216,9,9 + EDITTEXT IDC_INITX,20,213,17,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT + EDITTEXT IDC_INITY,46,213,17,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT + EDITTEXT IDC_MINX,72,213,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT + EDITTEXT IDC_MINY,97,213,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT + EDITTEXT IDC_MAXX,124,213,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT + EDITTEXT IDC_MAXY,148,213,17,14,ES_AUTOHSCROLL,WS_EX_RIGHT + CONTROL "DirectInput Hooking",IDC_HOOKDI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,183,214,97,12 + GROUPBOX "DirectInput",IDC_STATIC,7,189,286,44 CONTROL "Set AERO compatible mode",IDC_SETCOMPATIBILITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,100,109,12 CONTROL "Disable HAL support",IDC_DISABLEHAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,112,109,12 CONTROL "Forces HEL ",IDC_FORCESHEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,124,109,12 @@ -347,6 +347,7 @@ BEGIN CONTROL "Don't fix the Pixel Format",IDC_NOPIXELFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,148,109,12 CONTROL "by default set no ALPHACHANNEL",IDC_NOALPHACHANNEL, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,160,123,12 + CONTROL "Fix ddraw ref counter",IDC_FIXREFCOUNTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,172,123,12 END IDD_TAB_MOUSE DIALOGEX 0, 0, 300, 240 @@ -396,12 +397,13 @@ BEGIN CONTROL "Lock win style",IDC_LOCKWINSTYLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,52,115,10 CONTROL "Fix Parent Window",IDC_FIXPARENTWIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,88,115,10 CONTROL "Modal Style",IDC_MODALSTYLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,100,115,10 - CONTROL "Keep aspect ratio",IDC_KEEPASPECTRATIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,112,115,10 - CONTROL "Force win resize",IDC_FORCEWINRESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,124,115,10 - CONTROL "Hide multi-monitor config.",IDC_HIDEMULTIMONITOR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,136,115,10 - CONTROL "Wallpaper mode",IDC_WALLPAPERMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,148,115,10 - CONTROL "Fix Windows Frame in D3D",IDC_FIXD3DFRAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,160,115,10 + CONTROL "Force win resize",IDC_FORCEWINRESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,112,115,10 + CONTROL "Hide multi-monitor config.",IDC_HIDEMULTIMONITOR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,124,115,10 + CONTROL "Wallpaper mode",IDC_WALLPAPERMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,136,115,10 + CONTROL "Fix Windows Frame in D3D",IDC_FIXD3DFRAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,148,115,10 CONTROL "Don't move D3D rendering window",IDC_NOWINDOWMOVE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,160,125,10 + CONTROL "Suppress child process creation",IDC_SUPPRESSCHILD, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,172,125,10 END diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index cd0d60f7bb23d76555a0aaa8ac26e407ecbd96c3..6b8a214a2a1aa332ec7600b48531b992f4aee886 100644 GIT binary patch delta 19170 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 delta 11982 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 NB*_QqnNFr<{XadML_+`o diff --git a/host/dxwndhostView.cpp b/host/dxwndhostView.cpp index f231e31..524630c 100644 --- a/host/dxwndhostView.cpp +++ b/host/dxwndhostView.cpp @@ -162,6 +162,8 @@ static void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_ColorFix) t->flags3 |= COLORFIX; if(dlg->m_NoPixelFormat) t->flags3 |= NOPIXELFORMAT; if(dlg->m_NoAlphaChannel) t->flags4 |= NOALPHACHANNEL; + if(dlg->m_FixRefCounter) t->flags4 |= FIXREFCOUNTER; + if(dlg->m_SuppressChild) t->flags4 |= SUPPRESSCHILD; if(dlg->m_LockSysColors) t->flags3 |= LOCKSYSCOLORS; if(dlg->m_ForceYUVtoRGB) t->flags3 |= YUV2RGB; if(dlg->m_ForceRGBtoYUV) t->flags3 |= RGB2YUV; @@ -294,6 +296,8 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_ColorFix = t->flags3 & COLORFIX ? 1 : 0; dlg->m_NoPixelFormat = t->flags3 & NOPIXELFORMAT ? 1 : 0; dlg->m_NoAlphaChannel = t->flags4 & NOALPHACHANNEL ? 1 : 0; + dlg->m_FixRefCounter = t->flags4 & FIXREFCOUNTER ? 1 : 0; + dlg->m_SuppressChild = t->flags4 & SUPPRESSCHILD ? 1 : 0; dlg->m_LockSysColors = t->flags3 & LOCKSYSCOLORS ? 1 : 0; dlg->m_ForceRGBtoYUV = t->flags3 & RGB2YUV ? 1 : 0; dlg->m_ForceYUVtoRGB = t->flags3 & YUV2RGB ? 1 : 0;