diff --git a/Include/dxwnd.h b/Include/dxwnd.h index eb164e8..aa31275 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -228,6 +228,7 @@ #define INIT24BPP 0x00000400 // simulate a 24BPP initial desktop setting (in GetDeviceCaps API) #define INIT32BPP 0x00000800 // simulate a 24BPP initial desktop setting (in GetDeviceCaps API) #define FIXGLOBALUNLOCK 0x00001000 // Fix GlobalUnlock kernel32 API when it keeps returning the 1 retcode. +#define SHOWHINTS 0x00002000 // show configuration hints at runtime // eighth flags DWORD dxw.dwFlags8: @@ -316,6 +317,7 @@ void GetDllVersion(char *); int GetHookStatus(DXWNDSTATUS *); DXWNDSTATUS *GetHookInfo(); void HookInit(TARGETMAP *, HWND); +void ShowHint(int); char *GetDxWndPath(); void *SetHook(void *, void *); diff --git a/Release/-dxwnd (2).dll b/Release/-dxwnd (2).dll new file mode 100644 index 0000000..23c112e --- /dev/null +++ b/Release/-dxwnd (2).dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:906d0c1b5bea989f124e1f3e1571d22d7fdfbd68c0f04b585b5241378e5e3f6e +size 662016 diff --git a/Release/-dxwnd (3).dll b/Release/-dxwnd (3).dll new file mode 100644 index 0000000..2078c22 --- /dev/null +++ b/Release/-dxwnd (3).dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:759a3c86aff2e48a44fdfed7dac046ead2235e8a0c23326c0827674cd23a3110 +size 662016 diff --git a/Release/-dxwnd.dll b/Release/-dxwnd.dll new file mode 100644 index 0000000..3de31fb --- /dev/null +++ b/Release/-dxwnd.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f2fed41c7a75fae85f371ce9cd76bbf7ffa14f6f53178ed6ef52eef8d3ce0d4 +size 662016 diff --git a/Release/.gitattributes b/Release/.gitattributes new file mode 100644 index 0000000..b110a24 --- /dev/null +++ b/Release/.gitattributes @@ -0,0 +1 @@ +*.{dll,exe} filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/Release/Disasm.dll b/Release/Disasm.dll new file mode 100644 index 0000000..b9c3542 --- /dev/null +++ b/Release/Disasm.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f413a207787da88281500aaeae07fb98d7d438ecb4d67f8fcdf0aff2f988717f +size 138752 diff --git a/Release/dxwnd-sc.ini b/Release/dxwnd-sc.ini new file mode 100644 index 0000000..2f10b5a --- /dev/null +++ b/Release/dxwnd-sc.ini @@ -0,0 +1,67 @@ +[window] +posx=172 +posy=164 +sizx=320 +sizy=200 +exepath=D:\Games\Starcraft\ exportpath=\EDMAINPC\installstuff-archive\ [target] +title0=Starcraft +path0=D:\Games\Starcraft\StarCraft.exe +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=2 +flag0=404750386 +flagg0=134217728 +flagh0=20 +flagi0=142802948 +flagj0=268440577 +flagk0=1114144 +flagl0=0 +flagm0=0 +tflag0=0 +dflag0=0 +posx0=50 +posy0=50 +sizx0=1920 +sizy0=1080 +maxfps0=0 +initts0=-6 +winver0=0 +maxres0=-1 +swapeffect0=0 +maxddinterface0=7 +slowratio0=2 +[target] +title0=Starcraft +path0=D:\Games\Starcraft\StarCraft.exe +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=2 +flag0=136315042 +flagg0=1207959568 +flagh0=20 +flagi0=142606340 +flagj0=5248 +flagk0=65536 +flagl0=0 +flagm0=0 +tflag0=0 +dflag0=0 +posx0=50 +posy0=50 +sizx0=1920 +sizy0=1080 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 +maxddinterface0=7 +slowratio0=2 diff --git a/Release/dxwnd.ini b/Release/dxwnd.ini new file mode 100644 index 0000000..f8811df --- /dev/null +++ b/Release/dxwnd.ini @@ -0,0 +1,698 @@ +[target] +title0=3D Ultra Radio Control Racers +path0=D:\Games\3D Ultra Radio Control Racers\rcracers.exe +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=0 +flag0=681574434 +flagg0=1209008128 +flagh0=20 +flagi0=138412036 +flagj0=4224 +flagk0=65536 +flagl0=0 +flagm0=0 +tflag0=-2147477245 +dflag0=0 +posx0=450 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=800 +initts0=-9 +winver0=0 +maxres0=0 +swapeffect0=4 +maxddinterface0=7 +slowratio0=2 +title1=Imperialism II +path1=D:\Games\Imperialism_2\imperialism II.exe +launchpath1= +module1= +opengllib1= +notes1= +registry1= +ver1=0 +coord1=0 +flag1=679485474 +flagg1=1210073088 +flagh1=32788 +flagi1=4194308 +flagj1=0 +flagk1=32768 +flagl1=8192 +flagm1=0 +tflag1=0 +dflag1=0 +posx1=50 +posy1=50 +sizx1=800 +sizy1=600 +maxfps1=50 +initts1=-9 +winver1=0 +maxres1=0 +swapeffect1=0 +maxddinterface1=7 +slowratio1=1 +title2=Imperialism +path2=D:\Games\Imperialism\Imperialism.exe +launchpath2= +module2= +opengllib2= +notes2= +registry2= +ver2=0 +coord2=0 +flag2=1744839201 +flagg2=137363456 +flagh2=20 +flagi2=4198404 +flagj2=1024 +flagk2=0 +flagl2=0 +flagm2=0 +tflag2=-2147477181 +dflag2=0 +posx2=50 +posy2=50 +sizx2=800 +sizy2=600 +maxfps2=0 +initts2=0 +winver2=0 +maxres2=3 +swapeffect2=3 +maxddinterface2=7 +slowratio2=1 +title3=Microsoft Pandora's Box +path3=D:\Games\Microsoft Pandora's Box\pandora.exe +launchpath3= +module3= +opengllib3= +notes3= +registry3=; Pandora's Box\n\n[HKEY_CURRENT_USER\Software]\n[HKEY_CURRENT_USER\Software\Microsoft]\n[HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Pandora's Box]\n[HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Pandora's Box\1.0]\n"Music"=hex:31\n"PlayerName"="Gho"\n"Sound"=hex:31\n"Timer"=hex:31\n +ver3=0 +coord3=0 +flag3=673185827 +flagg3=1209008128 +flagh3=20 +flagi3=138420228 +flagj3=128 +flagk3=0 +flagl3=0 +flagm3=0 +tflag3=0 +dflag3=0 +posx3=50 +posy3=50 +sizx3=800 +sizy3=600 +maxfps3=0 +initts3=0 +winver3=0 +maxres3=-1 +swapeffect3=0 +maxddinterface3=7 +slowratio3=1 +title4=GOLFDEMO.EXE +path4=D:\Games\MSGolf98\MSGOLF98\GAME.EXE +launchpath4= +module4= +opengllib4= +notes4= +registry4= +ver4=0 +coord4=0 +flag4=136314914 +flagg4=1207959552 +flagh4=20 +flagi4=138412036 +flagj4=4224 +flagk4=327680 +flagl4=0 +flagm4=0 +tflag4=0 +dflag4=0 +posx4=0 +posy4=0 +sizx4=800 +sizy4=600 +maxfps4=0 +initts4=0 +winver4=72 +maxres4=-1 +swapeffect4=0 +maxddinterface4=7 +slowratio4=2 +title5=GAME.EXE +path5=D:\Games\msgolf99\GAME.EXE +launchpath5= +module5= +opengllib5= +notes5= +registry5= +ver5=0 +coord5=0 +flag5=136314914 +flagg5=1207959552 +flagh5=20 +flagi5=138412036 +flagj5=4224 +flagk5=327680 +flagl5=0 +flagm5=0 +tflag5=0 +dflag5=0 +posx5=0 +posy5=0 +sizx5=800 +sizy5=600 +maxfps5=0 +initts5=0 +winver5=72 +maxres5=-1 +swapeffect5=0 +maxddinterface5=7 +slowratio5=2 +title6=Mortal Kombat 4 +path6=D:\Games\Mortal Kombat 4\Mortal Kombat 4.exe +launchpath6= +module6= +opengllib6= +notes6= +registry6= +ver6=0 +coord6=0 +flag6=136314914 +flagg6=1207959552 +flagh6=20 +flagi6=138412036 +flagj6=4224 +flagk6=65536 +flagl6=8192 +flagm6=0 +tflag6=0 +dflag6=0 +posx6=0 +posy6=0 +sizx6=800 +sizy6=600 +maxfps6=0 +initts6=0 +winver6=0 +maxres6=-1 +swapeffect6=0 +maxddinterface6=7 +slowratio6=2 +title7=empires.exe +path7=D:\Games\Age of Empires Trial\empires.exe +launchpath7= +module7= +opengllib7= +notes7= +registry7= +ver7=0 +coord7=0 +flag7=136314914 +flagg7=1210073088 +flagh7=20 +flagi7=138412036 +flagj7=4224 +flagk7=327680 +flagl7=0 +flagm7=0 +tflag7=0 +dflag7=0 +posx7=0 +posy7=0 +sizx7=800 +sizy7=600 +maxfps7=50 +initts7=42 +winver7=0 +maxres7=-1 +swapeffect7=0 +maxddinterface7=7 +slowratio7=2 +title8=Need for Speed High Stakes demo +path8=D:\Games\Need for Speed High Stakes demo\nfshsd.exe +launchpath8= +module8= +opengllib8= +notes8= +registry8=ܙ+ +ver8=0 +coord8=0 +flag8=136314914 +flagg8=1212153856 +flagh8=20 +flagi8=138412036 +flagj8=4224 +flagk8=65536 +flagl8=0 +flagm8=0 +tflag8=-2147477245 +dflag8=0 +posx8=50 +posy8=50 +sizx8=800 +sizy8=600 +maxfps8=0 +initts8=0 +winver8=0 +maxres8=-1 +swapeffect8=0 +maxddinterface8=7 +slowratio8=2 +title9=Need for Speed High Stakes demo +path9=C:\nfsdemo\nfshsd.exe +launchpath9=C:\nfsdemo\nfshsd.exe -patchrestart +module9=d3da +opengllib9= +notes9= +registry9= +ver9=0 +coord9=0 +flag9=203423842 +flagg9=1749024768 +flagh9=1044 +flagi9=1212153860 +flagj9=4224 +flagk9=327680 +flagl9=0 +flagm9=0 +tflag9=-2147476733 +dflag9=0 +posx9=50 +posy9=50 +sizx9=800 +sizy9=600 +maxfps9=0 +initts9=0 +winver9=0 +maxres9=-1 +swapeffect9=0 +maxddinterface9=7 +slowratio9=2 +title10=Need 4 Speed IV High Stakes +path10=D:\Games\Need 4 Speed IV High Stakes\nfshs.exe +launchpath10=D:\Games\Need 4 Speed IV High Stakes\nfshs.exe -PatchRestart +module10= +opengllib10= +notes10= +registry10=[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\Need For Speed High Stakes]\n"Version"="4.00"\n"InstallPath"=".\\"\n"3D Device Description"="Software Renderer"\n"3D Card"="[Direct 3D]"\n"Thrash Driver"="d3d"\n"Group"="D3D"\n"D3D Device"=dword:00000000\n"Triple Buffer"=dword:00000000\n"Hardware Acceleration"=dword:00000001\n"Thrash Resolution"="1600x1200"\n\n[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\Need For Speed High Stakes]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\Need For Speed High Stakes\1.0]\n"Language"=dword:00000001\n"Variant"=dword:00000000\n"Night"=dword:00000000\n"InstLev"=dword:00000002\n"SrcDrive"=".\\"\n +ver10=0 +coord10=0 +flag10=136314914 +flagg10=1476395008 +flagh10=1044 +flagi10=1212153860 +flagj10=4224 +flagk10=65536 +flagl10=8192 +flagm10=0 +tflag10=-2147483135 +dflag10=0 +posx10=50 +posy10=50 +sizx10=800 +sizy10=600 +maxfps10=0 +initts10=0 +winver10=0 +maxres10=-1 +swapeffect10=0 +maxddinterface10=7 +slowratio10=2 +title11=Chicago 1930 +path11=D:\Games\Chicago.1930\Chicago 1930\Chicago 1930.exe +launchpath11= +module11= +opengllib11= +notes11= +registry11= +ver11=0 +coord11=0 +flag11=134234150 +flagg11=1207959552 +flagh11=20 +flagi11=4325380 +flagj11=128 +flagk11=65536 +flagl11=0 +flagm11=0 +tflag11=0 +dflag11=0 +posx11=50 +posy11=50 +sizx11=800 +sizy11=600 +maxfps11=0 +initts11=0 +winver11=0 +maxres11=-1 +swapeffect11=0 +maxddinterface11=7 +slowratio11=1 +title12=T-Zwei demo +path12=D:\Games\T-Zwei\TZwei.exe +launchpath12= +module12= +opengllib12= +notes12= +registry12= +ver12=0 +coord12=0 +flag12=136314914 +flagg12=1744830464 +flagh12=20 +flagi12=138412036 +flagj12=4224 +flagk12=65536 +flagl12=0 +flagm12=0 +tflag12=-2147477245 +dflag12=0 +posx12=50 +posy12=50 +sizx12=800 +sizy12=600 +maxfps12=0 +initts12=0 +winver12=0 +maxres12=-1 +swapeffect12=0 +maxddinterface12=7 +slowratio12=2 +title13=Warhammer 40K Rites of War +path13=D:\Games\Warhammer 40.000 Rites of War\RoW.exe +launchpath13= +module13= +opengllib13= +notes13=After installing the game copy the "Map" -folder from the CD to the \nRites of War\ directory on your hard drive.\n\nThis will fix the issue where the game crashes when starting a campaign. +registry13= +ver13=0 +coord13=0 +flag13=685772838 +flagg13=1207959680 +flagh13=4 +flagi13=138412036 +flagj13=4224 +flagk13=327680 +flagl13=0 +flagm13=0 +tflag13=-2147477245 +dflag13=0 +posx13=50 +posy13=50 +sizx13=0 +sizy13=0 +maxfps13=0 +initts13=0 +winver13=0 +maxres13=-1 +swapeffect13=0 +maxddinterface13=7 +slowratio13=2 +title14=Dylan Dog Horror at Luna Park +path14=D:\Games\DylanDog\hlp.exe +launchpath14= +module14= +opengllib14= +notes14= +registry14= +ver14=0 +coord14=0 +flag14=136314914 +flagg14=1745879040 +flagh14=1048596 +flagi14=138412038 +flagj14=5248 +flagk14=65538 +flagl14=0 +flagm14=0 +tflag14=-2147477245 +dflag14=0 +posx14=50 +posy14=50 +sizx14=800 +sizy14=600 +maxfps14=0 +initts14=0 +winver14=0 +maxres14=-1 +swapeffect14=0 +maxddinterface14=7 +slowratio14=1 +title15=Tungusskiy Meteorit +path15=D:\Games\Tungusskiy Meteorit\Tungusskiy Meteorit.exe +launchpath15= +module15= +opengllib15= +notes15= +registry15= +ver15=0 +coord15=0 +flag15=681574434 +flagg15=1207959552 +flagh15=20 +flagi15=138412036 +flagj15=4224 +flagk15=65536 +flagl15=0 +flagm15=0 +tflag15=0 +dflag15=0 +posx15=50 +posy15=50 +sizx15=800 +sizy15=600 +maxfps15=0 +initts15=0 +winver15=0 +maxres15=-1 +swapeffect15=0 +maxddinterface15=7 +slowratio15=2 +title16=Robocop 2D 2 +path16=D:\Games\Robocop2D2\Robocop2D2.exe +launchpath16= +module16= +opengllib16= +notes16=It seems necessary to click on the small white client area in the tiny window \nin the upper left corner of the desktop to bring everything to normality! +registry16= +ver16=0 +coord16=0 +flag16=136314914 +flagg16=1207959552 +flagh16=20 +flagi16=138412036 +flagj16=4224 +flagk16=65536 +flagl16=0 +flagm16=0 +tflag16=0 +dflag16=0 +posx16=50 +posy16=50 +sizx16=800 +sizy16=600 +maxfps16=0 +initts16=0 +winver16=0 +maxres16=-1 +swapeffect16=0 +maxddinterface16=7 +slowratio16=2 +title17=Robocop 2D +path17=D:\Games\Robocop2Dv1_2\Robocop2Dv1_2.exe +launchpath17= +module17= +opengllib17= +notes17=It seems necessary to click on the small white client area in the tiny window \nin the upper left corner of the desktop to bring everything to normality! +registry17= +ver17=0 +coord17=0 +flag17=136314914 +flagg17=1207959552 +flagh17=65556 +flagi17=138412036 +flagj17=4224 +flagk17=65536 +flagl17=0 +flagm17=0 +tflag17=-2147477245 +dflag17=0 +posx17=50 +posy17=50 +sizx17=800 +sizy17=600 +maxfps17=0 +initts17=0 +winver17=0 +maxres17=-1 +swapeffect17=0 +maxddinterface17=7 +slowratio17=2 +title18=Portugal 1111 +path18=D:\Games\Portugal 1111\Port1111.exe +launchpath18= +module18= +opengllib18= +notes18= +registry18= +ver18=7 +coord18=0 +flag18=136331314 +flagg18=1207961600 +flagh18=20 +flagi18=-2009071612 +flagj18=4224 +flagk18=65536 +flagl18=0 +flagm18=0 +tflag18=6402 +dflag18=0 +posx18=50 +posy18=50 +sizx18=800 +sizy18=600 +maxfps18=0 +initts18=0 +winver18=0 +maxres18=-1 +swapeffect18=0 +maxddinterface18=7 +slowratio18=2 +title19=Motocross Madness +path19=D:\Games\motocross madness\mcm.exe +launchpath19= +module19= +opengllib19= +notes19= +registry19= +ver19=0 +coord19=0 +flag19=169885728 +flagg19=134219776 +flagh19=20 +flagi19=2097156 +flagj19=0 +flagk19=0 +flagl19=0 +flagm19=0 +tflag19=6415 +dflag19=0 +posx19=50 +posy19=50 +sizx19=800 +sizy19=600 +maxfps19=0 +initts19=0 +winver19=0 +maxres19=-1 +swapeffect19=0 +maxddinterface19=7 +slowratio19=1 +title20=Motocross Madness (RIP) +path20=D:\Games\Motocross_Madness\mcm.exe +launchpath20= +module20= +opengllib20= +notes20= +registry20=[HKEY_LOCAL_MACHINE\Software\Microsoft]\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games]\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness]\n"1.0"=".\\"\n\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0]\n"InstalledFrom"=".\\"\n"HardDriveRootPath"=".\\"\n"InstallType"="Full"\n"version"="1.0"\n"Launched"="1"\n"PID"="87799-442-0210567-79960"\n"Path"=".\\"\n"VersionType"="RetailVersion"\n"InstalledGroup"="15"\n"LangID"=dword:00000009\n"OmitDriverCheck"=dword:00000000\n"LocalDriverInfo"=hex:4e,56,33,44,44,33,32,2e,44,4c,4c,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,34,2e,31,30,2e,30,2e,31,37,31,33,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,56,69,70,65,72,20,\\n 56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,76,61,20,31,32,38,29,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,\\n 6f,6e,64,20,56,69,70,65,72,20,56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,\\n 76,61,20,31,32,38,29,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,4d,75,6c,74,69,6d,65,64,69,61,20,\\n 53,79,73,74,65,6d,73,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,08,6d,6d,33,64,66,78,33,32,2e,64,6c,6c,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,34,2e,31,\\n 30,2e,30,2e,31,35,39,38,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,64,6f,6f,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,\\n 64,6f,6f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,33,44,66,78,20,49,6e,74,65,72,61,63,74,69,76,65,2c,20,49,6e,63,2e,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,08\n\n[HKEY_LOCAL_MACHINE\Software\Microsoft]\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games]\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness]\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0]\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo]\n\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{00000000-0000-0000-0000-000000000000}]\n"Driver"="NV3DD32.DLL"\n"Version"="4.10.0.1713"\n"Description"="Diamond Viper V330 (Nvidia Riva 128)"\n"DeviceID"="PCI\\VEN_12D2&DEV_0018&SUBSYS_10921092&REV_10\\000800"\n"NumberOfModes"=dword:00000025\n"Modes"=hex:40,01,00,00,c8,00,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,40,01,00,00,f0,00,00,00,08,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,08,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,08,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,00,08,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,90,01,00,\\n 00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\\n e0,01,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,20,\\n 03,00,00,58,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,c0,03,00,00,d0,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,04,00,00,00,03,00,00,08,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,08,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,05,00,00,00,04,00,00,08,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,06,00,00,b0,04,00,00,08,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,c8,00,00,00,\\n 10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,f0,\\n 00,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,90,01,\\n 00,00,2c,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,\\n 01,e0,01,00,00,68,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,\\n e0,fd,ff,01,00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,\\n 00,00,00,e0,fd,ff,01,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,\\n 00,01,00,00,00,00,00,00,00,e0,fd,ff,01,20,03,00,00,58,02,00,00,10,00,00,00,\\n 00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,c0,03,00,00,d0,02,00,00,10,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,03,\\n 00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,04,00,\\n 00,60,03,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,05,00,00,00,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,40,06,00,00,b0,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,40,01,00,00,c8,00,00,00,20,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,40,01,00,00,f0,00,00,00,20,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,20,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,20,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,\\n 00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\\n 90,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,\\n 02,00,00,e0,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,20,03,00,00,58,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,c0,03,00,00,d0,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,04,00,00,00,03,00,00,20,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,20,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"TextureSizes"=hex:00,00,02,00,aa,aa,02,00,00,80,00,00,aa,aa,00,00,00,20,00,00,\\n aa,2a,00,00,00,08,00,00,a0,0d,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\\n 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n\n[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{3A0CFD01-9320-11CF-ACA1-00A02413C2E2}]\n"Driver"="mm3dfx32.dll"\n"Version"="4.10.0.1598"\n"Description"="3Dfx Voodoo"\n"DeviceID"="PCI\\VEN_121A&DEV_0001&SUBSYS_00000000&REV_02\\BUS_00&DEV_0E&FUNC_00"\n"NumberOfModes"=dword:00000004\n"Modes"=hex:00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,01,00,\\n 00,00,00,00,40,00,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,00,\\n 00,01,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,00,\\n 01,00,00,00,01,00,00,00,00,00,40,00,20,03,00,00,58,02,00,00,10,00,00,00,00,\\n 00,00,00,01,00,00,00,00,00,00,00,00,00,40,00\n"TextureSizes"=hex:00,00,02,00,33,ab,02,00,00,80,00,00,33,ab,00,00,00,20,00,00,\\n 33,2b,00,00,00,08,00,00,33,0b,00,00,00,04,01,00,55,59,01,00,00,44,00,00,55,\\n 59,00,00,00,14,00,00,55,19,00,00,00,08,00,00,55,09,00,00\n\n +ver20=0 +coord20=0 +flag20=136314882 +flagg20=1207959552 +flagh20=1044 +flagi20=1212153860 +flagj20=4224 +flagk20=65536 +flagl20=0 +flagm20=0 +tflag20=0 +dflag20=0 +posx20=50 +posy20=50 +sizx20=800 +sizy20=600 +maxfps20=0 +initts20=0 +winver20=0 +maxres20=-1 +swapeffect20=0 +maxddinterface20=7 +slowratio20=2 +title21=System Shock 2 +path21=D:\Games\System Shock 2\SHOCK2.EXE +launchpath21= +module21= +opengllib21= +notes21= +registry21= +ver21=0 +coord21=0 +flag21=136314978 +flagg21=2046820352 +flagh21=133652 +flagi21=-2011168764 +flagj21=4736 +flagk21=65536 +flagl21=8192 +flagm21=0 +tflag21=-2147477245 +dflag21=0 +posx21=50 +posy21=50 +sizx21=800 +sizy21=600 +maxfps21=0 +initts21=0 +winver21=0 +maxres21=-1 +swapeffect21=0 +maxddinterface21=7 +slowratio21=2 +title22=Uru +path22=D:\Games\uru\Uru.exe +launchpath22= +module22= +opengllib22= +notes22= +registry22= +ver22=0 +coord22=0 +flag22=136314914 +flagg22=1207959552 +flagh22=20 +flagi22=134217732 +flagj22=4224 +flagk22=65536 +flagl22=0 +flagm22=0 +tflag22=0 +dflag22=0 +posx22=50 +posy22=50 +sizx22=800 +sizy22=600 +maxfps22=0 +initts22=0 +winver22=0 +maxres22=-1 +swapeffect22=0 +maxddinterface22=7 +slowratio22=2 +[window] +posx=1051 +posy=225 +sizx=320 +sizy=253 +exportpath=D:\DxWnd\exports.ok\ +exepath=D:\Games\motocross madness\ diff --git a/Release/dxwnd.reg b/Release/dxwnd.reg new file mode 100644 index 0000000..ac2590a --- /dev/null +++ b/Release/dxwnd.reg @@ -0,0 +1,238 @@ +[HKEY_LOCAL_MACHINE\Software\Microsoft] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness] +"1.0"=".\\" + +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0] +"InstalledFrom"=".\\" +"HardDriveRootPath"=".\\" +"InstallType"="Full" +"version"="1.0" +"Launched"="1" +"PID"="87799-442-0210567-79960" +"Path"=".\\" +"VersionType"="RetailVersion" +"InstalledGroup"="15" +"LangID"=dword:00000009 +"OmitDriverCheck"=dword:00000000 +"LocalDriverInfo"=hex:4e,56,33,44,44,33,32,2e,44,4c,4c,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,34,2e,31,30,2e,30,2e,31,37,31,33,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,56,69,70,65,72,20,\ + 56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,76,61,20,31,32,38,29,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,\ + 6f,6e,64,20,56,69,70,65,72,20,56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,\ + 76,61,20,31,32,38,29,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,4d,75,6c,74,69,6d,65,64,69,61,20,\ + 53,79,73,74,65,6d,73,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,08,6d,6d,33,64,66,78,33,32,2e,64,6c,6c,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,34,2e,31,\ + 30,2e,30,2e,31,35,39,38,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,64,6f,6f,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,\ + 64,6f,6f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,33,44,66,78,20,49,6e,74,65,72,61,63,74,69,76,65,2c,20,49,6e,63,2e,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,08 + +[HKEY_LOCAL_MACHINE\Software\Microsoft] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo] + +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{00000000-0000-0000-0000-000000000000}] +"Driver"="NV3DD32.DLL" +"Version"="4.10.0.1713" +"Description"="Diamond Viper V330 (Nvidia Riva 128)" +"DeviceID"="PCI\\VEN_12D2&DEV_0018&SUBSYS_10921092&REV_10\\000800" +"NumberOfModes"=dword:00000025 +"Modes"=hex:40,01,00,00,c8,00,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,40,01,00,00,f0,00,00,00,08,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,08,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,08,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,00,08,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,90,01,00,\ + 00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\ + e0,01,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,20,\ + 03,00,00,58,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,c0,03,00,00,d0,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,04,00,00,00,03,00,00,08,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,08,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,05,00,00,00,04,00,00,08,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,06,00,00,b0,04,00,00,08,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,c8,00,00,00,\ + 10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,f0,\ + 00,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,90,01,\ + 00,00,2c,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,\ + 01,e0,01,00,00,68,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,\ + e0,fd,ff,01,00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,\ + 00,00,00,e0,fd,ff,01,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,\ + 00,01,00,00,00,00,00,00,00,e0,fd,ff,01,20,03,00,00,58,02,00,00,10,00,00,00,\ + 00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,c0,03,00,00,d0,02,00,00,10,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,03,\ + 00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,04,00,\ + 00,60,03,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,05,00,00,00,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,40,06,00,00,b0,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,40,01,00,00,c8,00,00,00,20,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,40,01,00,00,f0,00,00,00,20,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,20,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,20,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,\ + 00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\ + 90,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,\ + 02,00,00,e0,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,20,03,00,00,58,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,c0,03,00,00,d0,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,04,00,00,00,03,00,00,20,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,20,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00 +"TextureSizes"=hex:00,00,02,00,aa,aa,02,00,00,80,00,00,aa,aa,00,00,00,20,00,00,\ + aa,2a,00,00,00,08,00,00,a0,0d,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 + +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{3A0CFD01-9320-11CF-ACA1-00A02413C2E2}] +"Driver"="mm3dfx32.dll" +"Version"="4.10.0.1598" +"Description"="3Dfx Voodoo" +"DeviceID"="PCI\\VEN_121A&DEV_0001&SUBSYS_00000000&REV_02\\BUS_00&DEV_0E&FUNC_00" +"NumberOfModes"=dword:00000004 +"Modes"=hex:00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,01,00,\ + 00,00,00,00,40,00,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,00,\ + 00,01,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,00,\ + 01,00,00,00,01,00,00,00,00,00,40,00,20,03,00,00,58,02,00,00,10,00,00,00,00,\ + 00,00,00,01,00,00,00,00,00,00,00,00,00,40,00 +"TextureSizes"=hex:00,00,02,00,33,ab,02,00,00,80,00,00,33,ab,00,00,00,20,00,00,\ + 33,2b,00,00,00,08,00,00,33,0b,00,00,00,04,01,00,55,59,01,00,00,44,00,00,55,\ + 59,00,00,00,14,00,00,55,19,00,00,00,08,00,00,55,09,00,00 + + diff --git a/Release/filter.dll b/Release/filter.dll new file mode 100644 index 0000000..41f9d5a --- /dev/null +++ b/Release/filter.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d364d53ff922e8381c306d23d51c3a93a0512325824e5e0513c424e9372f9b4c +size 13312 diff --git a/Release/vcomp90.dll b/Release/vcomp90.dll new file mode 100644 index 0000000..71b9a14 --- /dev/null +++ b/Release/vcomp90.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9140efe26252b6329da254201219fc2d17a3f651e1591e32ae04c86a27e35bb2 +size 51024 diff --git a/build/dxwnd.dll b/build/dxwnd.dll index 1220791..3dadef2 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e285a1e111688d9564456ef3cba3955cbf10fd56e711280c3da2c5028c4b734e -size 660480 +oid sha256:a11147cad06a6c6591536e555612315193dd8fcaecb0477ac76c8eb73042c52c +size 664576 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index c993d91..0444afe 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:45173c58df52cbfe63834fb949adf1dc91809a0fce0acdad63069e1c7a20d71a -size 642560 +oid sha256:49268359617f435f5ecf49d8bd37d95d15779ad9aa9a2035b1b33089c0f2c170 +size 644096 diff --git a/build/exports/dxwnd.reg b/build/exports/dxwnd.reg index 0bf1cd1..a1f8fd2 100644 --- a/build/exports/dxwnd.reg +++ b/build/exports/dxwnd.reg @@ -1,19 +1,238 @@ +[HKEY_LOCAL_MACHINE\Software\Microsoft] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness] +"1.0"=".\\" -[HKEY_LOCAL_MACHINE\Software] -[HKEY_LOCAL_MACHINE\Software\MicroProse] -[HKEY_LOCAL_MACHINE\Software\MicroProse\MechWarrior 3 EP1] -[HKEY_LOCAL_MACHINE\Software\MicroProse\MechWarrior 3 EP1\1.0] -"Program"="..\\" -"Version"="1.0" -"InstallOptions"=dword:00050707 +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0] +"InstalledFrom"=".\\" +"HardDriveRootPath"=".\\" +"InstallType"="Full" +"version"="1.0" +"Launched"="1" +"PID"="87799-442-0210567-79960" +"Path"=".\\" +"VersionType"="RetailVersion" +"InstalledGroup"="15" +"LangID"=dword:00000009 +"OmitDriverCheck"=dword:00000000 +"LocalDriverInfo"=hex:4e,56,33,44,44,33,32,2e,44,4c,4c,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,34,2e,31,30,2e,30,2e,31,37,31,33,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,56,69,70,65,72,20,\ + 56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,76,61,20,31,32,38,29,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,44,69,61,6d,\ + 6f,6e,64,20,56,69,70,65,72,20,56,33,33,30,20,28,4e,76,69,64,69,61,20,52,69,\ + 76,61,20,31,32,38,29,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,44,69,61,6d,6f,6e,64,20,4d,75,6c,74,69,6d,65,64,69,61,20,\ + 53,79,73,74,65,6d,73,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,08,6d,6d,33,64,66,78,33,32,2e,64,6c,6c,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,34,2e,31,\ + 30,2e,30,2e,31,35,39,38,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,64,6f,6f,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,33,44,66,78,20,56,6f,6f,\ + 64,6f,6f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,33,44,66,78,20,49,6e,74,65,72,61,63,74,69,76,65,2c,20,49,6e,63,2e,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,08 [HKEY_LOCAL_MACHINE\Software\Microsoft] -[HKEY_LOCAL_MACHINE\Software\Microsoft\DirectPlay] -[HKEY_LOCAL_MACHINE\Software\Microsoft\DirectPlay\Applications] -[HKEY_LOCAL_MACHINE\Software\Microsoft\DirectPlay\Applications\MechWarrior 3 EP1] -"Guid"="{FA96C421-18DD-11D3-95AF-0060089877F0}" -"File"="Mech3.exe" -"CommandLine"=" -"Path"=".\\" -"CurrentDirectory"=".\\" +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo] +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{00000000-0000-0000-0000-000000000000}] +"Driver"="NV3DD32.DLL" +"Version"="4.10.0.1713" +"Description"="Diamond Viper V330 (Nvidia Riva 128)" +"DeviceID"="PCI\\VEN_12D2&DEV_0018&SUBSYS_10921092&REV_10\\000800" +"NumberOfModes"=dword:00000025 +"Modes"=hex:40,01,00,00,c8,00,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,40,01,00,00,f0,00,00,00,08,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,08,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,08,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,00,08,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,90,01,00,\ + 00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\ + e0,01,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,20,\ + 03,00,00,58,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,c0,03,00,00,d0,02,00,00,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,04,00,00,00,03,00,00,08,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,08,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,05,00,00,00,04,00,00,08,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,06,00,00,b0,04,00,00,08,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,c8,00,00,00,\ + 10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,40,01,00,00,f0,\ + 00,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,90,01,\ + 00,00,2c,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,\ + 01,e0,01,00,00,68,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,\ + e0,fd,ff,01,00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,00,\ + 00,00,00,e0,fd,ff,01,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,\ + 00,01,00,00,00,00,00,00,00,e0,fd,ff,01,20,03,00,00,58,02,00,00,10,00,00,00,\ + 00,00,00,00,01,00,00,00,00,00,00,00,e0,fd,ff,01,c0,03,00,00,d0,02,00,00,10,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,03,\ + 00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,04,00,\ + 00,60,03,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,05,00,00,00,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,40,06,00,00,b0,04,00,00,10,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,40,01,00,00,c8,00,00,00,20,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,40,01,00,00,f0,00,00,00,20,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,2c,01,00,00,20,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,e0,01,00,00,68,01,00,00,20,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,80,01,00,\ + 00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,02,00,00,\ + 90,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,\ + 02,00,00,e0,01,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,20,03,00,00,58,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,c0,03,00,00,d0,02,00,00,20,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,04,00,00,00,03,00,00,20,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,80,04,00,00,60,03,00,00,20,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00 +"TextureSizes"=hex:00,00,02,00,aa,aa,02,00,00,80,00,00,aa,aa,00,00,00,20,00,00,\ + aa,2a,00,00,00,08,00,00,a0,0d,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ + 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 + +[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Motocross Madness\1.0\DriverInfo\{3A0CFD01-9320-11CF-ACA1-00A02413C2E2}] +"Driver"="mm3dfx32.dll" +"Version"="4.10.0.1598" +"Description"="3Dfx Voodoo" +"DeviceID"="PCI\\VEN_121A&DEV_0001&SUBSYS_00000000&REV_02\\BUS_00&DEV_0E&FUNC_00" +"NumberOfModes"=dword:00000004 +"Modes"=hex:00,02,00,00,80,01,00,00,10,00,00,00,00,00,00,00,01,00,00,00,01,00,\ + 00,00,00,00,40,00,80,02,00,00,90,01,00,00,10,00,00,00,00,00,00,00,00,00,00,\ + 00,01,00,00,00,00,00,00,00,80,02,00,00,e0,01,00,00,10,00,00,00,00,00,00,00,\ + 01,00,00,00,01,00,00,00,00,00,40,00,20,03,00,00,58,02,00,00,10,00,00,00,00,\ + 00,00,00,01,00,00,00,00,00,00,00,00,00,40,00 +"TextureSizes"=hex:00,00,02,00,33,ab,02,00,00,80,00,00,33,ab,00,00,00,20,00,00,\ + 33,2b,00,00,00,08,00,00,33,0b,00,00,00,04,01,00,55,59,01,00,00,44,00,00,55,\ + 59,00,00,00,14,00,00,55,19,00,00,00,08,00,00,55,09,00,00 + + diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index f595b46..cc388c3 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -1168,4 +1168,11 @@ fix: workaround for occasional DDERR_INVALIDPARAMS error in service GetDisplayMo fix: code cleanup: eliminated CREATEDESKTOP handling, experimental and no longer supported fix: vdxcore::IsToRemap now detects the NULL dc handle as remappable DC fix: some logging imperfections -fix: palette log message crashing the program \ No newline at end of file +fix: palette log message crashing the program + +v2.03.77 +fix: SetCooperativeLevel with 0 HDC should not alter fullscreen status (fixes Portugal 1111 scrolling problem) +add: preliminary "Show hints" flag and feature +GUI: multi-line tab control +GUI: clicking on notes and registry icons the GUI goes straight to the relative tab pages. +GUI: The DirectX tab is now splitted in two, so that there no longer are DirectX switches into the Direct3D tab. diff --git a/dll/Release/BuildLog.htm b/dll/Release/BuildLog.htm new file mode 100644 index 0000000..1f3d410 Binary files /dev/null and b/dll/Release/BuildLog.htm differ diff --git a/dll/Release/Inject.obj b/dll/Release/Inject.obj new file mode 100644 index 0000000..cbd6005 Binary files /dev/null and b/dll/Release/Inject.obj differ diff --git a/dll/Release/advapi.obj b/dll/Release/advapi.obj new file mode 100644 index 0000000..7969ede Binary files /dev/null and b/dll/Release/advapi.obj differ diff --git a/dll/Release/avifile.obj b/dll/Release/avifile.obj new file mode 100644 index 0000000..dcf9063 Binary files /dev/null and b/dll/Release/avifile.obj differ diff --git a/dll/Release/comctl32.obj b/dll/Release/comctl32.obj new file mode 100644 index 0000000..d7757a0 Binary files /dev/null and b/dll/Release/comctl32.obj differ diff --git a/dll/Release/comdlg32.obj b/dll/Release/comdlg32.obj new file mode 100644 index 0000000..f62708f Binary files /dev/null and b/dll/Release/comdlg32.obj differ diff --git a/dll/Release/cpulimit.obj b/dll/Release/cpulimit.obj new file mode 100644 index 0000000..fdfbbda Binary files /dev/null and b/dll/Release/cpulimit.obj differ diff --git a/dll/Release/d3dtexture.obj b/dll/Release/d3dtexture.obj new file mode 100644 index 0000000..a710d3b Binary files /dev/null and b/dll/Release/d3dtexture.obj differ diff --git a/dll/Release/ddblit.obj b/dll/Release/ddblit.obj new file mode 100644 index 0000000..049b9eb Binary files /dev/null and b/dll/Release/ddblit.obj differ diff --git a/dll/Release/ddraw.obj b/dll/Release/ddraw.obj new file mode 100644 index 0000000..c9f056b Binary files /dev/null and b/dll/Release/ddraw.obj differ diff --git a/dll/Release/ddrawex.obj b/dll/Release/ddrawex.obj new file mode 100644 index 0000000..116b1eb Binary files /dev/null and b/dll/Release/ddrawex.obj differ diff --git a/dll/Release/ddshot.obj b/dll/Release/ddshot.obj new file mode 100644 index 0000000..fa724ee Binary files /dev/null and b/dll/Release/ddshot.obj differ diff --git a/dll/Release/ddtexture.obj b/dll/Release/ddtexture.obj new file mode 100644 index 0000000..98d0ea9 Binary files /dev/null and b/dll/Release/ddtexture.obj differ diff --git a/dll/Release/dinput.obj b/dll/Release/dinput.obj new file mode 100644 index 0000000..14aab0d Binary files /dev/null and b/dll/Release/dinput.obj differ diff --git a/dll/Release/dsound.obj b/dll/Release/dsound.obj new file mode 100644 index 0000000..85a83e4 Binary files /dev/null and b/dll/Release/dsound.obj differ diff --git a/dll/Release/dwhide.obj b/dll/Release/dwhide.obj new file mode 100644 index 0000000..c371a6c Binary files /dev/null and b/dll/Release/dwhide.obj differ diff --git a/dll/Release/dxdiaghook.obj b/dll/Release/dxdiaghook.obj new file mode 100644 index 0000000..6561c8a Binary files /dev/null and b/dll/Release/dxdiaghook.obj differ diff --git a/dll/Release/dxemublt.obj b/dll/Release/dxemublt.obj new file mode 100644 index 0000000..73a396c Binary files /dev/null and b/dll/Release/dxemublt.obj differ diff --git a/dll/Release/dxhelper.obj b/dll/Release/dxhelper.obj new file mode 100644 index 0000000..370683f Binary files /dev/null and b/dll/Release/dxhelper.obj differ diff --git a/dll/Release/dxhook.obj b/dll/Release/dxhook.obj new file mode 100644 index 0000000..32fccb2 Binary files /dev/null and b/dll/Release/dxhook.obj differ diff --git a/dll/Release/dxwcore.obj b/dll/Release/dxwcore.obj new file mode 100644 index 0000000..12469a7 Binary files /dev/null and b/dll/Release/dxwcore.obj differ diff --git a/dll/Release/dxwnd.exp b/dll/Release/dxwnd.exp new file mode 100644 index 0000000..bbc3f60 Binary files /dev/null and b/dll/Release/dxwnd.exp differ diff --git a/dll/Release/dxwnd.lib b/dll/Release/dxwnd.lib new file mode 100644 index 0000000..fcf4f01 Binary files /dev/null and b/dll/Release/dxwnd.lib differ diff --git a/dll/Release/dxwnd.obj b/dll/Release/dxwnd.obj new file mode 100644 index 0000000..d9fe799 Binary files /dev/null and b/dll/Release/dxwnd.obj differ diff --git a/dll/Release/dxwnd.res b/dll/Release/dxwnd.res new file mode 100644 index 0000000..97325b7 Binary files /dev/null and b/dll/Release/dxwnd.res differ diff --git a/dll/Release/dxwsstack.obj b/dll/Release/dxwsstack.obj new file mode 100644 index 0000000..fa87021 Binary files /dev/null and b/dll/Release/dxwsstack.obj differ diff --git a/dll/Release/dxwwstack.obj b/dll/Release/dxwwstack.obj new file mode 100644 index 0000000..8cdf16e Binary files /dev/null and b/dll/Release/dxwwstack.obj differ diff --git a/dll/Release/gdi32.obj b/dll/Release/gdi32.obj new file mode 100644 index 0000000..1005004 Binary files /dev/null and b/dll/Release/gdi32.obj differ diff --git a/dll/Release/gdiblt.obj b/dll/Release/gdiblt.obj new file mode 100644 index 0000000..f398602 Binary files /dev/null and b/dll/Release/gdiblt.obj differ diff --git a/dll/Release/glide.obj b/dll/Release/glide.obj new file mode 100644 index 0000000..c470ff0 Binary files /dev/null and b/dll/Release/glide.obj differ diff --git a/dll/Release/hd3d.obj b/dll/Release/hd3d.obj new file mode 100644 index 0000000..43ab513 Binary files /dev/null and b/dll/Release/hd3d.obj differ diff --git a/dll/Release/hd3d7.obj b/dll/Release/hd3d7.obj new file mode 100644 index 0000000..2a08a2c Binary files /dev/null and b/dll/Release/hd3d7.obj differ diff --git a/dll/Release/hd3d8.obj b/dll/Release/hd3d8.obj new file mode 100644 index 0000000..f30e65e Binary files /dev/null and b/dll/Release/hd3d8.obj differ diff --git a/dll/Release/hd3d9.obj b/dll/Release/hd3d9.obj new file mode 100644 index 0000000..a0f5ac9 Binary files /dev/null and b/dll/Release/hd3d9.obj differ diff --git a/dll/Release/hexdump.obj b/dll/Release/hexdump.obj new file mode 100644 index 0000000..f1b2bd1 Binary files /dev/null and b/dll/Release/hexdump.obj differ diff --git a/dll/Release/hint.obj b/dll/Release/hint.obj new file mode 100644 index 0000000..4ccdd63 Binary files /dev/null and b/dll/Release/hint.obj differ diff --git a/dll/Release/hotpatch.obj b/dll/Release/hotpatch.obj new file mode 100644 index 0000000..b36731b Binary files /dev/null and b/dll/Release/hotpatch.obj differ diff --git a/dll/Release/iatpatch.obj b/dll/Release/iatpatch.obj new file mode 100644 index 0000000..e4d6d0c Binary files /dev/null and b/dll/Release/iatpatch.obj differ diff --git a/dll/Release/imagehlp.obj b/dll/Release/imagehlp.obj new file mode 100644 index 0000000..26b69c7 Binary files /dev/null and b/dll/Release/imagehlp.obj differ diff --git a/dll/Release/imelib.obj b/dll/Release/imelib.obj new file mode 100644 index 0000000..e8f6b0c Binary files /dev/null and b/dll/Release/imelib.obj differ diff --git a/dll/Release/kernel32.obj b/dll/Release/kernel32.obj new file mode 100644 index 0000000..9231661 Binary files /dev/null and b/dll/Release/kernel32.obj differ diff --git a/dll/Release/mincaps.obj b/dll/Release/mincaps.obj new file mode 100644 index 0000000..525ce50 Binary files /dev/null and b/dll/Release/mincaps.obj differ diff --git a/dll/Release/msghook.obj b/dll/Release/msghook.obj new file mode 100644 index 0000000..a0e4649 Binary files /dev/null and b/dll/Release/msghook.obj differ diff --git a/dll/Release/msims32.obj b/dll/Release/msims32.obj new file mode 100644 index 0000000..4a93cfb Binary files /dev/null and b/dll/Release/msims32.obj differ diff --git a/dll/Release/msvfw.obj b/dll/Release/msvfw.obj new file mode 100644 index 0000000..1838464 Binary files /dev/null and b/dll/Release/msvfw.obj differ diff --git a/dll/Release/ole32.obj b/dll/Release/ole32.obj new file mode 100644 index 0000000..10a8caf Binary files /dev/null and b/dll/Release/ole32.obj differ diff --git a/dll/Release/opengl.obj b/dll/Release/opengl.obj new file mode 100644 index 0000000..7e14b46 Binary files /dev/null and b/dll/Release/opengl.obj differ diff --git a/dll/Release/shareddc.obj b/dll/Release/shareddc.obj new file mode 100644 index 0000000..231cde1 Binary files /dev/null and b/dll/Release/shareddc.obj differ diff --git a/dll/Release/smack.obj b/dll/Release/smack.obj new file mode 100644 index 0000000..ec5a198 Binary files /dev/null and b/dll/Release/smack.obj differ diff --git a/dll/Release/supmodes.obj b/dll/Release/supmodes.obj new file mode 100644 index 0000000..955bbeb Binary files /dev/null and b/dll/Release/supmodes.obj differ diff --git a/dll/Release/toggle_fs.obj b/dll/Release/toggle_fs.obj new file mode 100644 index 0000000..d657fdc Binary files /dev/null and b/dll/Release/toggle_fs.obj differ diff --git a/dll/Release/user32.obj b/dll/Release/user32.obj new file mode 100644 index 0000000..124fe88 Binary files /dev/null and b/dll/Release/user32.obj differ diff --git a/dll/Release/vc90.idb b/dll/Release/vc90.idb new file mode 100644 index 0000000..d961d1f Binary files /dev/null and b/dll/Release/vc90.idb differ diff --git a/dll/Release/winmm.obj b/dll/Release/winmm.obj new file mode 100644 index 0000000..509c6df Binary files /dev/null and b/dll/Release/winmm.obj differ diff --git a/dll/Release/winproc.obj b/dll/Release/winproc.obj new file mode 100644 index 0000000..75e7c3a Binary files /dev/null and b/dll/Release/winproc.obj differ diff --git a/dll/Release/wintrust.obj b/dll/Release/wintrust.obj new file mode 100644 index 0000000..58f3583 Binary files /dev/null and b/dll/Release/wintrust.obj differ diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index 5c7c093..8c99995 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -2203,11 +2203,18 @@ HRESULT WINAPI extSetCooperativeLevel(int dxversion, SetCooperativeLevel_Type pS bFixFrame = TRUE; } else{ - RECT client; - (*pGetClientRect)(hwnd, &client); - // v2.02.11: - // Non fullscreen cooperative mode means windowed, unless the window occupies the whole desktop area - dxw.SetFullScreen(client.right==dxw.iSizX && client.bottom==dxw.iSizY); + // v2.03.77: the game "Portugal 1111" calls SetCooperativeLevel with hwnd=0. + // in such a case, you can get the window size, so better leave the previous + // FullScreen setting unchanged. This is a wise politic also in case of any + // sort of GetClientRect error code. + if(hwnd){ + RECT client; + BOOL ret; + ret=(*pGetClientRect)(hwnd, &client); + // v2.02.11: + // Non fullscreen cooperative mode means windowed, unless the window occupies the whole desktop area + if (ret) dxw.SetFullScreen(client.right==dxw.iSizX && client.bottom==dxw.iSizY); + } } } diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index 032d69e..03490fd 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -944,6 +944,26 @@ void SetModuleHooks() if(hModule) { SysLibs[i]=hModule; OutTraceDW("InitModuleHooks: lib=%s hmodule=%x\n", SysNames[i], hModule); + if(dxw.bHintActive) switch(i){ + case SYSLIBIDX_DIRECTDRAW: ShowHint(HINT_DDRAW); break; + case SYSLIBIDX_DIRECT3D8: ShowHint(HINT_D3D8); break; + case SYSLIBIDX_DIRECT3D9: ShowHint(HINT_D3D9); break; + // DirectX10 & 11 are loaded by some system module, so better not to tell + //case SYSLIBIDX_DIRECT3D10: + //case SYSLIBIDX_DIRECT3D10_1:ShowHint(HINT_D3D10); break; + //case SYSLIBIDX_DIRECT3D11: ShowHint(HINT_D3D11); break; + case SYSLIBIDX_OPENGL: ShowHint(HINT_OPENGL); break; + case SYSLIBIDX_DSOUND: ShowHint(HINT_DSOUND); break; + case SYSLIBIDX_DINPUT: ShowHint(HINT_DINPUT); break; + case SYSLIBIDX_DINPUT8: ShowHint(HINT_DINPUT8); break; + case SYSLIBIDX_MSVFW: + case SYSLIBIDX_SMACK: + case SYSLIBIDX_WINMM: + case SYSLIBIDX_AVIFIL32: ShowHint(HINT_MOVIES); break; + case SYSLIBIDX_DIRECT3D: + case SYSLIBIDX_DIRECT3D700: ShowHint(HINT_D3D); break; + case SYSLIBIDX_IMAGEHLP: ShowHint(HINT_IHLP); break; + } } } } @@ -1328,6 +1348,7 @@ void HookInit(TARGETMAP *target, HWND hwnd) sSourcePath[strlen(sSourcePath)-strlen("dxwnd.dll")] = 0; // terminate the string just before "dxwnd.dll" SetDllDirectory(sSourcePath); + if(dxw.bHintActive) ShowHint(HINT_HINT); if(dxw.dwFlags5 & HYBRIDMODE) { // special mode settings .... dxw.dwFlags1 |= EMULATESURFACE; @@ -1413,7 +1434,7 @@ void HookInit(TARGETMAP *target, HWND hwnd) OutTrace("HookInit: DWMComposition %s\n", sRes); } - if (SKIPIMEWINDOW) { + if (hwnd) { char ClassName[8+1]; GetClassName(hwnd, ClassName, sizeof(ClassName)); if(!strcmp(ClassName, "IME")){ @@ -1448,7 +1469,6 @@ void HookInit(TARGETMAP *target, HWND hwnd) // make InitPosition used for both DInput and DDraw if(dxw.Windowize) dxw.InitWindowPos(target->posx, target->posy, target->sizx, target->sizy); - OutTraceB("HookInit: base hmodule=%x\n", base); HookModule(base, dxw.dwTargetDDVersion); if (dxw.dwFlags3 & HOOKDLLS) HookDlls(base); diff --git a/dll/dxwcore.cpp b/dll/dxwcore.cpp index 932d251..beab04b 100644 --- a/dll/dxwcore.cpp +++ b/dll/dxwcore.cpp @@ -146,6 +146,9 @@ void dxwCore::InitTarget(TARGETMAP *target) // made before hooking !!! pGetWindowLong = (dwFlags5 & ANSIWIDE) ? GetWindowLongW : GetWindowLongA; pSetWindowLong = (dwFlags5 & ANSIWIDE) ? SetWindowLongW : SetWindowLongA; + + // hint system + bHintActive = (dwFlags7 & SHOWHINTS) ? TRUE : FALSE; } void dxwCore::SetScreenSize(void) diff --git a/dll/dxwcore.hpp b/dll/dxwcore.hpp index 05ccd00..564012b 100644 --- a/dll/dxwcore.hpp +++ b/dll/dxwcore.hpp @@ -179,6 +179,7 @@ public: // simple data variables int GDIEmulationMode; BOOL TimeFreeze; RECT VirtualDesktop; + BOOL bHintActive; // Implementation protected: @@ -327,6 +328,14 @@ typedef enum { } enum_syslibraries; +typedef enum { + HINT_HINT = 0, + HINT_DDRAW, HINT_D3D8, HINT_D3D9, HINT_D3D10, + HINT_D3D11, HINT_OPENGL, HINT_DSOUND, HINT_DINPUT, + HINT_DINPUT8, HINT_MOVIES, HINT_D3D, HINT_IHLP, + HINT_LAST +} HintEnumIds; + #ifdef SYSLIBNAMES_DEFINES char *SysNames[]={ "kernel32", diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index e6cda92..af18a21 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -27,7 +27,7 @@ along with this program. If not, see . #include "TlHelp32.h" -#define VERSION "2.03.76" +#define VERSION "2.03.77" #define DDTHREADLOCK 1 //#define LOCKTHREADS diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index 00dad54..f18ed4f 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 8ff50c9..836f4f3 100644 --- a/dll/dxwnd.vs2008.vcproj +++ b/dll/dxwnd.vs2008.vcproj @@ -437,6 +437,10 @@ RelativePath=".\hexdump.cpp" > + + diff --git a/dll/gdi32.cpp b/dll/gdi32.cpp index 96e9359..2c48fc3 100644 --- a/dll/gdi32.cpp +++ b/dll/gdi32.cpp @@ -194,7 +194,7 @@ static HookEntryEx_Type SyscallHooks[]={ {HOOK_IAT_CANDIDATE, 0, "FrameRgn", (FARPROC)NULL, (FARPROC *)&pFrameRgn, (FARPROC)extFrameRgn}, {HOOK_IAT_CANDIDATE, 0, "InvertRgn", (FARPROC)NULL, (FARPROC *)&pInvertRgn, (FARPROC)extInvertRgn}, {HOOK_IAT_CANDIDATE, 0, "PaintRgn", (FARPROC)NULL, (FARPROC *)&pPaintRgn, (FARPROC)extPaintRgn}, - //{HOOK_IAT_CANDIDATE, 0, "SetMapMode", (FARPROC)NULL, (FARPROC *)NULL, (FARPROC)extSetMapMode}, // crashes ??? + ////{HOOK_IAT_CANDIDATE, 0, "SetMapMode", (FARPROC)NULL, (FARPROC *)NULL, (FARPROC)extSetMapMode}, // crashes ??? {HOOK_IAT_CANDIDATE, 0, "SetDIBitsToDevice", (FARPROC)SetDIBitsToDevice, (FARPROC *)&pSetDIBitsToDevice, (FARPROC)extSetDIBitsToDevice}, // does the stretching {HOOK_IAT_CANDIDATE, 0, "Polyline", (FARPROC)Polyline, (FARPROC *)&pPolyline, (FARPROC)extPolyline}, {HOOK_IAT_CANDIDATE, 0, "BitBlt", (FARPROC)BitBlt, (FARPROC *)&pGDIBitBlt, (FARPROC)extGDIBitBlt}, @@ -227,7 +227,7 @@ static HookEntryEx_Type SyscallHooks[]={ {HOOK_IAT_CANDIDATE, 0, "MoveToEx", (FARPROC)MoveToEx, (FARPROC *)&pMoveToEx, (FARPROC)extMoveToEx}, {HOOK_IAT_CANDIDATE, 0, "GetClipBox", (FARPROC)GetClipBox, (FARPROC *)&pGDIGetClipBox, (FARPROC)extGetClipBox}, {HOOK_IAT_CANDIDATE, 0, "IntersectClipRect", (FARPROC)IntersectClipRect, (FARPROC *)&pIntersectClipRect, (FARPROC)extIntersectClipRect}, // Riven !! - {HOOK_IAT_CANDIDATE, 0, "DeleteDC", (FARPROC)DeleteDC, (FARPROC *)&pGDIDeleteDC, (FARPROC)extGDIDeleteDC}, // for tracing only! + //{HOOK_IAT_CANDIDATE, 0, "DeleteDC", (FARPROC)DeleteDC, (FARPROC *)&pGDIDeleteDC, (FARPROC)extGDIDeleteDC}, // for tracing only! (commented: crashes Dylan Dog HLP!!) {HOOK_IAT_CANDIDATE, 0, "CreateDCA", (FARPROC)CreateDCA, (FARPROC *)&pGDICreateDCA, (FARPROC)extGDICreateDCA}, {HOOK_IAT_CANDIDATE, 0, "CreateDCW", (FARPROC)CreateDCW, (FARPROC *)&pGDICreateDCW, (FARPROC)extGDICreateDCW}, @@ -350,6 +350,35 @@ extern HRESULT WINAPI sBlt(int, Blt_Type, char *, LPDIRECTDRAWSURFACE, LPRECT, L extern GetDC_Type pGetDC; extern ReleaseDC_Type pReleaseDC1; +static char *ExplainDIBUsage(UINT u) +{ + char *p; + switch(u){ + case DIB_PAL_COLORS: p="DIB_PAL_COLORS"; break; + case DIB_RGB_COLORS: p="DIB_RGB_COLORS"; break; + default: p="invalid"; break; + } + return p; +} + +static void TraceBITMAPINFOHEADER(char *fName, BITMAPINFOHEADER *bmi) +{ + OutTrace("%s: BitmapInfo {Size=%d dim=(%dx%d) Planes=%d bitcount=%d Compression=%x SizeImage=%d PelsPerMeter=%dx%d colors=U%d:I%d}\n", + fName, bmi->biSize, bmi->biWidth, bmi->biHeight, bmi->biPlanes, bmi->biBitCount, bmi->biCompression, + bmi->biSizeImage, bmi->biXPelsPerMeter, bmi->biYPelsPerMeter, bmi->biClrUsed, bmi->biClrImportant); + if(bmi->biSize > sizeof(BITMAPINFOHEADER)){ + BITMAPV4HEADER *bm4 = (BITMAPV4HEADER *)bmi; + OutTrace("%s: BitmapInfoV4 {RGBA mask=%x:%x:%x:%x cstype=%x gamma RGB=%x:%x:%x}\n", + fName, bm4->bV4RedMask, bm4->bV4GreenMask, bm4->bV4BlueMask, bm4->bV4AlphaMask, + bm4->bV4CSType, bm4->bV4GammaRed, bm4->bV4GammaGreen, bm4->bV4GammaBlue); + } + if(bmi->biSize > sizeof(BITMAPV4HEADER)){ + BITMAPV5HEADER *bm5 = (BITMAPV5HEADER *)bmi; + OutTrace("%s: BitmapInfoV5 {intent=%x profiledata=%x profilesize=%x resvd=%x}\n", + fName, bm5->bV5Intent, bm5->bV5ProfileData, bm5->bV5ProfileSize, bm5->bV5Reserved); + } +} + //-------------------------------------------------------------------------------------------- // // API hookers @@ -1737,8 +1766,11 @@ int WINAPI extStretchDIBits(HDC hdc, int XDest, int YDest, int nDestWidth, int n const VOID *lpBits, const BITMAPINFO *lpBitsInfo, UINT iUsage, DWORD dwRop) { int ret; - OutTraceDW("StretchDIBits: hdc=%x dest=(%d,%d)-(%d,%d) src=(%d,%d)-(%d,%d) rop=%x(%s)\n", - hdc, XDest, YDest, nDestWidth, nDestHeight, XSrc, YSrc, nSrcWidth, nSrcHeight, dwRop, ExplainROP(dwRop)); + if(IsTraceDW){ + OutTraceDW("StretchDIBits: hdc=%x dest=(%d,%d)-(%d,%d) src=(%d,%d)-(%d,%d) rop=%x(%s)\n", + hdc, XDest, YDest, nDestWidth, nDestHeight, XSrc, YSrc, nSrcWidth, nSrcHeight, dwRop, ExplainROP(dwRop)); + TraceBITMAPINFOHEADER("StretchDIBits", (BITMAPINFOHEADER *)&(lpBitsInfo->bmiHeader)); + } if(dxw.IsToRemap(hdc)){ switch(dxw.GDIEmulationMode){ @@ -1772,11 +1804,10 @@ int WINAPI extStretchDIBits(HDC hdc, int XDest, int YDest, int nDestWidth, int n int WINAPI extSetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, const VOID *lpvBits, const BITMAPINFO *lpbmi, UINT fuColorUse) { int ret; - BITMAPINFOHEADER *bmi; - OutTraceDW("SetDIBits: hdc=%x hbmp=%x lines=(%d,%d) ColorUse=%x\n", hdc, hbmp, uStartScan, cScanLines, fuColorUse); - bmi=(BITMAPINFOHEADER *)&(lpbmi->bmiHeader); - OutTraceDW("SetDIBits: BitmapInfo dim=(%dx%d) Planes=%d BPP=%d Compression=%x SizeImage=%x\n", - bmi->biWidth, bmi->biHeight, bmi->biPlanes, bmi->biBitCount, bmi->biCompression, bmi->biSizeImage); + if(IsTraceDW){ + OutTrace("SetDIBits: hdc=%x hbmp=%x lines=(%d,%d) ColorUse=%x(%s)\n", hdc, hbmp, uStartScan, cScanLines, fuColorUse, ExplainDIBUsage(fuColorUse)); + TraceBITMAPINFOHEADER("SetDIBits", (BITMAPINFOHEADER *)&(lpbmi->bmiHeader)); + } if(dxw.IsToRemap(hdc) && !bGDIRecursionFlag){ //HDC hTempDc; @@ -1785,7 +1816,8 @@ int WINAPI extSetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, case GDIMODE_SHAREDDC: // this will flicker !!!! sdc.GetPrimaryDC(hdc); ret=(*pSetDIBits)(sdc.GetHdc(), hbmp, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse); - sdc.PutPrimaryDC(hdc, TRUE, 0, 0, bmi->biWidth, bmi->biHeight); + if(!ret || (ret==GDI_ERROR)) OutTraceE("SetDIBits: ERROR err=%d\n", GetLastError()); + sdc.PutPrimaryDC(hdc, TRUE, 0, 0, lpbmi->bmiHeader.biWidth, lpbmi->bmiHeader.biHeight); return ret; break; case GDIMODE_STRETCHED: @@ -1847,15 +1879,12 @@ int WINAPI extSetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, int WINAPI extGetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, LPVOID lpvBits, LPBITMAPINFO lpbmi, UINT uUsage) { int ret; - BITMAPINFOHEADER *bmi; - OutTraceDW("GetDIBits: hdc=%x hbmp=%x lines=(%d,%d) ColorUse=%x\n", hdc, hbmp, uStartScan, cScanLines, uUsage); - bmi=(BITMAPINFOHEADER *)&(lpbmi->bmiHeader); - OutTraceDW("GetDIBits: BitmapInfo dim=(%dx%d) Planes=%d BPP=%d Compression=%x SizeImage=%x\n", - bmi->biWidth, bmi->biHeight, bmi->biPlanes, bmi->biBitCount, bmi->biCompression, bmi->biSizeImage); + if(IsTraceDW){ + OutTrace("GetDIBits: hdc=%x hbmp=%x lines=(%d,%d) ColorUse=%x(%s)\n", hdc, hbmp, uStartScan, cScanLines, uUsage, ExplainDIBUsage(uUsage)); + TraceBITMAPINFOHEADER("GetDIBits", (BITMAPINFOHEADER *)&(lpbmi->bmiHeader)); + } if(dxw.IsToRemap(hdc) && !bGDIRecursionFlag){ - //HDC hTempDc; - //HBITMAP hbmPic; switch(dxw.GDIEmulationMode){ case GDIMODE_SHAREDDC: // this will flicker !!!! sdc.GetPrimaryDC(hdc); @@ -1874,104 +1903,16 @@ int WINAPI extGetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, return ret; } -#if 0 int WINAPI extSetDIBitsToDevice(HDC hdc, int XDest, int YDest, DWORD dwWidth, DWORD dwHeight, int XSrc, int YSrc, UINT uStartScan, UINT cScanLines, const VOID *lpvBits, const BITMAPINFO *lpbmi, UINT fuColorUse) { int ret; - BITMAPINFOHEADER *bmi; - OutTraceDW("SetDIBitsToDevice: hdc=%x dest=(%d,%d)-(%dx%d) src=(%d,%d) lines=(%d,%d)\n", - hdc, XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines); - bmi=(BITMAPINFOHEADER *)&(lpbmi->bmiHeader); - OutTraceDW("SetDIBitsToDevice: BitmapInfo dim=(%dx%d) Planes=%d BPP=%d Compression=%x SizeImage=%x\n", - bmi->biWidth, bmi->biHeight, bmi->biPlanes, bmi->biBitCount, bmi->biCompression, bmi->biSizeImage); - - bGDIRecursionFlag = TRUE; // beware: it seems that SetDIBitsToDevice calls SetDIBits internally - if(dxw.IsFullScreen()){ - HDC hTempDc; - HBITMAP hbmPic; - DWORD OrigWidth, OrigHeight; - int OrigXDest, OrigYDest; - OrigWidth=dwWidth; - OrigHeight=dwHeight; - OrigXDest=XDest; - OrigYDest=YDest; - switch(dxw.GDIEmulationMode){ - case GDIMODE_SHAREDDC: - if(dxw.IsToRemap(hdc)){ - sdc.GetPrimaryDC(hdc); - ret=(*pSetDIBitsToDevice)(sdc.GetHdc(), XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse); - sdc.PutPrimaryDC(hdc, TRUE, XDest, YDest, dwWidth, dwHeight); - } - else{ - ret=(*pSetDIBitsToDevice)(hdc, XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse); - } - bGDIRecursionFlag = FALSE; - return ret; - break; - case GDIMODE_STRETCHED: - if(dxw.IsToRemap(hdc)){ - // blitting to primary surface !!! - dxw.MapClient(&XDest, &YDest, (int *)&dwWidth, (int *)&dwHeight); - OutTraceDW("SetDIBitsToDevice: fixed dest=(%d,%d)-(%dx%d)\n", XDest, YDest, dwWidth, dwHeight); - if(!(hTempDc=CreateCompatibleDC(hdc))) - OutTraceE("CreateCompatibleDC: ERROR err=%d at=%d\n", GetLastError(), __LINE__); - // tricky part: CreateCompatibleBitmap is needed to set the dc size, but it has to be performed - // against hdc to set for color depth, then selected (through SelectObject) against the temporary - // dc to assign the needed size and color space to the temporary dc. - if(!(hbmPic=CreateCompatibleBitmap(hdc, OrigWidth, OrigHeight))) - OutTraceE("CreateCompatibleBitmap: ERROR err=%d at=%d\n", GetLastError(), __LINE__); - if(!SelectObject(hTempDc, hbmPic)) - OutTraceE("SelectObject: ERROR err=%d at=%d\n", GetLastError(), __LINE__); - if(!(ret=(*pSetDIBitsToDevice)(hTempDc, 0, 0, OrigWidth, OrigHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse))) - OutTraceE("SetDIBitsToDevice: ERROR err=%d at=%d\n", GetLastError(), __LINE__); - bGDIRecursionFlag = FALSE; - // v2.02.94: set HALFTONE stretching. Fixes "Celtic Kings Rage of War" - SetStretchBltMode(hdc,HALFTONE); - if(!(ret=(*pGDIStretchBlt)(hdc, XDest, YDest, dwWidth, dwHeight, hTempDc, 0, 0, OrigWidth, OrigHeight, SRCCOPY))) - OutTraceE("StretchBlt: ERROR err=%d at=%d\n", GetLastError(), __LINE__); - if(!(DeleteObject(hbmPic))) // v2.02.32 - avoid resource leakage - OutTraceE("DeleteObject: ERROR err=%d at=%d\n", GetLastError(), __LINE__); - if(!(DeleteDC(hTempDc))) - OutTraceE("DeleteDC: ERROR err=%d at=%d\n", GetLastError(), __LINE__); - return ret; - } - break; - case GDIMODE_EMULATED: - if (dxw.IsVirtual(hdc)){ - int X, Y; - X=XDest+dxw.VirtualOffsetX; - Y=YDest+dxw.VirtualOffsetY; - OutTraceDW("SetDIBitsToDevice: virtual pos=(%d,%d)+(%d+%d)=(%d,%d)\n", - XDest, YDest, dxw.VirtualOffsetX, dxw.VirtualOffsetY, X, Y); - ret=(*pSetDIBitsToDevice)(hdc, X, Y, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse); - bGDIRecursionFlag = FALSE; - if(!ret || (ret==GDI_ERROR)) OutTraceE("SetDIBitsToDevice: ERROR ret=%x err=%d\n", ret, GetLastError()); - return ret; - } - break; - default: - break; - } + if(IsTraceDW){ + OutTrace("SetDIBitsToDevice: hdc=%x dest=(%d,%d)-(%dx%d) src=(%d,%d) lines=(%d,%d) bits=%x ColorUse=%x(%s)\n", + hdc, XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, fuColorUse, ExplainDIBUsage(fuColorUse)); + TraceBITMAPINFOHEADER("SetDIBitsToDevice", (BITMAPINFOHEADER *)&(lpbmi->bmiHeader)); } - ret=(*pSetDIBitsToDevice)(hdc, XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines, lpvBits, lpbmi, fuColorUse); - bGDIRecursionFlag = FALSE; - if(!ret || (ret==GDI_ERROR)) OutTraceE("SetDIBitsToDevice: ERROR ret=%x err=%d\n", ret, GetLastError()); - return ret; -} -#else -int WINAPI extSetDIBitsToDevice(HDC hdc, int XDest, int YDest, DWORD dwWidth, DWORD dwHeight, int XSrc, int YSrc, UINT uStartScan, UINT cScanLines, - const VOID *lpvBits, const BITMAPINFO *lpbmi, UINT fuColorUse) -{ - int ret; - BITMAPINFOHEADER *bmi; - OutTraceDW("SetDIBitsToDevice: hdc=%x dest=(%d,%d)-(%dx%d) src=(%d,%d) lines=(%d,%d)\n", - hdc, XDest, YDest, dwWidth, dwHeight, XSrc, YSrc, uStartScan, cScanLines); - bmi=(BITMAPINFOHEADER *)&(lpbmi->bmiHeader); - OutTraceDW("SetDIBitsToDevice: BitmapInfo dim=(%dx%d) Planes=%d BPP=%d Compression=%x SizeImage=%x\n", - bmi->biWidth, bmi->biHeight, bmi->biPlanes, bmi->biBitCount, bmi->biCompression, bmi->biSizeImage); - bGDIRecursionFlag = TRUE; // beware: it seems that SetDIBitsToDevice calls SetDIBits internally if(dxw.IsToRemap(hdc)){ HDC hTempDc; @@ -2036,7 +1977,6 @@ int WINAPI extSetDIBitsToDevice(HDC hdc, int XDest, int YDest, DWORD dwWidth, DW if(!ret || (ret==GDI_ERROR)) OutTraceE("SetDIBitsToDevice: ERROR ret=%x err=%d\n", ret, GetLastError()); return ret; } -#endif HBITMAP WINAPI extCreateCompatibleBitmap(HDC hdc, int nWidth, int nHeight) { @@ -3007,13 +2947,20 @@ BOOL WINAPI extPolyTextOutW(HDC hdc, const POLYTEXTW *pptxt, int cStrings) HBITMAP WINAPI extCreateDIBitmap(HDC hdc, BITMAPINFOHEADER *lpbmih, DWORD fdwInit, const VOID *lpbInit, const BITMAPINFO *lpbmi, UINT fuUsage) { HBITMAP ret; - OutTraceDW("CreateDIBitmap: hdc=%x\n", hdc); + if(IsTraceDW){ + OutTrace("CreateDIBitmap: hdc=%x init=%x%s data=%x usage=%x(%s)\n", + hdc, fdwInit, fdwInit==CBM_INIT?"(CBM_INIT)":"", lpbInit, + fuUsage, ExplainDIBUsage(fuUsage)); + if(fdwInit==CBM_INIT) TraceBITMAPINFOHEADER("CreateDIBitmap(lpbmih)", lpbmih); + TraceBITMAPINFOHEADER("CreateDIBitmap(lpbmi)", (BITMAPINFOHEADER *)&(lpbmi->bmiHeader)); + } if(dxw.IsToRemap(hdc)) { switch(dxw.GDIEmulationMode){ case GDIMODE_SHAREDDC: sdc.GetPrimaryDC(hdc); ret=(*pCreateDIBitmap)(sdc.GetHdc(), lpbmih, fdwInit, lpbInit, lpbmi, fuUsage); + if(!ret) OutTraceE("CreateDIBitmap ERROR: err=%d\n", GetLastError()); sdc.PutPrimaryDC(hdc, FALSE); return ret; break; diff --git a/dll/hint.cpp b/dll/hint.cpp new file mode 100644 index 0000000..22d8bff --- /dev/null +++ b/dll/hint.cpp @@ -0,0 +1,38 @@ +#include "windows.h" +#include "dxwnd.h" +#include "dxwcore.hpp" + +typedef struct { + BOOL bShowed; + char *sHintText; +} HintEntry_Type; + +HintEntry_Type HintTable[]={ + {FALSE, "Automatic configuration hints enabled. Uncheck SHOWHINTS to turn off"}, + {FALSE, "DirectDraw dependency detected. Check DirectX flags"}, + {FALSE, "Direct3D8 dependency detected. Check DirectX8 flags"}, + {FALSE, "Direct3D9 dependency detected. Check DirectX9 flags"}, + {FALSE, "Direct3D10 dependency detected. Check DirectX10 flags"}, + {FALSE, "Direct3D11 dependency detected. Check DirectX11 flags"}, + {FALSE, "OpenGL dependency detected. Check OpenGL hook and flags"}, + {FALSE, "DirectSound dependency detected. Check DirectSound hook in case of sound problems"}, + {FALSE, "DirectInput dependency detected. Check DirectInput hook in case of input problems"}, + {FALSE, "DirectInput8 dependency detected. Check DirectInput8 hook in case of input problems"}, + {FALSE, "Movie libraries detected. Check multimedia section"}, + {FALSE, "D3D libraries detected. Check DirectX version hook (DirectX7 ?)"}, + {FALSE, "IMAGEHLP dependency detected. In case of error, check NOIMAGEHLP flag"}, + {FALSE, ""} +}; + +void ShowHint(int HintId) +{ + // boundary checks + if ((HintId < HINT_HINT) || (HintId >= HINT_LAST)) return; + + // show hints just once + if(HintTable[HintId].bShowed) return; + HintTable[HintId].bShowed = TRUE; + + // show hint + MessageBox(NULL, HintTable[HintId].sHintText, "DxWnd hint", MB_OK); +} diff --git a/dll/kernel32.cpp b/dll/kernel32.cpp index c90973d..6e0e76c 100644 --- a/dll/kernel32.cpp +++ b/dll/kernel32.cpp @@ -778,7 +778,7 @@ BOOL WINAPI extReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRea { BOOL ret; static char *IOBuffer=NULL; - + memset(lpBuffer, 0, nNumberOfBytesToRead); if(IsTraceDW){ OutTrace("ReadFile: hFile=%x Buffer=%x BytesToRead=%d Overlapped=%x", hFile, lpBuffer, nNumberOfBytesToRead, lpOverlapped); @@ -800,14 +800,65 @@ BOOL WINAPI extReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRea return ret; } +static char *ExplainFlagsAndAttributes(DWORD c) +{ + static char eb[256]; + unsigned int l; + strcpy(eb,""); + if (c & FILE_ATTRIBUTE_ARCHIVE) strcat(eb, "FILE_ATTRIBUTE_ARCHIVE+"); + if (c & FILE_ATTRIBUTE_ENCRYPTED) strcat(eb, "FILE_ATTRIBUTE_ENCRYPTED+"); + if (c & FILE_ATTRIBUTE_HIDDEN) strcat(eb, "FILE_ATTRIBUTE_HIDDEN+"); + if (c & FILE_ATTRIBUTE_NORMAL) strcat(eb, "FILE_ATTRIBUTE_NORMAL+"); + if (c & FILE_ATTRIBUTE_OFFLINE) strcat(eb, "FILE_ATTRIBUTE_OFFLINE+"); + if (c & FILE_ATTRIBUTE_READONLY) strcat(eb, "FILE_ATTRIBUTE_READONLY+"); + if (c & FILE_ATTRIBUTE_SYSTEM) strcat(eb, "FILE_ATTRIBUTE_SYSTEM+"); + if (c & FILE_ATTRIBUTE_TEMPORARY) strcat(eb, "FILE_ATTRIBUTE_TEMPORARY+"); + if (c & FILE_FLAG_BACKUP_SEMANTICS) strcat(eb, "FILE_FLAG_BACKUP_SEMANTICS+"); + if (c & FILE_FLAG_DELETE_ON_CLOSE) strcat(eb, "FILE_FLAG_DELETE_ON_CLOSE+"); + if (c & FILE_FLAG_NO_BUFFERING) strcat(eb, "FILE_FLAG_NO_BUFFERING+"); + if (c & FILE_FLAG_OPEN_NO_RECALL) strcat(eb, "FILE_FLAG_OPEN_NO_RECALL+"); + if (c & FILE_FLAG_OPEN_REPARSE_POINT) strcat(eb, "FILE_FLAG_OPEN_REPARSE_POINT+"); + if (c & FILE_FLAG_OVERLAPPED) strcat(eb, "FILE_FLAG_OVERLAPPED+"); + if (c & FILE_FLAG_POSIX_SEMANTICS) strcat(eb, "FILE_FLAG_POSIX_SEMANTICS+"); + if (c & FILE_FLAG_RANDOM_ACCESS) strcat(eb, "FILE_FLAG_RANDOM_ACCESS+"); + //if (c & FILE_FLAG_SESSION_AWARE) strcat(eb, "FILE_FLAG_SESSION_AWARE+"); + if (c & FILE_FLAG_SEQUENTIAL_SCAN) strcat(eb, "FILE_FLAG_SEQUENTIAL_SCAN+"); + if (c & FILE_FLAG_WRITE_THROUGH) strcat(eb, "FILE_FLAG_WRITE_THROUGH+"); + if (c & SECURITY_ANONYMOUS) strcat(eb, "SECURITY_ANONYMOUS+"); + if (c & SECURITY_CONTEXT_TRACKING) strcat(eb, "SECURITY_CONTEXT_TRACKING+"); + if (c & SECURITY_DELEGATION) strcat(eb, "SECURITY_DELEGATION+"); + if (c & SECURITY_EFFECTIVE_ONLY) strcat(eb, "SECURITY_EFFECTIVE_ONLY+"); + if (c & SECURITY_IDENTIFICATION) strcat(eb, "SECURITY_IDENTIFICATION+"); + if (c & SECURITY_IMPERSONATION) strcat(eb, "SECURITY_IMPERSONATION+"); + l=strlen(eb); + if (l>strlen("")) eb[l-1]=0; // delete last '+' if any + return(eb); +} + +static char *ExplainDesiredAccess(DWORD c) +{ + static char eb[256]; + unsigned int l; + strcpy(eb,"GENERIC_"); + if (c & GENERIC_READ) strcat(eb, "READ+"); + if (c & GENERIC_WRITE) strcat(eb, "WRITE+"); + if (c & GENERIC_EXECUTE) strcat(eb, "EXECUTE+"); + if (c & GENERIC_ALL) strcat(eb, "ALL+"); + l=strlen(eb); + if (l>strlen("GENERIC_")) eb[l-1]=0; // delete last '+' if any + else eb[0]=0; + return(eb); +} + HANDLE WINAPI extCreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) { HANDLE ret; int err=0; - OutTraceDW("CreateFile: FileName=%s DesiredAccess=%x SharedMode=%x Disposition=%x Flags=%x\n", - lpFileName, dwDesiredAccess, dwShareMode, dwCreationDisposition, dwFlagsAndAttributes); + OutTraceDW("CreateFile: FileName=%s DesiredAccess=%x(%s) SharedMode=%x Disposition=%x Flags=%x(%s)\n", + lpFileName, dwDesiredAccess, ExplainDesiredAccess(dwDesiredAccess), dwShareMode, dwCreationDisposition, + dwFlagsAndAttributes, ExplainFlagsAndAttributes(dwFlagsAndAttributes)); // just proxy if(!(dxw.dwFlags3 & BUFFEREDIOFIX)) diff --git a/dll/user32.cpp b/dll/user32.cpp index 7837e07..ce4aaf2 100644 --- a/dll/user32.cpp +++ b/dll/user32.cpp @@ -111,6 +111,9 @@ BOOL WINAPI extDrawMenuBar(HWND); typedef BOOL (WINAPI *EnumDisplayDevicesA_Type)(LPCSTR, DWORD, PDISPLAY_DEVICE, DWORD); EnumDisplayDevicesA_Type pEnumDisplayDevicesA = NULL; BOOL WINAPI extEnumDisplayDevicesA(LPCSTR, DWORD, PDISPLAY_DEVICE, DWORD); +typedef INT_PTR (WINAPI *DialogBoxIndirectParamA_Type)(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); +DialogBoxIndirectParamA_Type pDialogBoxIndirectParamA = NULL; +INT_PTR WINAPI extDialogBoxIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); #ifdef TRACEPALETTE @@ -278,6 +281,7 @@ static HookEntryEx_Type WinHooks[]={ {HOOK_HOT_CANDIDATE, 0, "DeferWindowPos", (FARPROC)DeferWindowPos, (FARPROC *)&pGDIDeferWindowPos, (FARPROC)extDeferWindowPos}, {HOOK_HOT_CANDIDATE, 0, "CallWindowProcA", (FARPROC)CallWindowProcA, (FARPROC *)&pCallWindowProcA, (FARPROC)extCallWindowProcA}, {HOOK_HOT_CANDIDATE, 0, "CallWindowProcW", (FARPROC)CallWindowProcW, (FARPROC *)&pCallWindowProcW, (FARPROC)extCallWindowProcW}, + {HOOK_HOT_CANDIDATE, 0, "DialogBoxIndirectParamA", (FARPROC)DialogBoxIndirectParamA, (FARPROC *)&pDialogBoxIndirectParamA, (FARPROC)extDialogBoxIndirectParamA}, {HOOK_IAT_CANDIDATE, 0, 0, NULL, 0, 0} // terminator }; @@ -1768,11 +1772,14 @@ HWND WINAPI extCreateWindowExA( return extCreateWindowCommon("CreateWindowExA", FALSE, dwExStyle, (void *)lpClassName, (void *)lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); } +extern void ExplainMsg(char *, HWND, UINT, WPARAM, LPARAM); + LRESULT WINAPI extCallWindowProcA(WNDPROC lpPrevWndFunc, HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) { // v2.02.30: fix (Imperialism II): apply to main window only !!! HRESULT res; + if(IsTraceW) ExplainMsg("CallWindowProcA", hwnd, Msg, wParam, lParam); res = -1; if(hwnd == dxw.GethWnd()) res=FixWindowProc("CallWindowProcA", hwnd, Msg, wParam, &lParam); @@ -1787,6 +1794,7 @@ LRESULT WINAPI extCallWindowProcW(WNDPROC lpPrevWndFunc, HWND hwnd, UINT Msg, WP // v2.02.30: fix (Imperialism II): apply to main window only !!! HRESULT res; + if(IsTraceW) ExplainMsg("CallWindowProcW", hwnd, Msg, wParam, lParam); res = -1; if(hwnd == dxw.GethWnd()) res=FixWindowProc("CallWindowProcW", hwnd, Msg, wParam, &lParam); @@ -1802,6 +1810,7 @@ LRESULT WINAPI extDefWindowProcA(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lPar // v2.03.50: fix - do clip cursor only after the window has got focus HRESULT res; res = (HRESULT)-1; + if(IsTraceW) ExplainMsg("DefWindowProcA", hwnd, Msg, wParam, lParam); if(hwnd == dxw.GethWnd()) res=FixWindowProc("DefWindowProcA", hwnd, Msg, wParam, &lParam); if (res==(HRESULT)-1) res = (*pDefWindowProcA)(hwnd, Msg, wParam, lParam); if((Msg == WM_SETFOCUS) && (dxw.dwFlags1 & CLIPCURSOR)) dxw.SetClipCursor(); @@ -1814,6 +1823,7 @@ LRESULT WINAPI extDefWindowProcW(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lPar // v2.03.50: fix - do clip cursor only after the window has got focus HRESULT res; res = (HRESULT)-1; + if(IsTraceW) ExplainMsg("DefWindowProcW", hwnd, Msg, wParam, lParam); if(hwnd == dxw.GethWnd()) res=FixWindowProc("DefWindowProcW", hwnd, Msg, wParam, &lParam); if (res==(HRESULT)-1) res = (*pDefWindowProcW)(hwnd, Msg, wParam, lParam); if((Msg == WM_SETFOCUS) && (dxw.dwFlags1 & CLIPCURSOR)) dxw.SetClipCursor(); @@ -3762,3 +3772,13 @@ BOOL WINAPI extEnumDisplayDevicesA(LPCSTR lpDevice, DWORD iDevNum, PDISPLAY_DEVI } return ret; } + +INT_PTR WINAPI extDialogBoxIndirectParamA(HINSTANCE hInstance, LPCDLGTEMPLATE hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam) +{ + //INT_PTR ret; + // MessageBox(0, "DialogBoxIndirectParamA", "step", 0); + OutTrace("DialogBoxIndirectParamA: hInstance=%x pos=(%d,%d) size=(%dx%d) hWndParent=%x, lpDialogFunc=%x dwInitParam=%x\n", + hInstance, hDialogTemplate->x, hDialogTemplate->y, hDialogTemplate->cx, hDialogTemplate->cy, hWndParent, lpDialogFunc, dwInitParam); + return (*pDialogBoxIndirectParamA)(hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam); +} + diff --git a/dll/winproc.cpp b/dll/winproc.cpp index 59e58e7..155a447 100644 --- a/dll/winproc.cpp +++ b/dll/winproc.cpp @@ -196,6 +196,29 @@ static void dx_Cornerize(HWND hwnd) LRESULT LastCursorPos; +void ExplainMsg(char *ApiName, HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) +{ + char sPos[161]; + sPos[160]=0; + sPos[0]=0; + switch(Msg){ + case WM_WINDOWPOSCHANGING: + case WM_WINDOWPOSCHANGED: + LPWINDOWPOS wp; + wp = (LPWINDOWPOS)lParam; + sprintf_s(sPos, 160, " pos=(%d,%d) size=(%dx%d) flags=%x(%s)", wp->x, wp->y, wp->cx, wp->cy, wp->flags, ExplainWPFlags(wp->flags)); + break; + case WM_MOVE: + sprintf_s(sPos, 160, " pos=(%d,%d)", HIWORD(lParam), LOWORD(lParam)); + break; + case WM_SIZE: + static char *modes[5]={"RESTORED", "MINIMIZED", "MAXIMIZED", "MAXSHOW", "MAXHIDE"}; + sprintf_s(sPos, 160, " mode=SIZE_%s size=(%dx%d)", modes[wParam % 5], HIWORD(lParam), LOWORD(lParam)); + break; + } + OutTrace("%s[%x]: WinMsg=[0x%x]%s(%x,%x) %s\n", ApiName, hwnd, Msg, ExplainWinMessage(Msg), wParam, lParam, sPos); +} + LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { POINT prev, curr; @@ -220,27 +243,7 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp // v2.1.93: adjust clipping region - if(IsTraceW){ - char sPos[161]; - sPos[160]=0; - sPos[0]=0; - switch(message){ - case WM_WINDOWPOSCHANGING: - case WM_WINDOWPOSCHANGED: - LPWINDOWPOS wp; - wp = (LPWINDOWPOS)lparam; - sprintf_s(sPos, 160, " pos=(%d,%d) size=(%dx%d) flags=%x(%s)", wp->x, wp->y, wp->cx, wp->cy, wp->flags, ExplainWPFlags(wp->flags)); - break; - case WM_MOVE: - sprintf_s(sPos, 160, " pos=(%d,%d)", HIWORD(lparam), LOWORD(lparam)); - break; - case WM_SIZE: - static char *modes[5]={"RESTORED", "MINIMIZED", "MAXIMIZED", "MAXSHOW", "MAXHIDE"}; - sprintf_s(sPos, 160, " mode=SIZE_%s size=(%dx%d)", modes[wparam % 5], HIWORD(lparam), LOWORD(lparam)); - break; - } - OutTrace("WindowProc[%x]: WinMsg=[0x%x]%s(%x,%x) %s\n", hwnd, message, ExplainWinMessage(message), wparam, lparam, sPos); - } + if(IsTraceW) ExplainMsg("WindowProc", hwnd, message, wparam, lparam); if(dxw.dwFlags3 & FILTERMESSAGES){ switch(message){ diff --git a/host/TabDirect3D.cpp b/host/TabDirect3D.cpp index 40de20b..ebabb04 100644 --- a/host/TabDirect3D.cpp +++ b/host/TabDirect3D.cpp @@ -34,21 +34,6 @@ void CTabDirect3D::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_NOD3DRESET, cTarget->m_NoD3DReset); DDX_Check(pDX, IDC_SUPPRESSD3DEXT, cTarget->m_SuppressD3DExt); - // Ddraw tweaks - DDX_Check(pDX, IDC_NOSYSMEMPRIMARY, cTarget->m_NoSysMemPrimary); - DDX_Check(pDX, IDC_NOSYSMEMBACKBUF, cTarget->m_NoSysMemBackBuf); - DDX_Check(pDX, IDC_FIXPITCH, cTarget->m_FixPitch); - DDX_Check(pDX, IDC_POWER2WIDTH, cTarget->m_Power2Width); - DDX_Check(pDX, IDC_FIXREFCOUNTER, cTarget->m_FixRefCounter); - DDX_Check(pDX, IDC_RETURNNULLREF, cTarget->m_ReturnNullRef); - DDX_Check(pDX, IDC_FORCESHEL, cTarget->m_ForcesHEL); - DDX_Check(pDX, IDC_MINIMALCAPS, cTarget->m_MinimalCaps); - DDX_Check(pDX, IDC_SETZBUFFERBITDEPTHS, cTarget->m_SetZBufferBitDepths); - DDX_Check(pDX, IDC_DEINTERLACE, cTarget->m_Deinterlace); - DDX_Check(pDX, IDC_LIMITDDRAW, cTarget->m_LimitDdraw); - DDX_Check(pDX, IDC_SUPPRESSOVERLAY, cTarget->m_SuppressOverlay); - DDX_CBIndex(pDX, IDC_DDWAWLIMITCOMBO, cTarget->m_MaxDdrawInterface); - // Texture management DDX_Radio(pDX, IDC_TEXTURENONE, cTarget->m_TextureHandling); diff --git a/host/TabDirectX2.cpp b/host/TabDirectX2.cpp new file mode 100644 index 0000000..77569b1 --- /dev/null +++ b/host/TabDirectX2.cpp @@ -0,0 +1,54 @@ +// TabDirectX2.cpp : implementation file +// + +#include "stdafx.h" +#include "TargetDlg.h" +#include "TabDirectX2.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CTabDirectX2 dialog + +CTabDirectX2::CTabDirectX2(CWnd* pParent /*=NULL*/) + : CDialog(CTabDirectX2::IDD, pParent) +{ + //{{AFX_DATA_INIT(CTabDirectX2) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT +} + +void CTabDirectX2::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + CTargetDlg *cTarget = ((CTargetDlg *)(this->GetParent()->GetParent())); + + // Ddraw tweaks + DDX_Check(pDX, IDC_NOSYSMEMPRIMARY, cTarget->m_NoSysMemPrimary); + DDX_Check(pDX, IDC_NOSYSMEMBACKBUF, cTarget->m_NoSysMemBackBuf); + DDX_Check(pDX, IDC_FIXPITCH, cTarget->m_FixPitch); + DDX_Check(pDX, IDC_POWER2WIDTH, cTarget->m_Power2Width); + DDX_Check(pDX, IDC_FIXREFCOUNTER, cTarget->m_FixRefCounter); + DDX_Check(pDX, IDC_RETURNNULLREF, cTarget->m_ReturnNullRef); + DDX_Check(pDX, IDC_FORCESHEL, cTarget->m_ForcesHEL); + DDX_Check(pDX, IDC_MINIMALCAPS, cTarget->m_MinimalCaps); + DDX_Check(pDX, IDC_SETZBUFFERBITDEPTHS, cTarget->m_SetZBufferBitDepths); + DDX_Check(pDX, IDC_DEINTERLACE, cTarget->m_Deinterlace); + DDX_Check(pDX, IDC_LIMITDDRAW, cTarget->m_LimitDdraw); + DDX_Check(pDX, IDC_SUPPRESSOVERLAY, cTarget->m_SuppressOverlay); + DDX_CBIndex(pDX, IDC_DDWAWLIMITCOMBO, cTarget->m_MaxDdrawInterface); +} + +BEGIN_MESSAGE_MAP(CTabDirectX2, CDialog) + //{{AFX_MSG_MAP(CTabDirectX2) + // NOTE: the ClassWizard will add message map macros here + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CTabDirectX2 message handlers + diff --git a/host/TabDirectX2.h b/host/TabDirectX2.h new file mode 100644 index 0000000..a89ee12 --- /dev/null +++ b/host/TabDirectX2.h @@ -0,0 +1,48 @@ +#if !defined(AFX_TabDirectX2_H__798A9124_C906_446C_822D_322B5AB6C4C4__INCLUDED_) +#define AFX_TabDirectX2_H__798A9124_C906_446C_822D_322B5AB6C4C4__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// TabDirect3D.h : header file +// +#include "resource.h" + +///////////////////////////////////////////////////////////////////////////// +// CTabDirectX2 dialog + +class CTabDirectX2 : public CDialog +{ +// Construction +public: + CTabDirectX2(CWnd* pParent = NULL); // standard constructor + +// Dialog Data + //{{AFX_DATA(CTabDirectX2) + enum { IDD = IDD_TAB_DIRECTX }; + // NOTE: the ClassWizard will add data members here + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CTabDirectX2) + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(CTabDirectX2) + // NOTE: the ClassWizard will add member functions here + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +public: +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif diff --git a/host/TabProgram.cpp b/host/TabProgram.cpp index a6ccd8c..b088b33 100644 --- a/host/TabProgram.cpp +++ b/host/TabProgram.cpp @@ -51,6 +51,7 @@ void CTabProgram::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_CONFIRMONCLOSE, cTarget->m_ConfirmOnClose); DDX_Check(pDX, IDC_TERMINATEONCLOSE, cTarget->m_TerminateOnClose); DDX_Check(pDX, IDC_FULLSCREENONLY, cTarget->m_FullScreenOnly); + DDX_Check(pDX, IDC_SHOWHINTS, cTarget->m_ShowHints); DDX_Check(pDX, IDC_SAVELOAD, cTarget->m_SaveLoad); DDX_Check(pDX, IDC_KEEPASPECTRATIO, cTarget->m_KeepAspectRatio); DDX_Check(pDX, IDC_NOBANNER, cTarget->m_NoBanner); @@ -71,6 +72,8 @@ BEGIN_MESSAGE_MAP(CTabProgram, CDialog) ON_BN_CLICKED(IDC_OPENLAUNCH, OnOpenLaunch) ON_WM_DROPFILES() //}}AFX_MSG_MAP + ON_STN_CLICKED(IDC_REGISTRY, &CTabProgram::OnStnClickedRegistry) + ON_STN_CLICKED(IDC_NOTES, &CTabProgram::OnStnClickedNotes) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -211,3 +214,26 @@ BOOL CTabProgram::OnInitDialog() return TRUE; } + +void CTabProgram::OnStnClickedRegistry() +{ + // TODO: Add your control notification handler code here + CDXTabCtrl *cTab = (CDXTabCtrl *)this->GetParent(); + cTab->SwitchToTab(11); +} + +void CTabProgram::OnStnClickedNotes() +{ + // TODO: Add your control notification handler code here + CDXTabCtrl *cTab = (CDXTabCtrl *)this->GetParent(); + cTab->SwitchToTab(12); +} + + //CTabCtrl::OnLButtonDown(nFlags, point); + + //if(m_tabCurrent != GetCurFocus()){ + // m_tabPages[m_tabCurrent]->ShowWindow(SW_HIDE); + // m_tabCurrent=GetCurFocus(); + // m_tabPages[m_tabCurrent]->ShowWindow(SW_SHOW); + // m_tabPages[m_tabCurrent]->SetFocus(); + //} diff --git a/host/TabProgram.h b/host/TabProgram.h index d5779b0..2294918 100644 --- a/host/TabProgram.h +++ b/host/TabProgram.h @@ -46,6 +46,9 @@ protected: CSpecialEdit m_EditPosX; CSpecialEdit m_EditPosY; afx_msg void OnDropFiles(HDROP hDropInfo); +public: + afx_msg void OnStnClickedRegistry(); + afx_msg void OnStnClickedNotes(); }; //{{AFX_INSERT_LOCATION}} diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index d1763f0..7cdcb17 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -120,6 +120,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_Wow64Registry = FALSE; m_Wow32Registry = FALSE; m_FullScreenOnly = FALSE; + m_ShowHints = FALSE; //m_FilterMessages = FALSE; m_PeekAllMessages = FALSE; m_NoWinPosChanges = FALSE; @@ -255,6 +256,8 @@ BOOL CTargetDlg::OnInitDialog() m_tabdxTabCtrl.InsertItem(i++, _T(sCaption)); LoadString(AfxGetResourceHandle(), DXW_TAB_DIRECTX, sCaption, sizeof(sCaption)); m_tabdxTabCtrl.InsertItem(i++, _T(sCaption)); + LoadString(AfxGetResourceHandle(), DXW_TAB_DIRECTX2, sCaption, sizeof(sCaption)); + m_tabdxTabCtrl.InsertItem(i++, _T(sCaption)); LoadString(AfxGetResourceHandle(), DXW_TAB_D3D, sCaption, sizeof(sCaption)); m_tabdxTabCtrl.InsertItem(i++, _T(sCaption)); LoadString(AfxGetResourceHandle(), DXW_TAB_TIMING, sCaption, sizeof(sCaption)); diff --git a/host/TargetDlg.h b/host/TargetDlg.h index e135273..26fbf3a 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -72,6 +72,7 @@ public: BOOL m_Wow64Registry; BOOL m_Wow32Registry; BOOL m_FullScreenOnly; + BOOL m_ShowHints; BOOL m_NeedAdminCaps; BOOL m_PeekAllMessages; BOOL m_NoWinPosChanges; diff --git a/host/dxTabCtrl.cpp b/host/dxTabCtrl.cpp index eab7457..d34a24b 100644 --- a/host/dxTabCtrl.cpp +++ b/host/dxTabCtrl.cpp @@ -24,6 +24,7 @@ #include "TabProgram.h" #include "TabHook.h" #include "TabDirectX.h" +#include "TabDirectX2.h" #include "TabDirect3D.h" #include "TabInput.h" #include "TabTiming.h" @@ -56,6 +57,7 @@ CDXTabCtrl::CDXTabCtrl() m_tabPages[i++]=new CTabWindow; m_tabPages[i++]=new CTabInput; m_tabPages[i++]=new CTabDirectX; + m_tabPages[i++]=new CTabDirectX2; m_tabPages[i++]=new CTabDirect3D; m_tabPages[i++]=new CTabTiming; m_tabPages[i++]=new CTabLogs; @@ -85,6 +87,7 @@ void CDXTabCtrl::Init() m_tabPages[i++]->Create(IDD_TAB_OUTPUT, this); m_tabPages[i++]->Create(IDD_TAB_INPUT, this); m_tabPages[i++]->Create(IDD_TAB_DIRECTX, this); + m_tabPages[i++]->Create(IDD_TAB_DIRECTX2, this); m_tabPages[i++]->Create(IDD_TAB_D3D, this); m_tabPages[i++]->Create(IDD_TAB_TIMING, this); m_tabPages[i++]->Create(IDD_TAB_LOG, this); @@ -141,9 +144,19 @@ void CDXTabCtrl::OnLButtonDown(UINT nFlags, CPoint point) } } +void CDXTabCtrl::SwitchToTab(int pos) +{ + m_tabPages[m_tabCurrent]->ShowWindow(SW_HIDE); + SetCurSel(pos); + m_tabPages[pos]->ShowWindow(SW_SHOW); + m_tabPages[pos]->SetFocus(); + m_tabCurrent=GetCurFocus(); +} + void CDXTabCtrl::OnOK() { for(int nCount=0; nCount < m_nNumberOfPages; nCount++){ m_tabPages[nCount]->UpdateData(TRUE); } } + diff --git a/host/dxTabCtrl.h b/host/dxTabCtrl.h index 6a9e4cb..663561d 100644 --- a/host/dxTabCtrl.h +++ b/host/dxTabCtrl.h @@ -16,7 +16,7 @@ class CDXTabCtrl : public CTabCtrl // Construction public: CDXTabCtrl(); - CDialog *m_tabPages[13]; // this must match the total number of tab elements! + CDialog *m_tabPages[14]; // this must match the total number of tab elements! int m_tabCurrent; int m_nNumberOfPages; enum { IDD = IDC_TABPANEL }; @@ -28,6 +28,7 @@ public: public: void Init(); void SetRectangle(); + void SwitchToTab(int); // Overrides // ClassWizard generated virtual function overrides diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index 961baf3..47704cb 100644 Binary files a/host/dxwndhost.aps and b/host/dxwndhost.aps differ diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index 3019b22..f470d77 100644 Binary files a/host/dxwndhost.rc and b/host/dxwndhost.rc differ diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index a08136f..dcde0ee 100644 Binary files a/host/dxwndhost.vs2008.suo and b/host/dxwndhost.vs2008.suo differ diff --git a/host/dxwndhost.vs2008.vcproj b/host/dxwndhost.vs2008.vcproj index 2b33f7f..da995da 100644 --- a/host/dxwndhost.vs2008.vcproj +++ b/host/dxwndhost.vs2008.vcproj @@ -436,11 +436,11 @@ > + + + + @@ -722,22 +730,22 @@ > - - + + diff --git a/host/dxwndhostView.cpp b/host/dxwndhostView.cpp index c2e7f94..6a3bcac 100644 --- a/host/dxwndhostView.cpp +++ b/host/dxwndhostView.cpp @@ -216,6 +216,7 @@ void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_StartDebug) t->flags2 |= STARTDEBUG; if(dlg->m_HotPatch) t->flags4 |= HOTPATCH; if(dlg->m_FullScreenOnly) t->flags3 |= FULLSCREENONLY; + if(dlg->m_ShowHints) t->flags7 |= SHOWHINTS; //if(dlg->m_FilterMessages) t->flags3 |= FILTERMESSAGES; if(dlg->m_PeekAllMessages) t->flags3 |= PEEKALLMESSAGES; if(dlg->m_NoWinPosChanges) t->flags5 |= NOWINPOSCHANGES; @@ -505,6 +506,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_NoBanner = t->flags2 & NOBANNER ? 1 : 0; dlg->m_StartDebug = t->flags2 & STARTDEBUG ? 1 : 0; dlg->m_FullScreenOnly = t->flags3 & FULLSCREENONLY ? 1 : 0; + dlg->m_ShowHints = t->flags7 & SHOWHINTS ? 1 : 0; //dlg->m_FilterMessages = t->flags3 & FILTERMESSAGES ? 1 : 0; dlg->m_PeekAllMessages = t->flags3 & PEEKALLMESSAGES ? 1 : 0; dlg->m_NoWinPosChanges = t->flags5 & NOWINPOSCHANGES ? 1 : 0; diff --git a/host/host.aps b/host/host.aps index 2ead7e8..3e288d4 100644 Binary files a/host/host.aps and b/host/host.aps differ diff --git a/host/resource b/host/resource index 3f0efa7..2d496ec 100644 Binary files a/host/resource and b/host/resource differ