diff --git a/Include/dxwnd.h b/Include/dxwnd.h index 0942141..2fa9e9b 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -75,6 +75,7 @@ #define LIMITRESOURCES 0x10000000 // Limit resources to fit an old program's expectations #define STARTDEBUG 0x20000000 // Start in DEBUG mode #define SETCOMPATIBILITY 0x40000000 // invoke ddraw SetAppCompatData to set aero compatibility mode +#define WIREFRAME 0x80000000 // invoke ddraw SetAppCompatData to set aero compatibility mode // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general diff --git a/build/dxwnd.dll b/build/dxwnd.dll index 0bc988e..e437f2e 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f64d856c6fd27bd8942e38438cdf956305709c9f842068013aad3fc9d2bf287b -size 302592 +oid sha256:ccce7b58149566392637a1d72f587445ede44d768a6b88c4e28202b87ad5040c +size 304640 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index c42dc6c..963983c 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fba4604764b38eb0dba2a2f669d2dfcb96d179138a6a6214ad3513b5d6eeba2 +oid sha256:95dbceb4c4ac4c61b5c7f8e3b3a128136c352da735829e51ae0bb713d37458e9 size 501248 diff --git a/build/dxwnd.ini b/build/dxwnd.ini new file mode 100644 index 0000000..ccdd1bf --- /dev/null +++ b/build/dxwnd.ini @@ -0,0 +1,4422 @@ +[target] +title0=1602 A.D. +path0=C:\Games\1602 A.D\1602.exe +module0= +ver0=0 +flag0=679608354 +flagg0=0 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +title1=7th Legion +path1=D:\Games\7th_Legion\LEGION.EXE +module1= +ver1=0 +flag1=402669607 +flagg1=539056144 +tflag1=12 +initx1=0 +inity1=0 +minx1=0 +miny1=0 +maxx1=0 +maxy1=0 +posx1=50 +posy1=50 +sizx1=800 +sizy1=600 +title2=A10 Cuba +path2=D:\Games\A10\A10Cuba.exe +module2= +ver2=0 +flag2=34 +flagg2=0 +tflag2=0 +initx2=0 +inity2=0 +minx2=0 +miny2=0 +maxx2=0 +maxy2=0 +posx2=50 +posy2=50 +sizx2=800 +sizy2=600 +title3=Achtung Spitfire +path3=D:\Games\Achtung Spitfire\ASP95.EXE +module3= +ver3=0 +flag3=536870946 +flagg3=0 +tflag3=70 +initx3=0 +inity3=0 +minx3=0 +miny3=0 +maxx3=0 +maxy3=0 +posx3=50 +posy3=50 +sizx3=800 +sizy3=600 +title4=Actua Soccer 3 +path4=D:\Games\ActuaSoccer3\Soccer3.exe +module4= +ver4=0 +flag4=671088674 +flagg4=256 +tflag4=263 +initx4=0 +inity4=0 +minx4=0 +miny4=0 +maxx4=0 +maxy4=0 +posx4=50 +posy4=50 +sizx4=800 +sizy4=600 +title5=AfterLife +path5=d:\Games\ALIFE\ALIFE.EXE +module5= +ver5=1 +flag5=134217762 +flagg5=160 +tflag5=2 +initx5=0 +inity5=0 +minx5=0 +miny5=0 +maxx5=0 +maxy5=0 +posx5=50 +posy5=50 +sizx5=800 +sizy5=600 +title6=Age of Empires +path6=D:\Games\Age of Empires\EMPIRES.EXE +module6= +ver6=0 +flag6=402655267 +flagg6=536940560 +tflag6=3 +initx6=0 +inity6=0 +minx6=0 +miny6=0 +maxx6=0 +maxy6=0 +posx6=50 +posy6=50 +sizx6=800 +sizy6=600 +title7=Age of Empires 2 +path7=D:\Games\Age of Empires 2\empires2.exe +module7= +ver7=0 +flag7=134217762 +flagg7=20480 +tflag7=3 +initx7=0 +inity7=0 +minx7=0 +miny7=0 +maxx7=0 +maxy7=0 +posx7=50 +posy7=50 +sizx7=800 +sizy7=600 +title8=Age of Empires the Rise of Rome +path8=D:\Games\Age of Empires\EMPIRESX.EXE +module8= +ver8=0 +flag8=134217762 +flagg8=81920 +tflag8=0 +initx8=0 +inity8=0 +minx8=0 +miny8=0 +maxx8=0 +maxy8=0 +posx8=50 +posy8=50 +sizx8=800 +sizy8=600 +title9=Age of Wonders +path9=D:\Games\Age of Wonders\AoW.exe +module9=VideoP.dpl vcl30.dpl +ver9=0 +flag9=813826050 +flagg9=537919505 +tflag9=3 +initx9=0 +inity9=0 +minx9=0 +miny9=0 +maxx9=0 +maxy9=0 +posx9=50 +posy9=50 +sizx9=800 +sizy9=600 +title10=Airline Tycoon Evolution +path10=D:\Games\Airline.Tycoon.Evolution\AT.EXE +module10= +ver10=0 +flag10=402653219 +flagg10=5242880 +tflag10=279 +initx10=0 +inity10=0 +minx10=0 +miny10=0 +maxx10=0 +maxy10=0 +posx10=50 +posy10=50 +sizx10=800 +sizy10=600 +title11=Alien Cabal 95 +path11=D:\Games\Alien_cabal\ACabal95.exe +module11= +ver11=0 +flag11=71303200 +flagg11=0 +tflag11=3 +initx11=0 +inity11=0 +minx11=0 +miny11=0 +maxx11=0 +maxy11=0 +posx11=50 +posy11=50 +sizx11=800 +sizy11=600 +title12=Alien vs. Predator +path12=C:\Games\Alien vs Predator\AvP.exe +module12= +ver12=0 +flag12=8224 +flagg12=0 +tflag12=130 +initx12=0 +inity12=0 +minx12=0 +miny12=0 +maxx12=0 +maxy12=0 +posx12=50 +posy12=50 +sizx12=800 +sizy12=600 +title13=Aliens Nations Demo +path13=C:\Games\aademo\Bin\AA.exe +module13= +ver13=0 +flag13=134217762 +flagg13=0 +tflag13=0 +initx13=0 +inity13=0 +minx13=0 +miny13=0 +maxx13=0 +maxy13=0 +posx13=0 +posy13=0 +sizx13=800 +sizy13=600 +title14=America +path14=D:\Games\America\america.exe +module14= +ver14=0 +flag14=134234150 +flagg14=16 +tflag14=0 +initx14=0 +inity14=0 +minx14=0 +miny14=0 +maxx14=0 +maxy14=0 +posx14=50 +posy14=50 +sizx14=800 +sizy14=600 +title15=American McGee's Alice Demo +path15=D:\Games\American McGee's Alice Demo\alice.exe +module15= +ver15=10 +flag15=268435458 +flagg15=131072 +tflag15=0 +initx15=0 +inity15=0 +minx15=0 +miny15=0 +maxx15=0 +maxy15=0 +posx15=50 +posy15=50 +sizx15=800 +sizy15=600 +title16=Ancient Conquest +path16=D:\Games\Ancient Conquest\ANCIENT.EXE +module16= +ver16=0 +flag16=142606370 +flagg16=1048576 +tflag16=258 +initx16=0 +inity16=0 +minx16=0 +miny16=0 +maxx16=0 +maxy16=0 +posx16=50 +posy16=50 +sizx16=800 +sizy16=600 +title17=Ancient Evil +path17=C:\Games\Ancient Evil\RPG.EXE +module17=DDW16.DLL +ver17=1 +flag17=-2013249497 +flagg17=0 +tflag17=2 +initx17=0 +inity17=0 +minx17=0 +miny17=0 +maxx17=0 +maxy17=0 +posx17=50 +posy17=50 +sizx17=800 +sizy17=600 +title18=Ancient Evil Demo +path18=C:\Games\Ancient Evil Curse of the Snake Cult\aecsc-demo.exe +module18= +ver18=1 +flag18=134242336 +flagg18=0 +tflag18=0 +initx18=0 +inity18=0 +minx18=0 +miny18=0 +maxx18=0 +maxy18=0 +posx18=50 +posy18=50 +sizx18=800 +sizy18=600 +title19=Armymen +path19=C:\Games\armymen\Armymen.exe +module19= +ver19=0 +flag19=134218274 +flagg19=1 +tflag19=0 +initx19=0 +inity19=0 +minx19=0 +miny19=0 +maxx19=0 +maxy19=0 +posx19=50 +posy19=50 +sizx19=800 +sizy19=600 +title20=ArmyMen 2 +path20=C:\Games\army2\ArmyMen2.exe +module20= +ver20=0 +flag20=402653730 +flagg20=0 +tflag20=0 +initx20=0 +inity20=0 +minx20=0 +miny20=0 +maxx20=0 +maxy20=0 +posx20=50 +posy20=50 +sizx20=800 +sizy20=600 +title21=Atomic Bomberman +path21=C:\Games\Atomic Bomberman\BM95.EXE +module21= +ver21=0 +flag21=2 +flagg21=0 +tflag21=0 +initx21=0 +inity21=0 +minx21=0 +miny21=0 +maxx21=0 +maxy21=0 +posx21=50 +posy21=50 +sizx21=800 +sizy21=600 +title22=Axis & Allies Iron Blitz Edition +path22=C:\Games\Axis & Allies Iron Blitz Edition\Axis & Allies\AxisAllies.exe +module22= +ver22=0 +flag22=-2147483614 +flagg22=0 +tflag22=0 +initx22=0 +inity22=0 +minx22=0 +miny22=0 +maxx22=0 +maxy22=0 +posx22=50 +posy22=50 +sizx22=800 +sizy22=600 +title23=Baldies +path23=C:\Games\Baldies for Win95\baldies.exe +module23= +ver23=0 +flag23=537010210 +flagg23=0 +tflag23=0 +initx23=0 +inity23=0 +minx23=0 +miny23=0 +maxx23=0 +maxy23=0 +posx23=50 +posy23=50 +sizx23=800 +sizy23=600 +title24=Battle Arena Toshinden 2 +path24=D:\Games\Battle Arena Toshinden 2\T2.EXE +module24= +ver24=0 +flag24=134217761 +flagg24=134217808 +tflag24=3 +initx24=0 +inity24=0 +minx24=0 +miny24=0 +maxx24=0 +maxy24=0 +posx24=50 +posy24=50 +sizx24=800 +sizy24=600 +title25=Beasts & Bumpkins +path25=C:\Games\Beasts and Bumpkins\BEASTS.EXE +module25= +ver25=0 +flag25=2105890 +flagg25=0 +tflag25=2 +initx25=0 +inity25=0 +minx25=0 +miny25=0 +maxx25=0 +maxy25=0 +posx25=50 +posy25=50 +sizx25=800 +sizy25=600 +title26=Beats of Rage +path26=C:\Games\BOR\BeatsOfRage.exe +module26= +ver26=0 +flag26=537002018 +flagg26=0 +tflag26=0 +initx26=0 +inity26=0 +minx26=0 +miny26=0 +maxx26=0 +maxy26=0 +posx26=50 +posy26=50 +sizx26=800 +sizy26=600 +title27=Beyond Good & Evil Demo +path27=C:\Games\Beyond Good & Evil\BGE.exe +module27= +ver27=0 +flag27=0 +flagg27=0 +tflag27=0 +initx27=0 +inity27=0 +minx27=0 +miny27=0 +maxx27=0 +maxy27=0 +posx27=50 +posy27=50 +sizx27=800 +sizy27=600 +title28=Black Moon Lune Noire +path28=C:\Games\Black Moon\Lune noire\Engine.exe +module28= +ver28=0 +flag28=262179 +flagg28=0 +tflag28=0 +initx28=0 +inity28=0 +minx28=0 +miny28=0 +maxx28=0 +maxy28=0 +posx28=50 +posy28=50 +sizx28=800 +sizy28=600 +title29=Blood Omen Legacy of Kain +path29=C:\Games\Blood Omen\KAIN.EXE +module29= +ver29=0 +flag29=49190 +flagg29=0 +tflag29=0 +initx29=0 +inity29=0 +minx29=0 +miny29=0 +maxx29=0 +maxy29=0 +posx29=50 +posy29=50 +sizx29=800 +sizy29=600 +title30=Bonkheads +path30=C:\Games\Bonkheads\Bonkheads.exe +module30= +ver30=0 +flag30=262690 +flagg30=16 +tflag30=78 +initx30=0 +inity30=0 +minx30=0 +miny30=0 +maxx30=0 +maxy30=0 +posx30=50 +posy30=50 +sizx30=800 +sizy30=600 +title31=Bubble Bobble 2 +path31=C:\Games\bubble2\BOBO2.EXE +module31= +ver31=0 +flag31=34 +flagg31=0 +tflag31=0 +initx31=0 +inity31=0 +minx31=0 +miny31=0 +maxx31=0 +maxy31=0 +posx31=50 +posy31=50 +sizx31=800 +sizy31=600 +title32=Bug! +path32=C:\Games\Bug\BUG!.EXE +module32= +ver32=0 +flag32=134225954 +flagg32=32 +tflag32=2 +initx32=0 +inity32=0 +minx32=0 +miny32=0 +maxx32=0 +maxy32=0 +posx32=0 +posy32=0 +sizx32=800 +sizy32=600 +title33=Caesar III +path33=C:\Games\Caesar III\c3.exe +module33= +ver33=0 +flag33=-2147475422 +flagg33=0 +tflag33=0 +initx33=0 +inity33=0 +minx33=0 +miny33=0 +maxx33=0 +maxy33=0 +posx33=50 +posy33=50 +sizx33=800 +sizy33=600 +title34=Championship Manager 99-00 +path34=C:\Games\CM9900\cm9900.exe +module34= +ver34=0 +flag34=10306 +flagg34=0 +tflag34=0 +initx34=0 +inity34=0 +minx34=0 +miny34=0 +maxx34=0 +maxy34=0 +posx34=50 +posy34=50 +sizx34=800 +sizy34=600 +title35=Civilization Call to Power +path35=C:\Games\civctp\Civilization_Call_To_Power\ctp_program\ctp\civctp.exe +module35= +ver35=0 +flag35=545267746 +flagg35=0 +tflag35=0 +initx35=0 +inity35=0 +minx35=0 +miny35=0 +maxx35=0 +maxy35=0 +posx35=50 +posy35=50 +sizx35=800 +sizy35=600 +title36=Claw +path36=C:\Games\claw\clawexe.exe +module36= +ver36=0 +flag36=24610 +flagg36=0 +tflag36=0 +initx36=0 +inity36=0 +minx36=0 +miny36=0 +maxx36=0 +maxy36=0 +posx36=50 +posy36=50 +sizx36=800 +sizy36=600 +title37=Commando's Behind Enemy Lines Demo +path37=C:\Games\Commando's Behind Enemy Lines Demo\COMANDOS\Comandos.exe +module37= +ver37=0 +flag37=1744838944 +flagg37=0 +tflag37=64 +initx37=0 +inity37=0 +minx37=0 +miny37=0 +maxx37=0 +maxy37=0 +posx37=50 +posy37=50 +sizx37=800 +sizy37=600 +title38=Commandos II: Men of Courage +path38=C:\Games\Commandos II\comm2.exe +module38= +ver38=0 +flag38=-1207951008 +flagg38=0 +tflag38=0 +initx38=0 +inity38=0 +minx38=0 +miny38=0 +maxx38=0 +maxy38=0 +posx38=50 +posy38=50 +sizx38=800 +sizy38=600 +title39=Crazy Taxy +path39=C:\Games\Crazy_Taxi\Crazy Taxi PC Version\crazy_taxi_pc.exe +module39= +ver39=8 +flag39=536870945 +flagg39=0 +tflag39=0 +initx39=0 +inity39=0 +minx39=0 +miny39=0 +maxx39=0 +maxy39=0 +posx39=50 +posy39=50 +sizx39=800 +sizy39=600 +title40=Crush! Deluxe +path40=C:\Games\Crush! Deluxe\CRUSHD.EXE +module40= +ver40=0 +flag40=134492706 +flagg40=0 +tflag40=0 +initx40=0 +inity40=0 +minx40=0 +miny40=0 +maxx40=0 +maxy40=0 +posx40=50 +posy40=50 +sizx40=800 +sizy40=600 +title41=Cybermercs +path41=C:\Games\cybermercs\cybermercs.exe +module41= +ver41=0 +flag41=134234146 +flagg41=16 +tflag41=0 +initx41=0 +inity41=0 +minx41=0 +miny41=0 +maxx41=0 +maxy41=0 +posx41=50 +posy41=50 +sizx41=800 +sizy41=600 +title42=Daikatana +path42=D:\Games\Daikatana\daikatana.exe +module42= +ver42=10 +flag42=806486530 +flagg42=537002497 +tflag42=259 +initx42=0 +inity42=0 +minx42=0 +miny42=0 +maxx42=0 +maxy42=0 +posx42=50 +posy42=50 +sizx42=800 +sizy42=600 +title43=Darius Gaiden +path43=C:\Games\Darius_gaiden\DARIUS.EXE +module43= +ver43=0 +flag43=536870946 +flagg43=0 +tflag43=0 +initx43=0 +inity43=0 +minx43=0 +miny43=0 +maxx43=0 +maxy43=0 +posx43=50 +posy43=50 +sizx43=800 +sizy43=600 +title44=Dark Colony the Council Wars +path44=C:\Games\darkcolony_council\dc\DC16.EXE +module44= +ver44=0 +flag44=268435462 +flagg44=0 +tflag44=0 +initx44=0 +inity44=0 +minx44=0 +miny44=0 +maxx44=0 +maxy44=0 +posx44=50 +posy44=50 +sizx44=800 +sizy44=600 +title45=Darkstone +path45=C:\Games\darkstone\Darkstone.exe +module45= +ver45=0 +flag45=134234148 +flagg45=0 +tflag45=0 +initx45=0 +inity45=0 +minx45=0 +miny45=0 +maxx45=0 +maxy45=0 +posx45=50 +posy45=50 +sizx45=800 +sizy45=600 +title46=Dave Mirra Freestyle BMX Demo +path46=C:\Games\Dave Mirra Freestyle BMX\NgBMXDemo.exe +module46= +ver46=0 +flag46=8224 +flagg46=0 +tflag46=0 +initx46=0 +inity46=0 +minx46=0 +miny46=0 +maxx46=0 +maxy46=0 +posx46=50 +posy46=50 +sizx46=800 +sizy46=600 +title47=Daytona USA Deluxe +path47=C:\Games\Daytona USA Deluxe\DAYTONA USA Deluxe.exe +module47= +ver47=0 +flag47=402661410 +flagg47=0 +tflag47=0 +initx47=0 +inity47=0 +minx47=0 +miny47=0 +maxx47=0 +maxy47=0 +posx47=50 +posy47=50 +sizx47=800 +sizy47=600 +title48=Deadlock 2 +path48=C:\Games\deadlock2\DEADLOCK.EXE +module48= +ver48=0 +flag48=-2012995550 +flagg48=0 +tflag48=0 +initx48=0 +inity48=0 +minx48=0 +miny48=0 +maxx48=0 +maxy48=0 +posx48=50 +posy48=50 +sizx48=800 +sizy48=600 +title49=Deeper Dungeons 95 +path49=C:\Games\Keeper95\Deeper95.exe +module49= +ver49=0 +flag49=268460070 +flagg49=0 +tflag49=0 +initx49=0 +inity49=0 +minx49=0 +miny49=0 +maxx49=0 +maxy49=0 +posx49=50 +posy49=50 +sizx49=800 +sizy49=600 +title50=Delta Force +path50=C:\Games\Delta Force\Df.exe +module50= +ver50=0 +flag50=34 +flagg50=0 +tflag50=0 +initx50=0 +inity50=0 +minx50=0 +miny50=0 +maxx50=0 +maxy50=0 +posx50=50 +posy50=50 +sizx50=800 +sizy50=600 +title51=Dementia +path51=C:\Games\dementia\program\CRUX.EXE -h +module51= +ver51=0 +flag51=536887330 +flagg51=0 +tflag51=2 +initx51=0 +inity51=0 +minx51=0 +miny51=0 +maxx51=0 +maxy51=0 +posx51=50 +posy51=50 +sizx51=800 +sizy51=600 +title52=Dethkarz +path52=D:\Games\DethKarz\Dethkarz.exe +module52= +ver52=0 +flag52=0 +flagg52=0 +tflag52=0 +initx52=0 +inity52=0 +minx52=0 +miny52=0 +maxx52=0 +maxy52=0 +posx52=50 +posy52=50 +sizx52=800 +sizy52=600 +title53=Devil Inside +path53=C:\Games\Devil Inside\Devil.exe +module53= +ver53=0 +flag53=32 +flagg53=0 +tflag53=0 +initx53=0 +inity53=0 +minx53=0 +miny53=0 +maxx53=0 +maxy53=0 +posx53=50 +posy53=50 +sizx53=800 +sizy53=600 +title54=Diablo +path54=D:\Games\Diablo\Diablo.exe +module54= +ver54=1 +flag54=134234150 +flagg54=16 +tflag54=2 +initx54=0 +inity54=0 +minx54=0 +miny54=0 +maxx54=0 +maxy54=0 +posx54=50 +posy54=50 +sizx54=800 +sizy54=600 +title55=Dink Smallwood (BAD) +path55=C:\Games\Dink SmallWood\Dink.exe +module55= +ver55=0 +flag55=546 +flagg55=0 +tflag55=258 +initx55=0 +inity55=0 +minx55=0 +miny55=0 +maxx55=0 +maxy55=0 +posx55=50 +posy55=50 +sizx55=800 +sizy55=600 +title56=Doom 64 Absolution +path56=D:\Games\Doom 64\Bin\Absolution.exe +module56= +ver56=8 +flag56=0 +flagg56=86016 +tflag56=259 +initx56=0 +inity56=0 +minx56=0 +miny56=0 +maxx56=0 +maxy56=0 +posx56=50 +posy56=50 +sizx56=800 +sizy56=600 +title57=Drakan +path57=C:\Games\Drakan\drakan.exe +module57= +ver57=0 +flag57=536887328 +flagg57=0 +tflag57=0 +initx57=0 +inity57=0 +minx57=0 +miny57=0 +maxx57=0 +maxy57=0 +posx57=50 +posy57=50 +sizx57=800 +sizy57=600 +title58=Dream Aquarium +path58=D:\Program Files\Dream Aquarium\Dream_Aquarium.scr +module58= +ver58=9 +flag58=679477249 +flagg58=303104 +tflag58=256 +initx58=0 +inity58=0 +minx58=0 +miny58=0 +maxx58=0 +maxy58=0 +posx58=50 +posy58=50 +sizx58=800 +sizy58=600 +title59=Dungeon Keeper 2 GOG release +path59=D:\Games\Dungeon Keeper 2 GOG release\DKII.EXE +module59= +ver59=0 +flag59=134217762 +flagg59=4276224 +tflag59=6 +initx59=0 +inity59=0 +minx59=0 +miny59=0 +maxx59=0 +maxy59=0 +posx59=50 +posy59=50 +sizx59=800 +sizy59=600 +title60=Dungeon Keeper 95 +path60=D:\Games\Keeper95\KEEPER95.EXE +module60= +ver60=0 +flag60=24614 +flagg60=0 +tflag60=64 +initx60=0 +inity60=0 +minx60=0 +miny60=0 +maxx60=0 +maxy60=0 +posx60=50 +posy60=50 +sizx60=800 +sizy60=600 +title61=Dungeon Keeper II +path61=D:\Games\Dungeon Keeper 2\DKII.exe +module61= +ver61=0 +flag61=34 +flagg61=0 +tflag61=262 +initx61=0 +inity61=0 +minx61=0 +miny61=0 +maxx61=0 +maxy61=0 +posx61=150 +posy61=50 +sizx61=800 +sizy61=600 +title62=Emergency Fighters for life +path62=D:\Games\Emergency\EMERGY.EXE +module62= +ver62=0 +flag62=134545443 +flagg62=18 +tflag62=3 +initx62=0 +inity62=0 +minx62=0 +miny62=0 +maxx62=0 +maxy62=0 +posx62=50 +posy62=50 +sizx62=800 +sizy62=600 +title63=Enemy Infestation +path63=C:\Games\Enemy Infestation (1998)\Ei.exe +module63= +ver63=0 +flag63=38 +flagg63=0 +tflag63=0 +initx63=0 +inity63=0 +minx63=0 +miny63=0 +maxx63=0 +maxy63=0 +posx63=50 +posy63=50 +sizx63=800 +sizy63=600 +title64=Evil Genius +path64=D:\Games\Evil Genius\ReleaseExe\EvilGenius_Cracked.exe +module64= +ver64=9 +flag64=2053 +flagg64=80 +tflag64=0 +initx64=0 +inity64=0 +minx64=0 +miny64=0 +maxx64=0 +maxy64=0 +posx64=50 +posy64=50 +sizx64=800 +sizy64=600 +title65=Expendable +path65=C:\Games\eXpendable\go.exe -nocputest +module65= +ver65=0 +flag65=402653280 +flagg65=1 +tflag65=2 +initx65=0 +inity65=0 +minx65=0 +miny65=0 +maxx65=0 +maxy65=0 +posx65=50 +posy65=50 +sizx65=800 +sizy65=600 +title66=Fallen Heaven (BAD) +path66=C:\Games\falhaven\Exe\FALLEN.EXE +module66= +ver66=0 +flag66=679485962 +flagg66=32 +tflag66=0 +initx66=0 +inity66=0 +minx66=0 +miny66=0 +maxx66=0 +maxy66=0 +posx66=0 +posy66=0 +sizx66=800 +sizy66=600 +title67=Fallout +path67=D:\Games\Fallout\FALLOUTW.EXE +module67= +ver67=1 +flag67=134217734 +flagg67=16 +tflag67=0 +initx67=0 +inity67=0 +minx67=0 +miny67=0 +maxx67=0 +maxy67=0 +posx67=50 +posy67=50 +sizx67=800 +sizy67=600 +title68=FreakOut +path68=C:\Games\Freak Out - Extreme Freeride\FreakOut.exe +module68= +ver68=9 +flag68=0 +flagg68=0 +tflag68=2 +initx68=0 +inity68=0 +minx68=0 +miny68=0 +maxx68=0 +maxy68=0 +posx68=50 +posy68=50 +sizx68=800 +sizy68=600 +title69=Funtracks +path69=C:\Games\Funtracks\Fun_win.exe +module69= +ver69=1 +flag69=2 +flagg69=0 +tflag69=258 +initx69=0 +inity69=0 +minx69=0 +miny69=0 +maxx69=0 +maxy69=0 +posx69=50 +posy69=50 +sizx69=800 +sizy69=600 +title70=Galapagos +path70=C:\Games\Galapagos\GALA.EXE +module70= +ver70=0 +flag70=134217760 +flagg70=0 +tflag70=0 +initx70=0 +inity70=0 +minx70=0 +miny70=0 +maxx70=0 +maxy70=0 +posx70=50 +posy70=50 +sizx70=800 +sizy70=600 +title71=Gangsters +path71=C:\Games\Gangsters\gangsters.exe +module71= +ver71=0 +flag71=134217762 +flagg71=0 +tflag71=2 +initx71=0 +inity71=0 +minx71=0 +miny71=0 +maxx71=0 +maxy71=0 +posx71=100 +posy71=100 +sizx71=800 +sizy71=600 +title72=GeneRally +path72=C:\Games\generally105\GeneRally.exe +module72= +ver72=0 +flag72=34 +flagg72=0 +tflag72=0 +initx72=0 +inity72=0 +minx72=0 +miny72=0 +maxx72=0 +maxy72=0 +posx72=50 +posy72=50 +sizx72=800 +sizy72=600 +title73=Get Medieval +path73=C:\Games\Get Medieval\MEDIEVAL.EXE +module73= +ver73=0 +flag73=34 +flagg73=2 +tflag73=0 +initx73=0 +inity73=0 +minx73=0 +miny73=0 +maxx73=0 +maxy73=0 +posx73=0 +posy73=0 +sizx73=800 +sizy73=600 +title74=Gift +path74=C:\Games\Gift\Gift.exe +module74= +ver74=0 +flag74=4196384 +flagg74=0 +tflag74=34 +initx74=0 +inity74=0 +minx74=0 +miny74=0 +maxx74=0 +maxy74=0 +posx74=0 +posy74=0 +sizx74=0 +sizy74=0 +title75=Golden Age of Racing +path75=C:\Games\Golden Age of Racing\GAOR.exe +module75= +ver75=0 +flag75=34 +flagg75=0 +tflag75=0 +initx75=0 +inity75=0 +minx75=0 +miny75=0 +maxx75=0 +maxy75=0 +posx75=50 +posy75=50 +sizx75=800 +sizy75=600 +title76=Gp500 for Win2K +path76=C:\Games\gp500\gp500_win2k.exe +module76= +ver76=1 +flag76=545677860 +flagg76=0 +tflag76=2 +initx76=0 +inity76=0 +minx76=0 +miny76=0 +maxx76=0 +maxy76=0 +posx76=50 +posy76=50 +sizx76=800 +sizy76=600 +title77=G-Police +path77=C:\Games\gpolice\GPOLICE.EXE +module77= +ver77=0 +flag77=67125286 +flagg77=0 +tflag77=2 +initx77=0 +inity77=0 +minx77=0 +miny77=0 +maxx77=0 +maxy77=0 +posx77=50 +posy77=50 +sizx77=800 +sizy77=600 +title78=Grand Prix Legends +path78=D:\Games\Grand Prix Legends\gpl\gpl.exe +module78= +ver78=0 +flag78=-1979678717 +flagg78=4 +tflag78=15 +initx78=0 +inity78=0 +minx78=0 +miny78=0 +maxx78=0 +maxy78=0 +posx78=50 +posy78=50 +sizx78=640 +sizy78=480 +title79=Grim Fandango Demo +path79=C:\Games\GrimWebDemo\grimdemo.exe +module79= +ver79=0 +flag79=34 +flagg79=0 +tflag79=258 +initx79=0 +inity79=0 +minx79=0 +miny79=0 +maxx79=0 +maxy79=0 +posx79=50 +posy79=50 +sizx79=800 +sizy79=600 +title80=Half-Life Blue-Shift (d3d) +path80=D:\Games\Half-Life Blue-Shift\bshift.exe +module80= +ver80=7 +flag80=1207959554 +flagg80=513 +tflag80=258 +initx80=0 +inity80=0 +minx80=0 +miny80=0 +maxx80=0 +maxy80=0 +posx80=50 +posy80=50 +sizx80=800 +sizy80=600 +title81=Half-Life Uplink Demo +path81=D:\Games\Half-Life Uplink\hldemo.exe +module81= +ver81=1 +flag81=1073741826 +flagg81=16384 +tflag81=2 +initx81=0 +inity81=0 +minx81=0 +miny81=0 +maxx81=0 +maxy81=0 +posx81=50 +posy81=50 +sizx81=640 +sizy81=480 +title82=Halo Combat Evolved +path82=D:\Games\Halo Combat Evolved\halo.exe +module82= +ver82=9 +flag82=570425377 +flagg82=0 +tflag82=478 +initx82=0 +inity82=0 +minx82=0 +miny82=0 +maxx82=0 +maxy82=0 +posx82=50 +posy82=50 +sizx82=800 +sizy82=600 +title83=Heart of Darkness +path83=d:\Games\Heart of Darkness\HODWin32.exe +module83= +ver83=0 +flag83=8226 +flagg83=2179072 +tflag83=0 +initx83=0 +inity83=0 +minx83=0 +miny83=0 +maxx83=0 +maxy83=0 +posx83=50 +posy83=50 +sizx83=800 +sizy83=600 +title84=Heavy Metal FAKK 2 +path84=C:\Games\Heavy Metal - FAKK2\fakk2.exe +module84= +ver84=0 +flag84=33554464 +flagg84=64 +tflag84=2 +initx84=0 +inity84=0 +minx84=0 +miny84=0 +maxx84=0 +maxy84=0 +posx84=50 +posy84=50 +sizx84=800 +sizy84=600 +title85=HellCopter +path85=C:\Games\hellcop\HCopter.exe +module85= +ver85=0 +flag85=-2013249500 +flagg85=256 +tflag85=0 +initx85=0 +inity85=0 +minx85=0 +miny85=0 +maxx85=0 +maxy85=0 +posx85=50 +posy85=50 +sizx85=800 +sizy85=600 +title86=Heroes of Might & Magic III Demo +path86=C:\Games\Heroes III Demo\h3demo.exe +module86= +ver86=1 +flag86=134234146 +flagg86=0 +tflag86=2 +initx86=0 +inity86=0 +minx86=0 +miny86=0 +maxx86=0 +maxy86=0 +posx86=50 +posy86=50 +sizx86=800 +sizy86=600 +title87=Hexen II (opengl) +path87=D:\Games\Hexen II\glh2.exe +module87= +ver87=10 +flag87=3 +flagg87=212993 +tflag87=387 +initx87=0 +inity87=0 +minx87=0 +miny87=0 +maxx87=0 +maxy87=0 +posx87=50 +posy87=50 +sizx87=800 +sizy87=600 +title88=Hexen II (software) +path88=D:\Games\Hexen II\h2.exe +module88= +ver88=10 +flag88=671088642 +flagg88=1130496 +tflag88=0 +initx88=0 +inity88=0 +minx88=0 +miny88=0 +maxx88=0 +maxy88=0 +posx88=50 +posy88=50 +sizx88=800 +sizy88=600 +title89=hover +path89=C:\Games\hover\hoverX.exe +module89= +ver89=0 +flag89=8224 +flagg89=0 +tflag89=0 +initx89=0 +inity89=0 +minx89=0 +miny89=0 +maxx89=0 +maxy89=0 +posx89=50 +posy89=50 +sizx89=800 +sizy89=600 +title90=Hyperblade +path90=D:\Games\Hyperblade\HYPERX.EXE +module90= +ver90=0 +flag90=134217891 +flagg90=3231762 +tflag90=2 +initx90=0 +inity90=0 +minx90=0 +miny90=0 +maxx90=0 +maxy90=0 +posx90=50 +posy90=50 +sizx90=800 +sizy90=600 +title91=Idinaloq +path91=C:\Games\idina101\idinaloq.exe +module91= +ver91=0 +flag91=32 +flagg91=0 +tflag91=0 +initx91=0 +inity91=0 +minx91=0 +miny91=0 +maxx91=0 +maxy91=0 +posx91=50 +posy91=50 +sizx91=800 +sizy91=600 +title92=Immanis +path92=C:\Games\Immanis CD release\immanis.exe +module92= +ver92=0 +flag92=24611 +flagg92=0 +tflag92=0 +initx92=0 +inity92=0 +minx92=0 +miny92=0 +maxx92=0 +maxy92=0 +posx92=50 +posy92=50 +sizx92=800 +sizy92=600 +title93=Immanis (v2) +path93=C:\Games\Immanis CD release\immanis_v2.exe +module93= +ver93=0 +flag93=268460067 +flagg93=0 +tflag93=0 +initx93=0 +inity93=0 +minx93=0 +miny93=0 +maxx93=0 +maxy93=0 +posx93=50 +posy93=50 +sizx93=800 +sizy93=600 +title94=In the Hunt +path94=C:\Games\In The Hunt\e8.exe +module94= +ver94=0 +flag94=2 +flagg94=0 +tflag94=0 +initx94=0 +inity94=0 +minx94=0 +miny94=0 +maxx94=0 +maxy94=0 +posx94=50 +posy94=50 +sizx94=800 +sizy94=600 +title95=Incoming Forces +path95=D:\Games\Incoming Forces\forces.exe +module95= +ver95=8 +flag95=134217760 +flagg95=0 +tflag95=2 +initx95=0 +inity95=0 +minx95=0 +miny95=0 +maxx95=0 +maxy95=0 +posx95=50 +posy95=50 +sizx95=800 +sizy95=600 +title96=International Superstar Soccer 3 +path96=C:\Games\ISS_3\iss3.exe +module96= +ver96=8 +flag96=545267715 +flagg96=0 +tflag96=0 +initx96=0 +inity96=0 +minx96=0 +miny96=0 +maxx96=0 +maxy96=0 +posx96=50 +posy96=50 +sizx96=800 +sizy96=600 +title97=Jacked +path97=D:\Games\Jacked\Jacked.exe +module97=winmm +ver97=9 +flag97=537010208 +flagg97=196608 +tflag97=258 +initx97=0 +inity97=0 +minx97=0 +miny97=0 +maxx97=0 +maxy97=0 +posx97=50 +posy97=50 +sizx97=800 +sizy97=600 +title98=Jedi Knight II Jedi Outcast +path98=D:\Games\Jedi Knight II Jedi Outcast\GameData\jk2sp.exe +module98= +ver98=0 +flag98=0 +flagg98=512 +tflag98=266 +initx98=0 +inity98=0 +minx98=0 +miny98=0 +maxx98=0 +maxy98=0 +posx98=50 +posy98=50 +sizx98=800 +sizy98=600 +title99=Jet Moto +path99=M:\JETMOTO.EXE +module99= +ver99=0 +flag99=139298 +flagg99=0 +tflag99=0 +initx99=0 +inity99=0 +minx99=0 +miny99=0 +maxx99=0 +maxy99=0 +posx99=50 +posy99=50 +sizx99=800 +sizy99=600 +title100=Kiss Psyco Cyrcus +path100=C:\Games\Psycho\client.exe +module100=d3d.ren +ver100=7 +flag100=537018404 +flagg100=0 +tflag100=0 +initx100=0 +inity100=0 +minx100=0 +miny100=0 +maxx100=0 +maxy100=0 +posx100=50 +posy100=50 +sizx100=800 +sizy100=600 +title101=Krazy Ivan +path101=C:\Games\Krazy Ivan\KRAZY.EXE +module101= +ver101=0 +flag101=536870914 +flagg101=0 +tflag101=0 +initx101=0 +inity101=0 +minx101=0 +miny101=0 +maxx101=0 +maxy101=0 +posx101=50 +posy101=50 +sizx101=800 +sizy101=600 +title102=Last Bronx +path102=C:\Games\Last_Bronx\LB.EXE +module102= +ver102=0 +flag102=40994 +flagg102=0 +tflag102=64 +initx102=0 +inity102=0 +minx102=0 +miny102=0 +maxx102=0 +maxy102=0 +posx102=50 +posy102=50 +sizx102=800 +sizy102=600 +title103=Lionheart +path103=C:\Games\Lionheart Demo\Lionheart.exe +module103= +ver103=0 +flag103=-2147483612 +flagg103=0 +tflag103=0 +initx103=0 +inity103=0 +minx103=0 +miny103=0 +maxx103=0 +maxy103=0 +posx103=50 +posy103=50 +sizx103=800 +sizy103=600 +title104=lithtech.exe +path104=D:\Games\NOLF Technology Demo\lithtech.exe +module104= +ver104=7 +flag104=0 +flagg104=512 +tflag104=258 +initx104=0 +inity104=0 +minx104=0 +miny104=0 +maxx104=0 +maxy104=0 +posx104=50 +posy104=50 +sizx104=800 +sizy104=600 +title105=Lords of the Realm 2 +path105=D:\Games\L2SIEGE\LORDS2.EXE +module105= +ver105=0 +flag105=38 +flagg105=65536 +tflag105=9 +initx105=0 +inity105=0 +minx105=0 +miny105=0 +maxx105=0 +maxy105=0 +posx105=50 +posy105=50 +sizx105=800 +sizy105=600 +title106=M.A.X. 2 +path106=C:\Games\MAX 2\MAX_2\MAX2\MAX2.EXE +module106= +ver106=0 +flag106=34 +flagg106=0 +tflag106=0 +initx106=0 +inity106=0 +minx106=0 +miny106=0 +maxx106=0 +maxy106=0 +posx106=50 +posy106=50 +sizx106=800 +sizy106=600 +title107=M1 Tank Platoon 2 +path107=C:\Games\M1 Tank Platoon 2\M1TP2.exe +module107= +ver107=8 +flag107=34 +flagg107=0 +tflag107=0 +initx107=0 +inity107=0 +minx107=0 +miny107=0 +maxx107=0 +maxy107=0 +posx107=50 +posy107=50 +sizx107=800 +sizy107=600 +title108=Mario Worlds (stripped PE) +path108=C:\Games\Mario Worlds\Mario Worlds.exe +module108= +ver108=1 +flag108=2 +flagg108=1 +tflag108=386 +initx108=0 +inity108=0 +minx108=0 +miny108=0 +maxx108=0 +maxy108=0 +posx108=50 +posy108=50 +sizx108=800 +sizy108=600 +title109=Masters of Orion 2 +path109=C:\Games\Orion2\Orion95.exe +module109= +ver109=0 +flag109=34 +flagg109=0 +tflag109=0 +initx109=0 +inity109=0 +minx109=0 +miny109=0 +maxx109=0 +maxy109=0 +posx109=50 +posy109=50 +sizx109=800 +sizy109=600 +title110=Microsoft Flight Simulator 98 +path110=C:\Games\Flight Simulator 98\FLTSIM98.EXE +module110= +ver110=0 +flag110=288 +flagg110=0 +tflag110=0 +initx110=0 +inity110=0 +minx110=0 +miny110=0 +maxx110=0 +maxy110=0 +posx110=50 +posy110=50 +sizx110=800 +sizy110=600 +title111=Microsoft Midtown Madness +path111=C:\Games\Midtown Madness\midtown.exe +module111= +ver111=0 +flag111=8192 +flagg111=0 +tflag111=2 +initx111=0 +inity111=0 +minx111=0 +miny111=0 +maxx111=0 +maxy111=0 +posx111=50 +posy111=50 +sizx111=800 +sizy111=600 +title112=Microsoft Midtown Madness Trial (BAD) +path112=C:\Games\Midtown Madness Trial\midtrial.exe +module112= +ver112=0 +flag112=2 +flagg112=0 +tflag112=0 +initx112=0 +inity112=0 +minx112=0 +miny112=0 +maxx112=0 +maxy112=0 +posx112=0 +posy112=0 +sizx112=800 +sizy112=600 +title113=Microsoft Motocross Madness 2 (BAD!!) +path113=C:\Games\Motocross Madness 2\MCM2.cracked.EXE +module113= +ver113=7 +flag113=201326664 +flagg113=1 +tflag113=82 +initx113=0 +inity113=0 +minx113=0 +miny113=0 +maxx113=0 +maxy113=0 +posx113=50 +posy113=50 +sizx113=800 +sizy113=600 +title114=Microsoft Motocross Madness Trial (BAD) +path114=C:\Games\Motocross Madness Trial\mcm.exe +module114= +ver114=1 +flag114=134225952 +flagg114=0 +tflag114=130 +initx114=0 +inity114=0 +minx114=0 +miny114=0 +maxx114=0 +maxy114=0 +posx114=50 +posy114=50 +sizx114=0 +sizy114=0 +title115=Mission Force Cyberstorm (BAD ?) +path115=C:\Games\SIERRA\CSTORM\CSTORM.EXE +module115= +ver115=0 +flag115=33562658 +flagg115=0 +tflag115=0 +initx115=0 +inity115=0 +minx115=0 +miny115=0 +maxx115=0 +maxy115=0 +posx115=50 +posy115=50 +sizx115=0 +sizy115=0 +title116=Monopoly 3D +path116=C:\Games\Monopoly (Edition 3D)\Monopoly.exe +module116= +ver116=0 +flag116=134244388 +flagg116=0 +tflag116=2 +initx116=0 +inity116=0 +minx116=0 +miny116=0 +maxx116=0 +maxy116=0 +posx116=50 +posy116=50 +sizx116=800 +sizy116=600 +title117=Monster Truck Madness 2 +path117=C:\Games\Monster Truck Madness 2\Monster.EXE +module117= +ver117=1 +flag117=34 +flagg117=1 +tflag117=0 +initx117=0 +inity117=0 +minx117=0 +miny117=0 +maxx117=0 +maxy117=0 +posx117=50 +posy117=50 +sizx117=800 +sizy117=600 +title118=Moto Racer Demo +path118=D:\Games\Moto Racer Demo\PlayDemo.exe +module118= +ver118=0 +flag118=167903267 +flagg118=192 +tflag118=14 +initx118=0 +inity118=0 +minx118=0 +miny118=0 +maxx118=0 +maxy118=0 +posx118=50 +posy118=50 +sizx118=800 +sizy118=600 +title119=Necrodrome +path119=C:\Games\Necrodome\NECRO95.EXE +module119= +ver119=0 +flag119=268435495 +flagg119=256 +tflag119=0 +initx119=0 +inity119=0 +minx119=0 +miny119=0 +maxx119=0 +maxy119=0 +posx119=50 +posy119=50 +sizx119=800 +sizy119=600 +title120=Need For Speed - Porsche 2000 +path120=C:\Games\Need For Speed - Porsche 2000\Porsche.exe +module120= +ver120=7 +flag120=0 +flagg120=0 +tflag120=258 +initx120=0 +inity120=0 +minx120=0 +miny120=0 +maxx120=0 +maxy120=0 +posx120=50 +posy120=50 +sizx120=800 +sizy120=600 +title121=Netstorm Islands at War +path121=C:\Games\Netstorm\Netstorm.exe +module121= +ver121=0 +flag121=2 +flagg121=0 +tflag121=0 +initx121=0 +inity121=0 +minx121=0 +miny121=0 +maxx121=0 +maxy121=0 +posx121=50 +posy121=50 +sizx121=800 +sizy121=600 +title122=Nox +path122=d:\Games\Nox\Game.exe +module122= +ver122=0 +flag122=939540515 +flagg122=0 +tflag122=386 +initx122=0 +inity122=0 +minx122=0 +miny122=0 +maxx122=0 +maxy122=0 +posx122=50 +posy122=50 +sizx122=800 +sizy122=600 +title123=Pacific General +path123=C:\Games\Pacific General\PACGEN.EXE +module123= +ver123=0 +flag123=8226 +flagg123=0 +tflag123=2 +initx123=0 +inity123=0 +minx123=0 +miny123=0 +maxx123=0 +maxy123=0 +posx123=50 +posy123=50 +sizx123=800 +sizy123=600 +title124=Project Nomads Demo (BAD) +path124=C:\Games\Project Nomads Demo\bin\win32\nomads.exe +module124= +ver124=8 +flag124=-1476394912 +flagg124=256 +tflag124=258 +initx124=0 +inity124=0 +minx124=0 +miny124=0 +maxx124=0 +maxy124=0 +posx124=50 +posy124=50 +sizx124=800 +sizy124=600 +title125=Puzzle Bubble +path125=C:\Games\Puzzle Bubble\PB.EXE +module125= +ver125=0 +flag125=34 +flagg125=0 +tflag125=0 +initx125=0 +inity125=0 +minx125=0 +miny125=0 +maxx125=0 +maxy125=0 +posx125=50 +posy125=50 +sizx125=800 +sizy125=600 +title126=Quake 2 +path126=D:\Games\QUAKE2\quake2.exe +module126= +ver126=10 +flag126=671089154 +flagg126=-1476263359 +tflag126=3 +initx126=0 +inity126=0 +minx126=0 +miny126=0 +maxx126=0 +maxy126=0 +posx126=50 +posy126=50 +sizx126=800 +sizy126=600 +title127=Quake 3 Arena +path127=D:\Games\Q3A\quake3.exe +module127= +ver127=10 +flag127=0 +flagg127=1180160 +tflag127=3 +initx127=0 +inity127=0 +minx127=0 +miny127=0 +maxx127=0 +maxy127=0 +posx127=50 +posy127=50 +sizx127=800 +sizy127=600 +title128=Raiden II +path128=C:\Games\Raiden II\Raiden II\RAIDENII.EXE +module128= +ver128=0 +flag128=34 +flagg128=0 +tflag128=0 +initx128=0 +inity128=0 +minx128=0 +miny128=0 +maxx128=0 +maxy128=0 +posx128=50 +posy128=50 +sizx128=800 +sizy128=600 +title129=Railroad Tycoon II +path129=C:\Games\Railroad.Tycoon.II\RT2.EXE +module129= +ver129=1 +flag129=134225954 +flagg129=0 +tflag129=0 +initx129=0 +inity129=0 +minx129=0 +miny129=0 +maxx129=0 +maxy129=0 +posx129=50 +posy129=50 +sizx129=800 +sizy129=600 +title130=Rally Championship 2000 +path130=C:\Games\Rally Championship 2000\RAL.EXE +module130= +ver130=0 +flag130=67108864 +flagg130=0 +tflag130=2 +initx130=0 +inity130=0 +minx130=0 +miny130=0 +maxx130=0 +maxy130=0 +posx130=50 +posy130=50 +sizx130=800 +sizy130=600 +title131=Rebel Moon Rising +path131=C:\Games\Rebel Moon Rising\Rmr.exe +module131= +ver131=0 +flag131=0 +flagg131=0 +tflag131=0 +initx131=0 +inity131=0 +minx131=0 +miny131=0 +maxx131=0 +maxy131=0 +posx131=50 +posy131=50 +sizx131=800 +sizy131=600 +title132=Redline - Gang Warfare 2066 +path132=C:\Games\Redline - Gang Warfare 2066\redline.exe +module132= +ver132=0 +flag132=32 +flagg132=0 +tflag132=386 +initx132=0 +inity132=0 +minx132=0 +miny132=0 +maxx132=0 +maxy132=0 +posx132=50 +posy132=50 +sizx132=800 +sizy132=600 +title133=Resident Evil +path133=D:\Games\Resident Evil\residentevil.patched.exe +module133= +ver133=1 +flag133=134217827 +flagg133=128 +tflag133=2 +initx133=0 +inity133=0 +minx133=0 +miny133=0 +maxx133=0 +maxy133=0 +posx133=50 +posy133=50 +sizx133=800 +sizy133=600 +title134=Return to Castle Wolfenstein +path134=D:\Games\Return to Castle Wolfenstein (2001)\Return to Castle Wolfenstein\WolfSP.exe +module134= +ver134=0 +flag134=134234114 +flagg134=-2147270656 +tflag134=256 +initx134=0 +inity134=0 +minx134=0 +miny134=0 +maxx134=0 +maxy134=0 +posx134=50 +posy134=50 +sizx134=800 +sizy134=600 +title135=Re-Volt +path135=C:\Games\Re-Volt\REVOLT.EXE +module135= +ver135=0 +flag135=134217792 +flagg135=0 +tflag135=0 +initx135=0 +inity135=0 +minx135=0 +miny135=0 +maxx135=0 +maxy135=0 +posx135=50 +posy135=50 +sizx135=800 +sizy135=600 +title136=Road Rash +path136=D:\Games\Road Rash\ROADRASH\ROADRASH.EXE +module136= +ver136=0 +flag136=134217730 +flagg136=0 +tflag136=386 +initx136=0 +inity136=0 +minx136=0 +miny136=0 +maxx136=0 +maxy136=0 +posx136=50 +posy136=50 +sizx136=800 +sizy136=600 +title137=Road Rash Demo +path137=D:\Games\RoadRash DEMO\DEMORASH.EXE +module137= +ver137=0 +flag137=134218242 +flagg137=0 +tflag137=258 +initx137=0 +inity137=0 +minx137=0 +miny137=0 +maxx137=0 +maxy137=0 +posx137=50 +posy137=50 +sizx137=800 +sizy137=600 +title138=RollerCoaster Tycoon 2 Mini Game +path138=C:\Games\RollerCoaster Tycoon 2 Mini Game\rct2.exe +module138= +ver138=1 +flag138=536870946 +flagg138=0 +tflag138=0 +initx138=0 +inity138=0 +minx138=0 +miny138=0 +maxx138=0 +maxy138=0 +posx138=0 +posy138=0 +sizx138=800 +sizy138=600 +title139=Sega Rally 2 Championship +path139=C:\Games\Sega Rally 2 Championship\SEGA RALLY 2.exe +module139= +ver139=1 +flag139=268435488 +flagg139=2 +tflag139=0 +initx139=0 +inity139=0 +minx139=0 +miny139=0 +maxx139=0 +maxy139=0 +posx139=0 +posy139=0 +sizx139=800 +sizy139=600 +title140=Sentinel Returns +path140=D:\Games\Sentinel Returns\Sentinel.exe +module140= +ver140=1 +flag140=3 +flagg140=0 +tflag140=0 +initx140=0 +inity140=0 +minx140=0 +miny140=0 +maxx140=0 +maxy140=0 +posx140=50 +posy140=50 +sizx140=800 +sizy140=600 +title141=Shadow Master (TBD) +path141=C:\Games\Shadow Master\rmg.exe +module141= +ver141=1 +flag141=32 +flagg141=256 +tflag141=450 +initx141=0 +inity141=0 +minx141=0 +miny141=0 +maxx141=0 +maxy141=0 +posx141=50 +posy141=50 +sizx141=800 +sizy141=600 +title142=Sid Meier's SimGolf Demo +path142=C:\Games\Sid Meier's SimGolf Demo\golf.exe +module142=jgl.dll +ver142=0 +flag142=33554434 +flagg142=0 +tflag142=2 +initx142=0 +inity142=0 +minx142=0 +miny142=0 +maxx142=0 +maxy142=0 +posx142=50 +posy142=50 +sizx142=800 +sizy142=600 +title143=Sin, Wages of (sw renderer) +path143=D:\Games\sin\sin.exe +module143=ref_gl.dll ref_soft.dll +ver143=10 +flag143=402670082 +flagg143=513 +tflag143=386 +initx143=0 +inity143=0 +minx143=0 +miny143=0 +maxx143=0 +maxy143=0 +posx143=50 +posy143=50 +sizx143=800 +sizy143=600 +title144=SleepWalker +path144=C:\Games\SleepWalker\Sleepy.exe +module144= +ver144=0 +flag144=301989954 +flagg144=0 +tflag144=198 +initx144=0 +inity144=0 +minx144=0 +miny144=0 +maxx144=0 +maxy144=0 +posx144=50 +posy144=50 +sizx144=800 +sizy144=600 +title145=SnowBoard Racer +path145=C:\Games\Snowboard Racer\SnowBoard.exe +module145= +ver145=0 +flag145=268443681 +flagg145=0 +tflag145=0 +initx145=0 +inity145=0 +minx145=0 +miny145=0 +maxx145=0 +maxy145=0 +posx145=50 +posy145=50 +sizx145=800 +sizy145=600 +title146=Solaris (~BAD) +path146=c:\Games\Solaris\solaris.exe +module146= +ver146=7 +flag146=973078627 +flagg146=1 +tflag146=2 +initx146=0 +inity146=0 +minx146=0 +miny146=0 +maxx146=0 +maxy146=0 +posx146=50 +posy146=50 +sizx146=800 +sizy146=600 +title147=Soldiers at War +path147=D:\Games\Soldiers at War\SAW_Game.exe +module147= +ver147=0 +flag147=671359010 +flagg147=64 +tflag147=0 +initx147=0 +inity147=0 +minx147=0 +miny147=0 +maxx147=0 +maxy147=0 +posx147=50 +posy147=50 +sizx147=640 +sizy147=480 +title148=Sonic 3 +path148=C:\Games\Sonic 3 + Sonic et Knuckles\Sonic 3\SONIC3K.EXE +module148= +ver148=1 +flag148=546 +flagg148=0 +tflag148=0 +initx148=0 +inity148=0 +minx148=0 +miny148=0 +maxx148=0 +maxy148=0 +posx148=50 +posy148=50 +sizx148=800 +sizy148=600 +title149=Sonic 3D Blast +path149=C:\Games\Sonic3D\pcsonic.exe +module149= +ver149=0 +flag149=134217762 +flagg149=0 +tflag149=0 +initx149=0 +inity149=0 +minx149=0 +miny149=0 +maxx149=0 +maxy149=0 +posx149=50 +posy149=50 +sizx149=800 +sizy149=600 +title150=Sonic R +path150=C:\Games\SonicR\sonicr.exe +module150= +ver150=0 +flag150=8288 +flagg150=0 +tflag150=0 +initx150=0 +inity150=0 +minx150=0 +miny150=0 +maxx150=0 +maxy150=0 +posx150=50 +posy150=50 +sizx150=800 +sizy150=600 +title151=Soulbringer +path151=C:\Games\SoulBringer\SoulbringeVCnoeax.exe +module151= +ver151=0 +flag151=143024174 +flagg151=0 +tflag151=0 +initx151=0 +inity151=0 +minx151=0 +miny151=0 +maxx151=0 +maxy151=0 +posx151=50 +posy151=50 +sizx151=800 +sizy151=600 +title152=Speedboat Attack (BAD) +path152=C:\Games\Speedboat Attack\SBOAT.EXE +module152= +ver152=0 +flag152=541073954 +flagg152=0 +tflag152=2 +initx152=0 +inity152=0 +minx152=0 +miny152=0 +maxx152=0 +maxy152=0 +posx152=50 +posy152=50 +sizx152=800 +sizy152=600 +title153=Star trek Klingon Honor Guard +path153=D:\Games\Star trek Klingon Honor Guard\System\Khg.exe +module153=OGIDrv.dll +ver153=10 +flag153=0 +flagg153=131585 +tflag153=387 +initx153=0 +inity153=0 +minx153=0 +miny153=0 +maxx153=0 +maxy153=0 +posx153=50 +posy153=50 +sizx153=800 +sizy153=600 +title154=Star Wars Episode 1 Racer +path154=C:\Games\sw racer\SWEP1RCR.EXE +module154= +ver154=0 +flag154=142606368 +flagg154=0 +tflag154=0 +initx154=0 +inity154=0 +minx154=0 +miny154=0 +maxx154=0 +maxy154=0 +posx154=50 +posy154=50 +sizx154=800 +sizy154=600 +title155=Star Wars Jedi Knight Jedi Academy +path155=D:\Games\Star_Wars_Jedi_Knight_Jedi_Academy\GameData\jasp.exe +module155= +ver155=10 +flag155=0 +flagg155=65536 +tflag155=2 +initx155=0 +inity155=0 +minx155=0 +miny155=0 +maxx155=0 +maxy155=0 +posx155=50 +posy155=50 +sizx155=800 +sizy155=600 +title156=Star Wars: Jedi Knight +path156=C:\Games\Jedi Knight\Jedi Knight\JK.EXE +module156= +ver156=0 +flag156=8226 +flagg156=0 +tflag156=0 +initx156=0 +inity156=0 +minx156=0 +miny156=0 +maxx156=0 +maxy156=0 +posx156=50 +posy156=50 +sizx156=800 +sizy156=600 +title157=Star Wars: the Gungan Frontier +path157=C:\Games\sw the gungan frontier\Gungan Frontier.exe +module157= +ver157=1 +flag157=402915362 +flagg157=512 +tflag157=0 +initx157=0 +inity157=0 +minx157=0 +miny157=0 +maxx157=0 +maxy157=0 +posx157=0 +posy157=0 +sizx157=800 +sizy157=600 +title158=Starship Troopers +path158=C:\Games\Starship Troopers - Terran Ascendancy\stta\StarshipTroopers.exe +module158= +ver158=1 +flag158=32 +flagg158=0 +tflag158=0 +initx158=0 +inity158=0 +minx158=0 +miny158=0 +maxx158=0 +maxy158=0 +posx158=50 +posy158=50 +sizx158=800 +sizy158=600 +title159=Starshot Space Circus +path159=D:\SpaceCircus.exe +module159= +ver159=0 +flag159=66 +flagg159=0 +tflag159=0 +initx159=0 +inity159=0 +minx159=0 +miny159=0 +maxx159=0 +maxy159=0 +posx159=50 +posy159=50 +sizx159=800 +sizy159=600 +title160=Stronghold Demo +path160=C:\Games\Firefly Studios' Stronghold - Demo\Stronghold Demo.exe +module160= +ver160=0 +flag160=98 +flagg160=0 +tflag160=0 +initx160=0 +inity160=0 +minx160=0 +miny160=0 +maxx160=0 +maxy160=0 +posx160=50 +posy160=50 +sizx160=800 +sizy160=600 +title161=Sub Culture +path161=C:\Games\Sub Culture\sc.exe +module161= +ver161=0 +flag161=66 +flagg161=256 +tflag161=10 +initx161=50 +inity161=50 +minx161=50 +miny161=50 +maxx161=800 +maxy161=600 +posx161=50 +posy161=50 +sizx161=800 +sizy161=600 +title162=Superbike 2001 +path162=C:\Games\Superbike 2001\Sbk2001.exe +module162= +ver162=1 +flag162=536887332 +flagg162=0 +tflag162=0 +initx162=0 +inity162=0 +minx162=0 +miny162=0 +maxx162=0 +maxy162=0 +posx162=50 +posy162=50 +sizx162=800 +sizy162=600 +title163=Syberia 2 Demo +path163=C:\Games\Syberia 2 Demo\Syberia2Demo.exe +module163= +ver163=8 +flag163=536887332 +flagg163=0 +tflag163=0 +initx163=0 +inity163=0 +minx163=0 +miny163=0 +maxx163=0 +maxy163=0 +posx163=50 +posy163=50 +sizx163=800 +sizy163=600 +title164=Syberia Demo +path164=C:\Games\SyberiaDemo\SyberiaDemo.exe +module164= +ver164=1 +flag164=536887332 +flagg164=0 +tflag164=0 +initx164=0 +inity164=0 +minx164=0 +miny164=0 +maxx164=0 +maxy164=0 +posx164=50 +posy164=50 +sizx164=800 +sizy164=600 +title165=System Shock 2 (BAD!!!) +path165=C:\Games\Sys Shock II\Shock2.exe +module165= +ver165=1 +flag165=0 +flagg165=64 +tflag165=0 +initx165=0 +inity165=0 +minx165=0 +miny165=0 +maxx165=0 +maxy165=0 +posx165=50 +posy165=50 +sizx165=800 +sizy165=600 +title166=Test Drive 4 +path166=D:\Games\Test Drive 4\td4.EXE +module166= +ver166=0 +flag166=-2013265885 +flagg166=65554 +tflag166=2 +initx166=0 +inity166=0 +minx166=0 +miny166=0 +maxx166=0 +maxy166=0 +posx166=50 +posy166=50 +sizx166=800 +sizy166=600 +title167=The Nations Demo +path167=C:\Games\The Nations Demo\bin\Game.exe +module167= +ver167=1 +flag167=402661920 +flagg167=256 +tflag167=0 +initx167=0 +inity167=0 +minx167=0 +miny167=0 +maxx167=0 +maxy167=0 +posx167=50 +posy167=50 +sizx167=800 +sizy167=600 +title168=The Sims +path168=D:\Games\sims\Sims.exe +module168= +ver168=0 +flag168=134226976 +flagg168=65536 +tflag168=2 +initx168=0 +inity168=0 +minx168=0 +miny168=0 +maxx168=0 +maxy168=0 +posx168=50 +posy168=50 +sizx168=800 +sizy168=600 +title169=Thief the Dark Project (FRE) +path169=C:\Games\thief\game\thieffixed.exe +module169= +ver169=1 +flag169=16390 +flagg169=0 +tflag169=0 +initx169=0 +inity169=0 +minx169=0 +miny169=0 +maxx169=0 +maxy169=0 +posx169=50 +posy169=50 +sizx169=800 +sizy169=600 +title170=TinTin: Prisoners of the Sun +path170=C:\Games\tintin\TINTINW.EXE +module170= +ver170=0 +flag170=34 +flagg170=0 +tflag170=2 +initx170=0 +inity170=0 +minx170=0 +miny170=0 +maxx170=0 +maxy170=0 +posx170=50 +posy170=50 +sizx170=800 +sizy170=600 +title171=Tintoy (BAD gfx) +path171=C:\Games\Tintoy\Tintoy.exe +module171= +ver171=0 +flag171=546 +flagg171=256 +tflag171=258 +initx171=0 +inity171=0 +minx171=0 +miny171=0 +maxx171=0 +maxy171=0 +posx171=50 +posy171=50 +sizx171=800 +sizy171=600 +title172=Tomb Raider - Anniversary +path172=C:\Games\Tomb Raider - Anniversary\tra.exe +module172= +ver172=9 +flag172=0 +flagg172=256 +tflag172=2 +initx172=0 +inity172=0 +minx172=0 +miny172=0 +maxx172=0 +maxy172=0 +posx172=50 +posy172=50 +sizx172=800 +sizy172=600 +title173=Tomb Raider 2 the Golden Mask +path173=D:\Games\TR2 Golden Mask\T2GOLD.EXE +module173= +ver173=0 +flag173=570425378 +flagg173=1064960 +tflag173=258 +initx173=0 +inity173=0 +minx173=0 +miny173=0 +maxx173=0 +maxy173=0 +posx173=50 +posy173=50 +sizx173=800 +sizy173=600 +title174=Tomb Raider 3 Demo +path174=C:\Games\Tomb Raider 3 - The Lost Artifact Demo\tr3gold.exe +module174= +ver174=1 +flag174=369098848 +flagg174=0 +tflag174=258 +initx174=0 +inity174=0 +minx174=0 +miny174=0 +maxx174=0 +maxy174=0 +posx174=50 +posy174=50 +sizx174=800 +sizy174=600 +title175=Tomb Raider 4 Demo +path175=C:\Games\Tomb Raider 4 - The Last Revelation (Demo)\tomb4.patched.exe +module175= +ver175=0 +flag175=234881056 +flagg175=16 +tflag175=258 +initx175=0 +inity175=0 +minx175=0 +miny175=0 +maxx175=0 +maxy175=0 +posx175=50 +posy175=50 +sizx175=800 +sizy175=600 +title176=Total Annihilation Kingdoms +path176=D:\Games\Total Annihilation Kingdoms\Kingdoms.exe +module176= +ver176=0 +flag176=134234146 +flagg176=0 +tflag176=0 +initx176=0 +inity176=0 +minx176=0 +miny176=0 +maxx176=0 +maxy176=0 +posx176=50 +posy176=50 +sizx176=800 +sizy176=600 +title177=Total Soccer 2000 +path177=D:\Games\Total Soccer 2000\Total Soccer 2000\SOCCERDX.EXE +module177= +ver177=1 +flag177=33554434 +flagg177=1069056 +tflag177=0 +initx177=0 +inity177=0 +minx177=0 +miny177=0 +maxx177=0 +maxy177=0 +posx177=50 +posy177=50 +sizx177=800 +sizy177=600 +title178=Ultim@te Race Pro +path178=C:\Games\Ultim@te race pro\Ultim@te Race Pro.exe +module178= +ver178=0 +flag178=570425440 +flagg178=256 +tflag178=0 +initx178=0 +inity178=0 +minx178=0 +miny178=0 +maxx178=0 +maxy178=0 +posx178=50 +posy178=50 +sizx178=800 +sizy178=600 +title179=Uprising - Join or Die +path179=D:\Games\Uprising\uprising.exe +module179= +ver179=0 +flag179=-2013265882 +flagg179=18 +tflag179=0 +initx179=0 +inity179=0 +minx179=0 +miny179=0 +maxx179=0 +maxy179=0 +posx179=50 +posy179=50 +sizx179=800 +sizy179=600 +title180=Urban Assault +path180=D:\Games\Urban Assault\UA.EXE +module180= +ver180=0 +flag180=671236130 +flagg180=256 +tflag180=258 +initx180=0 +inity180=0 +minx180=0 +miny180=0 +maxx180=0 +maxy180=0 +posx180=50 +posy180=50 +sizx180=800 +sizy180=600 +title181=Warcraft 2 Battlenet Edition +path181=D:\Games\Warcraft 2\Warcraft II BNE.exe +module181= +ver181=0 +flag181=268452003 +flagg181=16 +tflag181=258 +initx181=0 +inity181=0 +minx181=0 +miny181=0 +maxx181=0 +maxy181=0 +posx181=50 +posy181=50 +sizx181=800 +sizy181=600 +title182=WarHammer Rites of War +path182=C:\Games\Rites of War\RoW.exe +module182= +ver182=0 +flag182=134217760 +flagg182=128 +tflag182=0 +initx182=0 +inity182=0 +minx182=0 +miny182=0 +maxx182=0 +maxy182=0 +posx182=50 +posy182=50 +sizx182=800 +sizy182=600 +title183=Warlords 3 +path183=D:\Games\WARLORDS3\Darklord.exe +module183= +ver183=0 +flag183=-2013265374 +flagg183=32 +tflag183=2 +initx183=0 +inity183=0 +minx183=0 +miny183=0 +maxx183=0 +maxy183=0 +posx183=50 +posy183=50 +sizx183=0 +sizy183=0 +title184=WarTorn +path184=C:\Games\WarTorn\W.exe +module184= +ver184=0 +flag184=32 +flagg184=0 +tflag184=0 +initx184=0 +inity184=0 +minx184=0 +miny184=0 +maxx184=0 +maxy184=0 +posx184=50 +posy184=50 +sizx184=800 +sizy184=600 +title185=WarWind +path185=C:\Games\WarWind\WW.EXE +module185= +ver185=0 +flag185=16418 +flagg185=81936 +tflag185=0 +initx185=0 +inity185=0 +minx185=0 +miny185=0 +maxx185=0 +maxy185=0 +posx185=50 +posy185=50 +sizx185=800 +sizy185=600 +title186=Worms Armageddon Demo (BAD!!!) +path186=C:\Games\Worms Armageddon Demo\WaDemo.exe +module186= +ver186=1 +flag186=939524099 +flagg186=8 +tflag186=2 +initx186=0 +inity186=0 +minx186=0 +miny186=0 +maxx186=0 +maxy186=0 +posx186=0 +posy186=0 +sizx186=0 +sizy186=0 +title187=Worms World Party +path187=D:\Games\Worms World Party\wwp.exe +module187= +ver187=1 +flag187=8388610 +flagg187=0 +tflag187=0 +initx187=0 +inity187=0 +minx187=0 +miny187=0 +maxx187=0 +maxy187=0 +posx187=50 +posy187=50 +sizx187=800 +sizy187=600 +maxfps0=0 +maxfps1=40 +maxfps2=0 +maxfps3=0 +maxfps4=0 +maxfps5=0 +maxfps6=10 +maxfps7=40 +maxfps8=0 +maxfps9=0 +maxfps10=0 +maxfps11=0 +maxfps12=0 +maxfps13=0 +maxfps14=0 +maxfps15=0 +maxfps16=0 +maxfps17=0 +maxfps18=0 +maxfps19=0 +maxfps20=0 +maxfps21=0 +maxfps22=0 +maxfps23=0 +maxfps24=0 +maxfps25=0 +maxfps26=0 +maxfps27=0 +maxfps28=0 +maxfps29=0 +maxfps30=0 +maxfps31=0 +maxfps32=0 +maxfps33=0 +maxfps34=0 +maxfps35=0 +maxfps36=0 +maxfps37=0 +maxfps38=0 +maxfps39=0 +maxfps40=0 +maxfps41=0 +maxfps42=0 +maxfps43=0 +maxfps44=0 +maxfps45=0 +maxfps46=0 +maxfps47=0 +maxfps48=0 +maxfps49=0 +maxfps50=0 +maxfps51=0 +maxfps52=0 +maxfps53=0 +maxfps54=0 +maxfps55=0 +maxfps56=100 +maxfps57=0 +maxfps58=500 +maxfps59=0 +maxfps60=0 +maxfps61=0 +maxfps62=0 +maxfps63=0 +maxfps64=0 +maxfps65=0 +maxfps66=0 +maxfps67=0 +maxfps68=0 +maxfps69=0 +maxfps70=0 +maxfps71=0 +maxfps72=0 +maxfps73=0 +maxfps74=0 +maxfps75=0 +maxfps76=0 +maxfps77=0 +maxfps78=0 +maxfps79=0 +maxfps80=0 +maxfps81=0 +maxfps82=0 +maxfps83=0 +maxfps84=0 +maxfps85=0 +maxfps86=0 +maxfps87=50 +maxfps88=0 +maxfps89=0 +maxfps90=25 +maxfps91=0 +maxfps92=0 +maxfps93=0 +maxfps94=0 +maxfps95=0 +maxfps96=0 +maxfps97=100 +maxfps98=0 +maxfps99=0 +maxfps100=0 +maxfps101=0 +maxfps102=0 +maxfps103=0 +maxfps104=0 +maxfps105=0 +maxfps106=0 +maxfps107=0 +maxfps108=0 +maxfps109=0 +maxfps110=0 +maxfps111=0 +maxfps112=0 +maxfps113=0 +maxfps114=0 +maxfps115=0 +maxfps116=0 +maxfps117=0 +maxfps118=0 +maxfps119=0 +maxfps120=0 +maxfps121=0 +maxfps122=0 +maxfps123=0 +maxfps124=0 +maxfps125=0 +maxfps126=0 +maxfps127=0 +maxfps128=0 +maxfps129=0 +maxfps130=0 +maxfps131=0 +maxfps132=0 +maxfps133=0 +maxfps134=50 +maxfps135=0 +maxfps136=0 +maxfps137=0 +maxfps138=0 +maxfps139=0 +maxfps140=0 +maxfps141=0 +maxfps142=0 +maxfps143=0 +maxfps144=0 +maxfps145=0 +maxfps146=0 +maxfps147=0 +maxfps148=0 +maxfps149=0 +maxfps150=0 +maxfps151=0 +maxfps152=0 +maxfps153=0 +maxfps154=0 +maxfps155=0 +maxfps156=0 +maxfps157=0 +maxfps158=0 +maxfps159=0 +maxfps160=0 +maxfps161=0 +maxfps162=0 +maxfps163=0 +maxfps164=0 +maxfps165=0 +maxfps166=0 +maxfps167=0 +maxfps168=0 +maxfps169=0 +maxfps170=0 +maxfps171=0 +maxfps172=0 +maxfps173=0 +maxfps174=0 +maxfps175=0 +maxfps176=0 +maxfps177=200 +maxfps178=0 +maxfps179=0 +maxfps180=0 +maxfps181=40 +maxfps182=0 +maxfps183=0 +maxfps184=0 +maxfps185=0 +maxfps186=0 +maxfps187=0 +title188=Worms World Party Demo (BAD) +path188=C:\Games\WWP Demo\wwp.exe +module188=MFC42.DLL ltkrn10N.dll +ver188=1 +flag188=406847491 +flagg188=8 +tflag188=2 +initx188=0 +inity188=0 +minx188=0 +miny188=0 +maxx188=0 +maxy188=0 +posx188=0 +posy188=0 +sizx188=0 +maxfps188=0 +opengllib0= +initts0=-8 +opengllib1= +initts1=-7 +opengllib2= +initts2=-7 +opengllib3= +initts3=0 +opengllib4= +initts4=0 +opengllib5= +initts5=0 +opengllib6= +initts6=0 +opengllib7= +initts7=0 +opengllib8= +initts8=0 +opengllib9= +initts9=0 +opengllib10= +initts10=0 +opengllib11= +initts11=0 +opengllib12= +initts12=0 +opengllib13= +initts13=0 +opengllib14= +initts14=0 +opengllib15= +initts15=0 +opengllib16= +initts16=0 +opengllib17= +initts17=0 +opengllib18= +initts18=0 +opengllib19= +initts19=0 +opengllib20= +initts20=0 +opengllib21= +initts21=0 +opengllib22= +initts22=0 +opengllib23= +initts23=0 +opengllib24= +initts24=0 +opengllib25= +initts25=0 +opengllib26= +initts26=0 +opengllib27= +initts27=0 +opengllib28= +initts28=0 +opengllib29= +initts29=0 +opengllib30= +initts30=0 +opengllib31= +initts31=0 +opengllib32= +initts32=0 +opengllib33= +initts33=0 +opengllib34= +initts34=0 +opengllib35= +initts35=0 +opengllib36= +initts36=0 +opengllib37= +initts37=0 +opengllib38= +initts38=0 +opengllib39= +initts39=0 +opengllib40= +initts40=0 +opengllib41= +initts41=0 +opengllib42= +initts42=0 +opengllib43= +initts43=0 +opengllib44= +initts44=0 +opengllib45= +initts45=0 +opengllib46= +initts46=0 +opengllib47= +initts47=0 +opengllib48= +initts48=0 +opengllib49= +initts49=0 +opengllib50= +initts50=0 +opengllib51= +initts51=0 +opengllib52= +initts52=0 +opengllib53= +initts53=0 +opengllib54= +initts54=0 +opengllib55= +initts55=0 +opengllib56= +initts56=-5 +opengllib57= +initts57=0 +opengllib58= +initts58=0 +opengllib59= +initts59=0 +opengllib60= +initts60=0 +opengllib61= +initts61=0 +opengllib62= +initts62=0 +opengllib63= +initts63=0 +opengllib64= +initts64=0 +opengllib65= +initts65=0 +opengllib66= +initts66=0 +opengllib67= +initts67=0 +opengllib68= +initts68=0 +opengllib69= +initts69=0 +opengllib70= +initts70=0 +opengllib71= +initts71=0 +opengllib72= +initts72=0 +opengllib73= +initts73=0 +opengllib74= +initts74=0 +opengllib75= +initts75=0 +opengllib76= +initts76=0 +opengllib77= +initts77=0 +opengllib78= +initts78=0 +opengllib79= +initts79=0 +opengllib80= +initts80=0 +opengllib81= +initts81=0 +opengllib82= +initts82=0 +opengllib83= +initts83=4 +opengllib84= +initts84=0 +opengllib85= +initts85=0 +opengllib86= +initts86=0 +opengllib87= +initts87=8 +opengllib88= +initts88=8 +opengllib89= +initts89=0 +opengllib90= +initts90=1 +opengllib91= +initts91=0 +opengllib92= +initts92=0 +opengllib93= +initts93=0 +opengllib94= +initts94=0 +opengllib95= +initts95=0 +opengllib96= +initts96=0 +opengllib97= +initts97=3 +opengllib98= +initts98=0 +opengllib99= +initts99=0 +opengllib100= +initts100=0 +opengllib101= +initts101=0 +opengllib102= +initts102=0 +opengllib103= +initts103=0 +opengllib104= +initts104=0 +opengllib105= +initts105=0 +opengllib106= +initts106=0 +opengllib107= +initts107=0 +opengllib108= +initts108=0 +opengllib109= +initts109=0 +opengllib110= +initts110=0 +opengllib111= +initts111=0 +opengllib112= +initts112=0 +opengllib113= +initts113=0 +opengllib114= +initts114=0 +opengllib115= +initts115=0 +opengllib116= +initts116=0 +opengllib117= +initts117=0 +opengllib118= +initts118=0 +opengllib119= +initts119=0 +opengllib120= +initts120=0 +opengllib121= +initts121=0 +opengllib122= +initts122=0 +opengllib123= +initts123=0 +opengllib124= +initts124=0 +opengllib125= +initts125=0 +opengllib126= +initts126=0 +opengllib127= +initts127=0 +opengllib128= +initts128=0 +opengllib129= +initts129=0 +opengllib130= +initts130=0 +opengllib131= +initts131=0 +opengllib132= +initts132=0 +opengllib133= +initts133=0 +opengllib134= +initts134=-4 +opengllib135= +initts135=0 +opengllib136= +initts136=0 +opengllib137= +initts137=0 +opengllib138= +initts138=0 +opengllib139= +initts139=0 +opengllib140= +initts140=0 +opengllib141= +initts141=0 +opengllib142= +initts142=0 +opengllib143= +initts143=0 +opengllib144= +initts144=0 +opengllib145= +initts145=0 +opengllib146= +initts146=0 +opengllib147= +initts147=0 +opengllib148= +initts148=0 +opengllib149= +initts149=0 +opengllib150= +initts150=0 +opengllib151= +initts151=0 +opengllib152= +initts152=0 +opengllib153= +initts153=0 +opengllib154= +initts154=0 +opengllib155= +initts155=0 +opengllib156= +initts156=0 +opengllib157= +initts157=0 +opengllib158= +initts158=0 +opengllib159= +initts159=0 +opengllib160= +initts160=0 +opengllib161= +initts161=0 +opengllib162= +initts162=0 +opengllib163= +initts163=0 +opengllib164= +initts164=0 +opengllib165= +initts165=0 +opengllib166= +initts166=-2 +opengllib167= +initts167=0 +opengllib168= +initts168=0 +opengllib169= +initts169=0 +opengllib170= +initts170=0 +opengllib171= +initts171=0 +opengllib172= +initts172=8 +opengllib173= +initts173=8 +opengllib174= +initts174=0 +opengllib175= +initts175=0 +opengllib176= +initts176=0 +opengllib177= +initts177=0 +opengllib178= +initts178=0 +opengllib179= +initts179=0 +opengllib180= +initts180=0 +opengllib181= +initts181=0 +opengllib182= +initts182=0 +opengllib183= +initts183=0 +opengllib184= +initts184=0 +opengllib185= +initts185=0 +opengllib186= +initts186=0 +opengllib187= +initts187=0 +opengllib188= +sizy188=0 +initts188=0 +title189=X-Com Enforcer +path189=C:\Games\X-Com Enforcer\System\xcom.exe +module189= +opengllib189= +ver189=1 +flag189=32 +flagg189=0 +tflag189=0 +initx189=0 +inity189=0 +minx189=0 +miny189=0 +maxx189=0 +maxy189=0 +posx189=0 +posy189=0 +sizx189=800 +sizy189=600 +maxfps189=0 +initts189=0 +title190=X-Com Interceptor +module190= +opengllib190= +path190=C:\Games\X-Com_Interceptor\X-COM Interceptor\Interceptor.exe +ver190=0 +flag190=16418 +flagg190=0 +tflag190=0 +initx190=0 +inity190=0 +minx190=0 +miny190=0 +maxx190=0 +maxy190=0 +posx190=50 +posy190=50 +sizx190=800 +sizy190=600 +maxfps190=0 +initts190=0 +title191=Z Steel Soldiers +path191=C:\Games\ZSteelSoldiers\Bin\z2.exe +module191= +opengllib191= +ver191=8 +flag191=805462020 +flagg191=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=Zax Alien Hunter +path192=C:\Games\ZaxDemo\Zax.exe +module192= +opengllib192= +ver192=0 +flag192=-1476386784 +flagg192=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=Zero Critical (BAD) +path193=C:\Games\zero_critical_-_satin_rift\ZEROCR.EXE +module193= +opengllib193= +ver193=0 +flag193=679477858 +flagg193=8 +tflag193=0 +initx193=0 +inity193=0 +minx193=0 +miny193=0 +maxx193=0 +maxy193=0 +posx193=0 +posy193=0 +sizx193=800 +sizy193=600 +maxfps193=0 +initts193=0 +title194=Zero Population Count +path194=C:\Games\ZPC\ZPC.EXE +module194= +opengllib194= +ver194=0 +flag194=1073741859 +flagg194=0 +tflag194=0 +initx194=0 +inity194=0 +minx194=0 +miny194=0 +maxx194=0 +maxy194=0 +posx194=0 +posy194=0 +sizx194=800 +sizy194=600 +maxfps194=0 +initts194=0 +title195=Zero Zone +path195=D:\ZZone\ZeroZone.exe +module195= +opengllib195= +ver195=0 +flag195=34 +flagg195=0 +tflag195=0 +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=Zeus Poseidon +path196=C:\Games\Zeus-Poseidon\Zeus.exe +module196= +opengllib196= +ver196=0 +flag196=34 +flagg196=0 +tflag196=0 +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=Zoo Tycoon +path197=C:\Games\Zoo Tycoon\zoo.exe +module197= +opengllib197= +ver197=0 +flag197=-2013265886 +flagg197=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=Doom 95 +path198=D:\Games\Doom95\DOOM95.EXE +module198= +opengllib198= +ver198=0 +flag198=134217762 +flagg198=2113536 +tflag198=258 +initx198=0 +inity198=0 +minx198=0 +miny198=0 +maxx198=0 +maxy198=0 +posx198=50 +posy198=50 +sizx198=800 +sizy198=600 +maxfps198=20 +initts198=-9 +title199=Urban Assault CD +path199=D:\Games\Urban Assault CD\UA.EXE +module199= +opengllib199= +ver199=0 +flag199=671236130 +flagg199=33024 +tflag199=258 +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=Starcraft +path200=D:\Games\Starcraft\StarCraft.exe +module200= +opengllib200= +ver200=0 +flag200=134234115 +flagg200=2179088 +tflag200=258 +initx200=0 +inity200=0 +minx200=0 +miny200=0 +maxx200=0 +maxy200=0 +posx200=50 +posy200=50 +sizx200=800 +sizy200=600 +maxfps200=0 +initts200=0 +title201=Battle Commander +path201=D:\Games\Battle Commander\bcommand.exe +module201= +opengllib201= +ver201=0 +flag201=134217794 +flagg201=0 +tflag201=2 +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=Pandemonium 2 +path202=D:\Games\Pandemonium 2\pandy.exe +module202= +opengllib202= +ver202=0 +flag202=671219714 +flagg202=1 +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=Pharaoh +path203=D:\Games\Pharaoh\Pharaoh.exe +module203= +opengllib203= +ver203=0 +flag203=1208483874 +flagg203=1048576 +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=Postal +path204=D:\Games\Postal\POSTAL.EXE +module204= +opengllib204= +ver204=1 +flag204=671088643 +flagg204=65600 +tflag204=266 +initx204=0 +inity204=0 +minx204=0 +miny204=0 +maxx204=0 +maxy204=0 +posx204=50 +posy204=50 +sizx204=800 +sizy204=600 +maxfps204=0 +initts204=-3 +title205=Test Drive 5 (D3D) +path205=D:\Games\Test Drive 5\TD5_D3D.exe +module205= +opengllib205= +ver205=0 +flag205=536870944 +flagg205=0 +tflag205=263 +initx205=0 +inity205=0 +minx205=0 +miny205=0 +maxx205=0 +maxy205=0 +posx205=50 +posy205=50 +sizx205=800 +sizy205=600 +maxfps205=0 +initts205=0 +title206=Take no Prisoners +path206=D:\Games\Take no Prisoners\TNP.EXE +module206= +opengllib206= +ver206=0 +flag206=2 +flagg206=16777248 +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=Fallen Heaven +path207=D:\Games\Fallen haven\Exe\FALLEN.EXE +module207=MFC42.dll MSVCRT.DLL mciavi32.dll +opengllib207= +ver207=1 +flag207=135004674 +flagg207=1049120 +tflag207=259 +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=Grand Theft Auto 2 +path208=D:\Games\GTA2\gta2.exe +module208=binkw32 d3ddll +opengllib208= +ver208=0 +flag208=671096866 +flagg208=1048576 +tflag208=3 +initx208=0 +inity208=0 +minx208=0 +miny208=0 +maxx208=0 +maxy208=0 +posx208=50 +posy208=50 +sizx208=400 +sizy208=300 +maxfps208=0 +initts208=0 +title209=Grand Prix Legends MAX +module209= +opengllib209= +path209=D:\Games\Grand Prix Legends MAX\gpl.exe +ver209=7 +flag209=537001986 +flagg209=134217729 +tflag209=3 +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=688I Hunter Killer +path210=D:\Games\688\688I_HK.EXE +module210= +opengllib210= +ver210=0 +flag210=134479906 +flagg210=134217728 +tflag210=3 +initx210=0 +inity210=0 +minx210=0 +miny210=0 +maxx210=0 +maxy210=0 +posx210=50 +posy210=50 +sizx210=640 +sizy210=480 +maxfps210=0 +initts210=0 +title211=Gruntz +path211=D:\Games\gruntz\GRUNTZ.EXE +module211= +opengllib211= +ver211=0 +flag211=34 +flagg211=134217728 +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=0 +title212=Grand Touring +path212=D:\Games\Grand Touring\gt.exe +module212= +opengllib212= +ver212=0 +flag212=16388 +flagg212=134283264 +tflag212=275 +initx212=0 +inity212=0 +minx212=0 +miny212=0 +maxx212=0 +maxy212=0 +posx212=50 +posy212=50 +sizx212=400 +sizy212=300 +maxfps212=0 +initts212=8 +title213=Gunman Chronicles +path213=D:\Games\Gunman\gunman.exe +module213= +opengllib213= +ver213=0 +flag213=0 +flagg213=-2013134848 +tflag213=0 +initx213=0 +inity213=0 +minx213=0 +miny213=0 +maxx213=0 +maxy213=0 +posx213=0 +posy213=0 +sizx213=400 +sizy213=300 +maxfps213=0 +initts213=0 +title214=Nocturne +path214=D:\Games\Nocturne\nocturne.exe +module214= +opengllib214= +ver214=0 +flag214=2 +flagg214=402653264 +tflag214=387 +initx214=0 +inity214=0 +minx214=0 +miny214=0 +maxx214=0 +maxy214=0 +posx214=50 +posy214=50 +sizx214=400 +sizy214=300 +maxfps214=0 +initts214=0 +title215=Koplio +path215=D:\Games\Koplio\KOPLIO.exe +module215= +opengllib215= +ver215=0 +flag215=545259520 +flagg215=134217729 +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=Nightmare Ned +path216=D:\Games\Ned\NITENED.EXE +module216= +opengllib216= +ver216=0 +flag216=537395202 +flagg216=135266305 +tflag216=0 +initx216=0 +inity216=0 +minx216=0 +miny216=0 +maxx216=0 +maxy216=0 +posx216=0 +posy216=0 +sizx216=800 +sizy216=600 +maxfps216=0 +initts216=0 +title217=Rollcage +path217=D:\Games\Rollcage\Direct3D\Rollcage.exe +module217= +opengllib217= +ver217=0 +flag217=268698112 +flagg217=134283264 +tflag217=387 +initx217=0 +inity217=0 +minx217=0 +miny217=0 +maxx217=0 +maxy217=0 +posx217=50 +posy217=50 +sizx217=800 +sizy217=600 +maxfps217=0 +initts217=3 +title218=Rogue Spear (BAD) +module218= +opengllib218= +path218=D:\Games\Rogue Spear\RogueSpear.exe +ver218=1 +flag218=16388 +flagg218=134217984 +tflag218=2 +initx218=0 +inity218=0 +minx218=0 +miny218=0 +maxx218=0 +maxy218=0 +posx218=50 +posy218=50 +sizx218=400 +sizy218=300 +maxfps218=0 +initts218=0 +title219=Black Thorn +path219=D:\Games\BlackThorn\BlackThorn.exe +module219= +opengllib219= +ver219=0 +flag219=0 +flagg219=134217984 +tflag219=66 +initx219=0 +inity219=0 +minx219=0 +miny219=0 +maxx219=0 +maxy219=0 +posx219=50 +posy219=50 +sizx219=800 +sizy219=600 +maxfps219=0 +initts219=0 +title220=Wargames (demo) +path220=D:\Games\Wargames\wargames.exe +module220= +opengllib220= +ver220=0 +flag220=268436642 +flagg220=134217728 +tflag220=3 +initx220=0 +inity220=0 +minx220=0 +miny220=0 +maxx220=0 +maxy220=0 +posx220=50 +posy220=50 +sizx220=800 +sizy220=600 +maxfps220=0 +initts220=0 diff --git a/build/manual.pdf b/build/manual.pdf deleted file mode 100644 index 057ee1d..0000000 Binary files a/build/manual.pdf and /dev/null differ diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index 37329ba..4502cad 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -76,3 +76,9 @@ Fixed directx SetClipper hook to properly handle backbuffer clipping and fix "Wa v2.02.15 Fixed clipping handling of primary/backbuffer surfaces Added option to set AERO compatibility for Vista/Win7/Win8 platforms. Need to call a undocumented ddraw API. Thanks to Vovchik that discovered it. Use at your own risk! + +v2.02.16 +DLL injection finally working! Quake 2 is supported. +Added Wireframe option for OpenGL games +Improved fix for clipper handling of primary/backbuffer surfaces + diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index f71f488..86b9e36 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -9,6 +9,7 @@ #include "dxwcore.hpp" #include "dxhook.h" #include "glhook.h" +#include "msvfwhook.h" #define DXWDECLARATIONS 1 #include "syslibs.h" #undef DXWDECLARATIONS @@ -43,7 +44,7 @@ static char *Flag2Names[32]={ "TIMESTRETCH", "HOOKOPENGL", "WALLPAPERMODE", "SHOWHWCURSOR", "HOOKGDI", "SHOWFPSOVERLAY", "FAKEVERSION", "FULLRECTBLT", "NOPALETTEUPDATE", "SUPPRESSIME", "NOBANNER", "WINDOWIZE", - "", "", "", "", + "LIMITRESOURCES", "STARTDEBUG", "SETCOMPATIBILITY", "", }; static char *TFlagNames[32]={ @@ -820,6 +821,10 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp void HookSysLibsInit() { + static BOOL DoOnce = FALSE; + if(DoOnce) return; + DoOnce=TRUE; + pLoadLibraryA = LoadLibraryA; pLoadLibraryExA = LoadLibraryExA; pLoadLibraryW = LoadLibraryW; @@ -1112,8 +1117,6 @@ void HookSysLibs(HMODULE module) return; } - - static void RecoverScreenMode() { DEVMODE InitDevMode; @@ -1201,6 +1204,7 @@ void HookModule(HMODULE base, int dxversion) HookDirect3D(base, dxversion); HookOle32(base, dxversion); // unfinished business if(dxw.dwFlags2 & HOOKOPENGL) HookOpenGLLibs(base, dxw.CustomOpenGLLib); + HookMSV4WLibs(base); //ForceHookOpenGL(base); } @@ -1319,7 +1323,6 @@ int HookInit(TARGETMAP *target, HWND hwnd) if(!res) OutTraceE("MoveWindow ERROR: dxw.hParentWnd=%x err=%d at %d\n", dxw.hParentWnd, GetLastError(), __LINE__); } - return 0; } diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index 9c6743f..b03cad9 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -22,8 +22,9 @@ along with this program. If not, see . #include #include #include "dxwnd.h" +#include "dxwcore.hpp" -#define VERSION "2.02.15" +#define VERSION "2.02.16" LRESULT CALLBACK HookProc(int ncode, WPARAM wparam, LPARAM lparam); @@ -40,6 +41,8 @@ int HookStatus=DXW_IDLE; static int TaskIndex=-1; DXWNDSTATUS DxWndStatus; +void InjectHook(); + BOOL APIENTRY DllMain( HANDLE hmodule, DWORD dwreason, LPVOID preserved @@ -63,7 +66,7 @@ BOOL APIENTRY DllMain( HANDLE hmodule, if(!hTraceMutex) hTraceMutex = CreateMutex(0, FALSE, "Trace_Mutex"); hLockMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, "Lock_Mutex"); if(!hLockMutex) hLockMutex = CreateMutex(0, FALSE, "Lock_Mutex"); - + InjectHook(); return true; } @@ -191,3 +194,21 @@ LRESULT CALLBACK HookProc(int ncode, WPARAM wparam, LPARAM lparam) } return CallNextHookEx(hHook, ncode, wparam, lparam); } + +void InjectHook() +{ + char name[MAX_PATH]; + int i; + GetModuleFileName(0, name, MAX_PATH); + for(i = 0; name[i]; i ++) name[i] = tolower(name[i]); + for(i = 0; pMapping[i].path[0]; i ++){ + if(!strncmp(name, pMapping[i].path, strlen(name))){ + if (pMapping[i].flags2 & STARTDEBUG){ + OutTrace("InjectHook: task[%d]=\"%s\" hooked\n", i, pMapping[i].path); + dxw.InitTarget(&pMapping[i]); + HookInit(&pMapping[i],NULL); + } + break; + } + } +} \ No newline at end of file diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index a13a919..2e5655c 100644 Binary files a/dll/dxwnd.vs2008.suo and b/dll/dxwnd.vs2008.suo differ diff --git a/dll/dxwnd.vs2008.vcproj b/dll/dxwnd.vs2008.vcproj index 2683385..256f8f9 100644 --- a/dll/dxwnd.vs2008.vcproj +++ b/dll/dxwnd.vs2008.vcproj @@ -1,7 +1,7 @@ + + @@ -393,6 +397,10 @@ RelativePath=".\hddraw.h" > + + diff --git a/dll/glhook.cpp b/dll/glhook.cpp index 972dc72..37d44b1 100644 --- a/dll/glhook.cpp +++ b/dll/glhook.cpp @@ -29,7 +29,26 @@ FARPROC Remap_gl_ProcAddress(LPCSTR proc, HMODULE hModule) OutTraceD("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pglDrawBuffer); return (FARPROC)extglDrawBuffer; } - + if (!strcmp(proc,"glPolygonMode")){ + pglPolygonMode=(glPolygonMode_Type)(*pGetProcAddress)(hModule, proc); + OutTraceD("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pglPolygonMode); + return (FARPROC)extglPolygonMode; + } + if (!strcmp(proc,"glGetFloatv")){ + pglGetFloatv=(glGetFloatv_Type)(*pGetProcAddress)(hModule, proc); + OutTraceD("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pglGetFloatv); + return (FARPROC)extglGetFloatv; + } + if (!strcmp(proc,"glClear")){ + pglClear=(glClear_Type)(*pGetProcAddress)(hModule, proc); + OutTraceD("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pglClear); + return (FARPROC)extglClear; + } + if (!strcmp(proc,"wglCreateContext")){ + pwglCreateContext=(wglCreateContext_Type)(*pGetProcAddress)(hModule, proc); + OutTraceD("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pwglCreateContext); + return (FARPROC)extwglCreateContext; + } // NULL -> keep the original call address return NULL; } @@ -53,17 +72,30 @@ void ForceHookOpenGL(HMODULE base) // to do ..... pglScissor=(glScissor_Type)GetProcAddress(hGlLib, "glScissor"); if(pglScissor) { HookAPI(base, "opengl32", pglScissor, "glScissor", extglScissor); - //extglScissor(dxw.iPosX,dxw.iPosY,dxw.iSizX,dxw.iSizY); } pglGetIntegerv=(glGetIntegerv_Type)GetProcAddress(hGlLib, "glGetIntegerv"); if(pglGetIntegerv) { HookAPI(base, "opengl32", pglGetIntegerv, "glGetIntegerv", extglGetIntegerv); - //extglGetIntegerv(0, NULL); } pglDrawBuffer=(glDrawBuffer_Type)GetProcAddress(hGlLib, "glDrawBuffer"); if(pglDrawBuffer) { HookAPI(base, "opengl32", pglDrawBuffer, "glDrawBuffer", extglDrawBuffer); - //extglDrawBuffer(0); + } + pglPolygonMode=(glPolygonMode_Type)GetProcAddress(hGlLib, "glPolygonMode"); + if(pglPolygonMode) { + HookAPI(base, "opengl32", pglPolygonMode, "glPolygonMode", extglPolygonMode); + } + pglGetFloatv=(glGetFloatv_Type)GetProcAddress(hGlLib, "glGetFloatv"); + if(pglGetFloatv) { + HookAPI(base, "opengl32", pglGetFloatv, "glGetFloatv", extglGetFloatv); + } + pglClear=(glClear_Type)GetProcAddress(hGlLib, "glClear"); + if(pglClear) { + HookAPI(base, "opengl32", pglClear, "glClear", extglClear); + } + pwglCreateContext=(wglCreateContext_Type)GetProcAddress(hGlLib, "wglCreateContext"); + if(pwglCreateContext) { + HookAPI(base, "opengl32", pwglCreateContext, "wglCreateContext", extwglCreateContext); } } @@ -86,6 +118,14 @@ void HookOpenGLLibs(HMODULE module, char *customlib) if(tmp) pglGetIntegerv = (glGetIntegerv_Type)tmp; tmp = HookAPI(module, customlib, NULL, "glDrawBuffer", extglDrawBuffer); if(tmp) pglDrawBuffer = (glDrawBuffer_Type)tmp; + tmp = HookAPI(module, customlib, NULL, "glPolygonMode", extglPolygonMode); + if(tmp) pglPolygonMode = (glPolygonMode_Type)tmp; + tmp = HookAPI(module, customlib, NULL, "glGetFloatv", extglGetFloatv); + if(tmp) pglGetFloatv = (glGetFloatv_Type)tmp; + tmp = HookAPI(module, customlib, NULL, "glClear", extglClear); + if(tmp) pglClear = (glClear_Type)tmp; + tmp = HookAPI(module, customlib, NULL, "wglCreateContext", extwglCreateContext); + if(tmp) pwglCreateContext = (wglCreateContext_Type)tmp; break; case 1: static int DoOnce=TRUE; @@ -95,13 +135,13 @@ void HookOpenGLLibs(HMODULE module, char *customlib) } break; } - return; } void WINAPI extglViewport(GLint x, GLint y, GLsizei width, GLsizei height) { RECT client; + POINT p={0,0}; //if (dxw.dwFlags2 & HANDLEFPS) if(dxw.HandleFPS()) return; (*pGetClientRect)(dxw.GethWnd(), &client); OutTraceD("glViewport: declared pos=(%d,%d) size=(%d,%d)\n", x, y, width, height); @@ -118,6 +158,7 @@ void WINAPI extglViewport(GLint x, GLint y, GLsizei width, GLsizei height void WINAPI extglScissor(GLint x, GLint y, GLsizei width, GLsizei height) { RECT client; + POINT p={0,0}; //if (dxw.dwFlags2 & HANDLEFPS) if(dxw.HandleFPS()) return; (*pGetClientRect)(dxw.GethWnd(), &client); OutTraceD("glScissor: declared pos=(%d,%d) size=(%d,%d)\n", x, y, width, height); @@ -138,6 +179,7 @@ void WINAPI extglGetIntegerv(GLenum pname, GLint *params) void WINAPI extglDrawBuffer(GLenum mode) { if (IsDebug) OutTrace("glDrawBuffer: mode=%x\n", mode); + if(dxw.dwFlags2 & WIREFRAME) (*pglClear)(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT) ; // clear screen for wireframe mode.... // handle FPS only to backbuffer updates (if stereo, on left backbuffer...) // using the frontbuffer seems less reliable: Return to Castle Wolfenstein doesn't use it at all! if (dxw.dwFlags2 & HANDLEFPS){ @@ -153,3 +195,49 @@ void WINAPI extglDrawBuffer(GLenum mode) } (*pglDrawBuffer)(mode); } + +void WINAPI extglPolygonMode(GLenum face, GLenum mode) +{ + OutTraceD("glPolygonMode: face=%x mode=%x\n", face, mode); + if(dxw.dwFlags2 & WIREFRAME) mode = GL_LINE; // trick to set wireframe mode.... + (*pglPolygonMode)(face, mode); + return; +} + +void WINAPI extglGetFloatv(GLenum pname, GLboolean *params) +{ + OutTraceD("glGetFloatv: pname=%x\n", pname); + (*pglGetFloatv)(pname, params); + return; +} + +void WINAPI extglClear(GLbitfield mask) +{ + (*pglClear)(mask); + return; +} + +HGLRC WINAPI extwglCreateContext(HDC hdc) +{ + HGLRC ret; + ret=(*pwglCreateContext)(hdc); + if(ret!=NULL){ + HWND hwnd; + hwnd=WindowFromDC(hdc); + dxw.SethWnd(hwnd); + OutTraceD("wglCreateContext: hdc=%x hwnd=%x\n", hdc, hwnd); + } + else { + OutTraceD("wglCreateContext: ERROR hdc=%x err=%x\n", hdc, GetLastError()); + } + return ret; +} + +// to do: +// glutSetWindow - save current window handle +// glutInitWindowPosition, glutInitWindowSize +// glutInitDisplayMode +// glutCreateWindow, glutCreateSubWindow +// glutPositionWindow, glutReshapeWindow +// glGetFloatv ( GL_SCISSOR_BOX - GL_VIEWPORT ) + diff --git a/dll/glhook.h b/dll/glhook.h index c9eff7e..a290e6f 100644 --- a/dll/glhook.h +++ b/dll/glhook.h @@ -9,6 +9,10 @@ typedef void (WINAPI *glGetIntegerv_Type)(GLenum, GLint *); typedef void (WINAPI *glFinish_Type)(void); typedef void (WINAPI *glFlush_Type)(void); typedef void (WINAPI *glDrawBuffer_Type)(GLenum); +typedef void (WINAPI *glPolygonMode_Type)(GLenum, GLenum); +typedef void (WINAPI *glGetFloatv_Type)(GLenum, GLboolean *); +typedef void (WINAPI *glClear_Type)(GLbitfield); +typedef HGLRC (WINAPI *wglCreateContext_Type)(HDC); extern void WINAPI extglViewport(GLint, GLint, GLsizei, GLsizei); extern void WINAPI extglScissor(GLint, GLint, GLsizei, GLsizei); @@ -16,6 +20,10 @@ extern void WINAPI extglGetIntegerv(GLenum, GLint *); extern void WINAPI extglFinish(void); extern void WINAPI extglFlush(void); extern void WINAPI extglDrawBuffer(GLenum); +extern void WINAPI extglPolygonMode(GLenum, GLenum); +extern void WINAPI extglGetFloatv(GLenum, GLboolean *); +extern void WINAPI extglClear(GLbitfield); +extern HGLRC WINAPI extwglCreateContext(HDC); #ifdef DXWDECLARATIONS #undef DXWEXTERN @@ -35,4 +43,8 @@ DXWEXTERN glScissor_Type pglScissor; DXWEXTERN glGetIntegerv_Type pglGetIntegerv; //DXWEXTERN glFinish_Type pglFinish; //DXWEXTERN glFlush_Type pglFlush; -DXWEXTERN glDrawBuffer_Type pglDrawBuffer; \ No newline at end of file +DXWEXTERN glDrawBuffer_Type pglDrawBuffer; +DXWEXTERN glPolygonMode_Type pglPolygonMode; +DXWEXTERN glGetFloatv_Type pglGetFloatv; +DXWEXTERN glClear_Type pglClear; +DXWEXTERN wglCreateContext_Type pwglCreateContext; diff --git a/dll/hddraw.cpp b/dll/hddraw.cpp index 7ea202e..6396e38 100644 --- a/dll/hddraw.cpp +++ b/dll/hddraw.cpp @@ -2819,31 +2819,18 @@ HRESULT WINAPI extSetClipper(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWCLIPPER lpdd // clipping ON & OFF affects blitting on primary surface. if(dxw.dwFlags1 & SUPPRESSCLIPPING) return 0; -#if 1 if(dxw.dwFlags1 & (EMULATESURFACE|EMULATEBUFFER)){ - if (isPrim && lpDDSEmu_Prim) { - res=(*pSetClipper)(lpDDSEmu_Prim, lpddc); - if(res) OutTraceE("CreateSurface: SetClipper ERROR: res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); - lpDDC = lpddc; - // n.b. SetHWnd was not wrapped, so pSetHWnd is not usable (NULL) !!! - if(lpDDC) res=lpDDC->SetHWnd( 0, dxw.GethWnd()); - if(res) OutTraceE("CreateSurface: SetHWnd ERROR: res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); - } - else if ((lpdds == lpDDSBack) && lpDDSEmu_Back) { - res=(*pSetClipper)(lpDDSEmu_Back, lpddc); - if(res) OutTraceE("CreateSurface: SetClipper ERROR: res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); - lpDDC = lpddc; - // n.b. SetHWnd was not wrapped, so pSetHWnd is not usable (NULL) !!! - if(lpDDC) res=lpDDC->SetHWnd( 0, dxw.GethWnd()); - if(res) OutTraceE("CreateSurface: SetHWnd ERROR: res=%x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + if ((isPrim && lpDDSEmu_Prim) || + ((lpdds == lpDDSBack) && lpDDSEmu_Back)){ + OutTraceD("SetClipper: skip primary/backbuffer lpdds=%x\n", lpdds); + res=0; } else res=(*pSetClipper)(lpdds, lpddc); } else -#endif - // just proxy ... - res=(*pSetClipper)(lpdds, lpddc); + res=(*pSetClipper)(lpdds, lpddc); + if (res) OutTraceE("SetClipper: ERROR res=%x(%s)\n", res, ExplainDDError(res)); return res; diff --git a/dll/msvfwhook.cpp b/dll/msvfwhook.cpp new file mode 100644 index 0000000..084b4cc --- /dev/null +++ b/dll/msvfwhook.cpp @@ -0,0 +1,52 @@ +#include "dxwnd.h" +#include "dxwcore.hpp" +#include "syslibs.h" +#include "dxhook.h" +#include "Vfw.h" + +#define DXWDECLARATIONS TRUE +#include "msvfwhook.h" +#undef DXWDECLARATIONS + +FARPROC Remap_vfw_ProcAddress(LPCSTR proc, HMODULE hModule) +{ + if (!strcmp(proc,"ICSendMessage")){ + pICSendMessage=(ICSendMessage_Type)(*pGetProcAddress)(hModule, proc); + OutTraceD("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pICSendMessage); + return (FARPROC)extICSendMessage; + } + if (!strcmp(proc,"ICOpen")){ + pICOpen=(ICOpen_Type)(*pGetProcAddress)(hModule, proc); + OutTraceD("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pICOpen); + return (FARPROC)extICOpen; + } + + // NULL -> keep the original call address + return NULL; +} + +void HookMSV4WLibs(HMODULE module) +{ + void *tmp; + tmp = HookAPI(module, "MSVFW32.dll", NULL, "ICSendMessage", extICSendMessage); + if(tmp) pICSendMessage = (ICSendMessage_Type)tmp; + tmp = HookAPI(module, "MSVFW32.dll", NULL, "ICOpen", extICOpen); + if(tmp) pICOpen = (ICOpen_Type)tmp; + + return; +} + +LRESULT WINAPI extICSendMessage(HIC hic, UINT wMsg, DWORD_PTR dw1, DWORD_PTR dw2) +{ + LRESULT res; + OutTraceD("ICSendMessage: hic=%x wMsg=%x dw1=%x dw2=%x\n", hic, wMsg, dw1, dw2); + return 0; + res=(*pICSendMessage)(hic, wMsg, dw1, dw2); + return res; +} + +HIC WINAPI extICOpen(DWORD fccType, DWORD fccHandler, UINT wMode) +{ + OutTraceD("ICOpen: fccType=%x fccHandler=%x wMode=%x\n", fccType, fccHandler, wMode); + return (HIC)0; +} diff --git a/dll/msvfwhook.h b/dll/msvfwhook.h new file mode 100644 index 0000000..9bc005d --- /dev/null +++ b/dll/msvfwhook.h @@ -0,0 +1,26 @@ +#include "Vfw.h" + +extern FARPROC Remap_vfw_ProcAddress(LPCSTR, HMODULE); +extern void HookMSV4WLibs(HMODULE); + +typedef LRESULT (WINAPI * ICSendMessage_Type)(HIC, UINT, DWORD_PTR, DWORD_PTR); +typedef HIC (WINAPI *ICOpen_Type)(DWORD, DWORD, UINT); + +extern LRESULT WINAPI extICSendMessage(HIC, UINT, DWORD_PTR, DWORD_PTR); +extern HIC WINAPI extICOpen(DWORD, DWORD, UINT); + +#ifdef DXWDECLARATIONS +#undef DXWEXTERN +#undef DXWINITIALIZED +#define DXWEXTERN +#define DXWINITIALIZED = NULL +#else +#undef DXWEXTERN +#undef DXWINITIALIZED +#define DXWEXTERN extern +#define DXWINITIALIZED +#endif + +// MSVFW32.dll: +DXWEXTERN ICSendMessage_Type pICSendMessage; +DXWEXTERN ICOpen_Type pICOpen; diff --git a/dll/syslibs.cpp b/dll/syslibs.cpp index 020ebbb..d559fe7 100644 --- a/dll/syslibs.cpp +++ b/dll/syslibs.cpp @@ -8,6 +8,7 @@ #include "dxwcore.hpp" #include "dxhook.h" #include "glhook.h" +#include "msvfwhook.h" #include "syslibs.h" #include "dxhelper.h" #include "hddraw.h" @@ -1210,7 +1211,7 @@ LONG WINAPI MyChangeDisplaySettings(char *fname, DEVMODE *lpDevMode, DWORD dwfla if(dwflags==CDS_FULLSCREEN) dwflags=0; // no FULLSCREEN res=(*ChangeDisplaySettings)(&TryMode, dwflags); OutTraceD("%s: fixed size=(%d x %d) bpp=%d res=%x(%s)\n", - fname, NewMode.dmPelsHeight, NewMode.dmPelsWidth, NewMode.dmBitsPerPel, + fname, NewMode.dmPelsWidth, NewMode.dmPelsHeight, NewMode.dmBitsPerPel, res, ExplainDisplaySettingsRetcode(res)); return res; } @@ -1465,7 +1466,8 @@ BOOL WINAPI extGetMessage(LPMSG lpMsg, HWND hwnd, UINT wMsgFilterMin, UINT wMsgF #define SYSLIBIDX_OLE32 3 #define SYSLIBIDX_DIRECTDRAW 4 #define SYSLIBIDX_OPENGL 5 -#define SYSLIBIDX_MAX 6 // array size +#define SYSLIBIDX_MSVFW 6 +#define SYSLIBIDX_MAX 7 // array size HMODULE SysLibs[SYSLIBIDX_MAX]; char *SysNames[SYSLIBIDX_MAX]={ "kernel32.dll", @@ -1473,7 +1475,8 @@ char *SysNames[SYSLIBIDX_MAX]={ "GDI32.dll", "ole32.dll", "ddraw.dll", - "opengl32.dll" + "opengl32.dll", + "msvfw32.dll" }; char *SysNames2[SYSLIBIDX_MAX]={ "kernel32", @@ -1481,7 +1484,8 @@ char *SysNames2[SYSLIBIDX_MAX]={ "GDI32", "ole32", "ddraw", - "opengl32" + "opengl32", + "msvfw32" }; extern void HookModule(HMODULE, int); extern void HookSysLibs(HMODULE); @@ -1701,9 +1705,13 @@ FARPROC WINAPI extGetProcAddress(HMODULE hModule, LPCSTR proc) } break; case SYSLIBIDX_OPENGL: - //default: if(!(dxw.dwFlags2 & HOOKOPENGL)) break; if (remap=Remap_gl_ProcAddress(proc, hModule)) return remap; + break; + case SYSLIBIDX_MSVFW: + if (remap=Remap_vfw_ProcAddress(proc, hModule)) return remap; + break; + //default: } } else { diff --git a/host/Resource.h b/host/Resource.h index b5790f8..ce40017 100644 --- a/host/Resource.h +++ b/host/Resource.h @@ -118,17 +118,13 @@ #define IDC_MODALSTYLE 1069 #define IDC_KEEPASPECTRATIO 1070 #define IDC_LIMITRESOURCES 1071 -#define IDC_FORCEWINRESIZE 1072 -#define IDC_LIMITRESOURCES2 1072 #define IDC_SUPPRESSIME 1072 -#define IDC_DISABLEGAMMARAMP 1073 #define IDC_SETCOMPATIBILITY 1073 #define IDC_FIXNCHITTEST 1074 #define IDC_LIMITFPS 1075 #define IDC_SKIPFPS 1076 #define IDC_SHOWFPS 1077 #define IDC_HIDEMULTIMONITOR 1078 -#define IDC_TIMESLIDER 1078 #define IDC_TIMESTRETCH 1079 #define IDC_TIMESPEED 1079 #define IDC_HOOKOPENGL 1080 @@ -137,17 +133,18 @@ #define IDC_SHOWFPSOVERLAY 1083 #define IDC_FAKEVERSION 1084 #define IDC_COMBOTS 1085 -#define IDC_SUPPRESSCLIPPING2 1085 #define IDC_FULLRECTBLT 1085 #define IDC_NOPALETTEUPDATE 1086 -#define IDC_LIST2 1088 #define IDC_LISTTS 1088 #define IDC_LISTFAKE 1089 #define IDC_TABPANEL 1090 #define IDC_WINDOWIZE 1091 #define IDC_NOBANNER 1092 -#define IDC_NOBANNER2 1093 #define IDC_STARTDEBUG 1093 +#define IDC_WIREFRAME 1094 +#define IDC_DISABLEGAMMARAMP 1095 +#define IDC_FORCEWINRESIZE 1096 +#define IDC_TIMESLIDER 1097 #define ID_MODIFY 32771 #define ID_DELETE 32772 #define ID_ADD 32773 diff --git a/host/TabOpenGL.cpp b/host/TabOpenGL.cpp index e81fec4..b209823 100644 --- a/host/TabOpenGL.cpp +++ b/host/TabOpenGL.cpp @@ -27,6 +27,7 @@ void CTabOpenGL::DoDataExchange(CDataExchange* pDX) CDialog::DoDataExchange(pDX); CTargetDlg *cTarget = ((CTargetDlg *)(this->GetParent()->GetParent())); DDX_Check(pDX, IDC_HOOKOPENGL, cTarget->m_HookOpenGL); + DDX_Check(pDX, IDC_WIREFRAME, cTarget->m_WireFrame); DDX_Text(pDX, IDC_OPENGLLIB, cTarget->m_OpenGLLib); } diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 1eb3d3f..8de9e3e 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -90,6 +90,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_FakeVersion = FALSE; m_FullRectBlt = FALSE; m_NoPaletteUpdate = FALSE; + m_WireFrame = FALSE; m_InitX = 0; m_InitY = 0; m_MaxX = 0; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index c1c3343..3202d05 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -98,6 +98,7 @@ public: BOOL m_LimitResources; BOOL m_SuppressIME; BOOL m_SetCompatibility; + BOOL m_WireFrame; int m_InitX; int m_InitY; int m_MaxX; diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index 884ea38..1299a45 100644 Binary files a/host/dxwndhost.aps and b/host/dxwndhost.aps differ diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index fd2ccee..a46f960 100644 --- a/host/dxwndhost.rc +++ b/host/dxwndhost.rc @@ -391,10 +391,11 @@ IDD_TAB_OPENGL DIALOGEX 0, 0, 300, 240 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - GROUPBOX "OpenGL",IDC_STATIC,7,3,140,58 - LTEXT "Custom OpenGL library",IDC_STATIC,15,29,110,9 + GROUPBOX "OpenGL",IDC_STATIC,7,3,140,72 + LTEXT "Custom OpenGL library",IDC_STATIC,15,39,110,9 CONTROL "Hook OpenGL",IDC_HOOKOPENGL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,15,115,10 - EDITTEXT IDC_OPENGLLIB,13,41,126,14,ES_AUTOHSCROLL + EDITTEXT IDC_OPENGLLIB,13,51,126,14,ES_AUTOHSCROLL + CONTROL "Show Wireframe",IDC_WIREFRAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,25,115,10 END IDD_TAB_COMPAT DIALOGEX 0, 0, 300, 240 diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index 890a9bc..3c655f7 100644 Binary files a/host/dxwndhost.vs2008.suo and b/host/dxwndhost.vs2008.suo differ diff --git a/host/dxwndhostView.cpp b/host/dxwndhostView.cpp index 51d00a1..8fae753 100644 --- a/host/dxwndhostView.cpp +++ b/host/dxwndhostView.cpp @@ -26,6 +26,8 @@ static char THIS_FILE[] = __FILE__; extern UINT m_StartToTray; extern UINT m_InitialState; extern char m_ConfigFileName[20+1]; +extern BOOL Inject(DWORD, const char *); + PRIVATEMAP *pTitles; // global ptr: get rid of it!! TARGETMAP *pTargets; // idem. @@ -438,6 +440,7 @@ void CDxwndhostView::OnModify() dlg.m_ShowFPSOverlay = TargetMaps[i].flags2 & SHOWFPSOVERLAY ? 1 : 0; dlg.m_TimeStretch = TargetMaps[i].flags2 & TIMESTRETCH ? 1 : 0; dlg.m_HookOpenGL = TargetMaps[i].flags2 & HOOKOPENGL ? 1 : 0; + dlg.m_WireFrame = TargetMaps[i].flags2 & WIREFRAME ? 1 : 0; dlg.m_FakeVersion = TargetMaps[i].flags2 & FAKEVERSION ? 1 : 0; dlg.m_FullRectBlt = TargetMaps[i].flags2 & FULLRECTBLT ? 1 : 0; dlg.m_NoPaletteUpdate = TargetMaps[i].flags2 & NOPALETTEUPDATE ? 1 : 0; @@ -545,6 +548,7 @@ void CDxwndhostView::OnModify() if(dlg.m_ShowFPSOverlay) TargetMaps[i].flags2 |= SHOWFPSOVERLAY; if(dlg.m_TimeStretch) TargetMaps[i].flags2 |= TIMESTRETCH; if(dlg.m_HookOpenGL) TargetMaps[i].flags2 |= HOOKOPENGL; + if(dlg.m_WireFrame) TargetMaps[i].flags2 |= WIREFRAME; if(dlg.m_FakeVersion) TargetMaps[i].flags2 |= FAKEVERSION; if(dlg.m_FullRectBlt) TargetMaps[i].flags2 |= FULLRECTBLT; if(dlg.m_NoPaletteUpdate) TargetMaps[i].flags2 |= NOPALETTEUPDATE; @@ -845,6 +849,7 @@ void CDxwndhostView::OnAdd() if(dlg.m_ShowFPSOverlay) TargetMaps[i].flags2 |= SHOWFPSOVERLAY; if(dlg.m_TimeStretch) TargetMaps[i].flags2 |= TIMESTRETCH; if(dlg.m_HookOpenGL) TargetMaps[i].flags2 |= HOOKOPENGL; + if(dlg.m_WireFrame) TargetMaps[i].flags2 |= WIREFRAME; if(dlg.m_FakeVersion) TargetMaps[i].flags2 |= FAKEVERSION; if(dlg.m_FullRectBlt) TargetMaps[i].flags2 |= FULLRECTBLT; if(dlg.m_NoPaletteUpdate) TargetMaps[i].flags2 |= NOPALETTEUPDATE; @@ -1194,18 +1199,10 @@ DWORD WINAPI StartDebug(void *p) res=MessageBoxEx(0, DebugMessage, "Continue stepping?", MB_YESNO | MB_ICONQUESTION, NULL); if(res!=IDYES) step=FALSE; } - if(1){ - // DLL injection: - char buf[MAX_PATH] = {0}; - BOOL Injected; - extern BOOL Inject(DWORD, const char *); - GetFullPathName("dxinj.dll", MAX_PATH, buf, NULL); - Injected=Inject(pinfo.dwProcessId, buf); - if(!Injected){ - sprintf(DebugMessage,"Injection error: pid=%x dll=%s", pinfo.dwProcessId, buf); - MessageBoxEx(0, DebugMessage, "Injection", MB_ICONEXCLAMATION, NULL); - } - // end of DLL injection + GetFullPathName("dxwnd.dll", MAX_PATH, path, NULL); + if(!Inject(pinfo.dwProcessId, path)){ + sprintf(DebugMessage,"Injection error: pid=%x dll=%s", pinfo.dwProcessId, path); + MessageBoxEx(0, DebugMessage, "Injection", MB_ICONEXCLAMATION, NULL); } break; case CREATE_THREAD_DEBUG_EVENT: