From 330f3e801344299a2a0cfd911d7e11b4af42972b Mon Sep 17 00:00:00 2001 From: gho tik Date: Sat, 15 Mar 2014 12:38:56 -0400 Subject: [PATCH] v2_02_63_src Former-commit-id: 0f68bfb462aca829816388c0326ff5b68a2c0583 --- Include/dxwnd.h | 3 +- build/d3d9.dll | 3 - build/dxwnd.dll | 4 +- build/dxwnd.exe | 2 +- build/dxwnd.ini | 3931 ---------------------------- build/exports/Black Thorn.dxw | 8 +- build/exports/Jumpgate Classic.dxw | 26 + build/readme-relnotes.txt | 4 + d3d9proxy/d3d9.h | 1667 ------------ d3d9proxy/d3dx9.h | 71 - d3d9proxy/d3dx9.lib | Bin 87600 -> 0 bytes d3d9proxy/myIDirect3D9.cpp | 154 -- d3d9proxy/myIDirect3D9.h | 31 - d3d9proxy/myIDirect3DDevice9.cpp | 776 ------ d3d9proxy/myIDirect3DDevice9.h | 136 - d3d9proxy/proxydll.cpp | 116 - d3d9proxy/proxydll.def | 4 - d3d9proxy/proxydll.h | 10 - d3d9proxy/proxydll.suo | Bin 30720 -> 0 bytes d3d9proxy/proxydll.suo.old | Bin 10752 -> 0 bytes d3d9proxy/proxydll.vs2008.sln | 20 - d3d9proxy/proxydll.vs2008.suo | Bin 10240 -> 0 bytes d3d9proxy/proxydll.vs2008.vcproj | 253 -- d3d9proxy/stdafx.cpp | 2 - d3d9proxy/stdafx.h | 10 - dll/ddraw.cpp | 15 +- dll/dxhook.cpp | 2 +- dll/dxwnd.cpp | 4 +- dll/dxwnd.vs2008.suo | Bin 176640 -> 190464 bytes dll/hd3d.cpp | 242 +- dll/hd3d7.cpp | 23 +- host/Resource.h | 1 + host/TabDirectX.cpp | 2 - host/TabWindow.cpp | 1 + host/TargetDlg.cpp | 2 +- host/TargetDlg.h | 2 +- host/dxwndhost.aps | Bin 170940 -> 171092 bytes host/dxwndhost.rc | 9 +- host/dxwndhost.vs2008.suo | Bin 107008 -> 110080 bytes host/dxwndhostView.cpp | 4 +- todo.txt | 37 - 41 files changed, 263 insertions(+), 7312 deletions(-) delete mode 100644 build/d3d9.dll delete mode 100644 build/dxwnd.ini create mode 100644 build/exports/Jumpgate Classic.dxw delete mode 100644 d3d9proxy/d3d9.h delete mode 100644 d3d9proxy/d3dx9.h delete mode 100644 d3d9proxy/d3dx9.lib delete mode 100644 d3d9proxy/myIDirect3D9.cpp delete mode 100644 d3d9proxy/myIDirect3D9.h delete mode 100644 d3d9proxy/myIDirect3DDevice9.cpp delete mode 100644 d3d9proxy/myIDirect3DDevice9.h delete mode 100644 d3d9proxy/proxydll.cpp delete mode 100644 d3d9proxy/proxydll.def delete mode 100644 d3d9proxy/proxydll.h delete mode 100644 d3d9proxy/proxydll.suo delete mode 100644 d3d9proxy/proxydll.suo.old delete mode 100644 d3d9proxy/proxydll.vs2008.sln delete mode 100644 d3d9proxy/proxydll.vs2008.suo delete mode 100644 d3d9proxy/proxydll.vs2008.vcproj delete mode 100644 d3d9proxy/stdafx.cpp delete mode 100644 d3d9proxy/stdafx.h delete mode 100644 todo.txt diff --git a/Include/dxwnd.h b/Include/dxwnd.h index e825a0e..b141e9a 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -123,7 +123,7 @@ #define DISABLEFOGGING 0x00000080 // Disable D3D fogging #define NOPOWER2FIX 0x00000100 // Handle textures whose size is not a power of 2 (32, 64, 128 ...) #define NOPERFCOUNTER 0x00000200 // Disables the GetPerfCounter performance metrics API,as if it was not supported.... -#define ADDPROXYLIBS 0x00000400 // Add proxy libs to otherwise hook-resilient system libraries (e.g. d3d9.dll) +//#define ADDPROXYLIBS 0x00000400 // Add proxy libs to otherwise hook-resilient system libraries (e.g. d3d9.dll) #define INTERCEPTRDTSC 0x00000800 // Intercapts RDTSC opcodes to hook at assembly level #define LIMITSCREENRES 0x00001000 // Limit available screen resolution up to defined maximum #define NOFILLRECT 0x00002000 // Suppress FillRect calls @@ -131,6 +131,7 @@ #define HIDEDESKTOP 0x00008000 // Hide desktop background #define STRETCHTIMERS 0x00010000 // Enables timers stretching when TIMESTRETCH is on #define NOFLIPEMULATION 0x00020000 // Compensate the effect of Flip-ping through Blt operations +#define NOTEXTURES 0x00040000 // Disabled (whitened) textures // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general diff --git a/build/d3d9.dll b/build/d3d9.dll deleted file mode 100644 index 4accda6..0000000 --- a/build/d3d9.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2886c8ffed47b9881f488c1ff15fac4653f83576d77cb1f4462caf7ebe2ded94 -size 556544 diff --git a/build/dxwnd.dll b/build/dxwnd.dll index 2a3b826..c4cc231 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d99c6a80bd9c8ad4d82a995f662236e7a452ad2317a55eda538c7d2ea4ed3bb6 -size 463872 +oid sha256:61f2f3aab11ece5bb74593c0728de708356a37ad7b7bc1e45b03ae361c87419c +size 464896 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index 455ed96..2b44df2 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9eab6b03785ebc8bf84e56c3a16897517ad0b7b5f77bdba87630c6157b63dba6 +oid sha256:7fb261f28e57f5293398249aa0f1f27910f581d0cd30c6fb2108160f5da36f01 size 535552 diff --git a/build/dxwnd.ini b/build/dxwnd.ini deleted file mode 100644 index 91aeb61..0000000 --- a/build/dxwnd.ini +++ /dev/null @@ -1,3931 +0,0 @@ -[target] -title0=007 NightFire -path0=D:\Games\007_NightFire\Bond.exe -module0= -opengllib0= -ver0=0 -coord0=0 -flag0=134234150 -flagg0=1207959552 -flagh0=20 -flagi0=4 -tflag0=0 -initx0=0 -inity0=0 -minx0=0 -miny0=0 -maxx0=0 -maxy0=0 -posx0=50 -posy0=50 -sizx0=800 -sizy0=600 -maxfps0=0 -initts0=0 -winver0=0 -maxres0=0 -title1=101 The Airborne Invasion of Normandy -path1=D:\Games\101air\101.exe -module1= -opengllib1= -ver1=0 -coord1=0 -flag1=134234146 -flagg1=134217728 -flagh1=20 -flagi1=0 -tflag1=192 -initx1=0 -inity1=0 -minx1=0 -miny1=0 -maxx1=0 -maxy1=0 -posx1=50 -posy1=50 -sizx1=800 -sizy1=600 -maxfps1=0 -initts1=0 -winver1=0 -maxres1=0 -title2=A10 Cuba -path2=D:\Games\A10\A10Cuba.exe -module2= -opengllib2= -ver2=0 -coord2=0 -flag2=671096866 -flagg2=1207959568 -flagh2=20 -flagi2=4 -tflag2=2 -initx2=0 -inity2=0 -minx2=0 -miny2=0 -maxx2=0 -maxy2=0 -posx2=50 -posy2=50 -sizx2=800 -sizy2=600 -maxfps2=0 -initts2=0 -winver2=0 -maxres2=0 -title3=Actua Soccer 3 -path3=D:\Games\ActuaSoccer3\SOCCER3D.EXE -module3= -opengllib3= -ver3=0 -coord3=0 -flag3=671088674 -flagg3=-939524096 -flagh3=20 -flagi3=4 -tflag3=2 -initx3=0 -inity3=0 -minx3=0 -miny3=0 -maxx3=0 -maxy3=0 -posx3=50 -posy3=50 -sizx3=800 -sizy3=600 -maxfps3=0 -initts3=0 -winver3=0 -maxres3=0 -title4=Age of Empires III -path4=D:\Games\Age of Empires III\age3.exe -module4= -opengllib4= -ver4=0 -coord4=0 -flag4=1753358370 -flagg4=134217728 -flagh4=20 -flagi4=0 -tflag4=2 -initx4=0 -inity4=0 -minx4=0 -miny4=0 -maxx4=0 -maxy4=0 -posx4=50 -posy4=50 -sizx4=800 -sizy4=600 -maxfps4=0 -initts4=0 -winver4=0 -maxres4=0 -title5=Amerzone -path5=D:\Games\Amerzone\amerzone.exe -module5= -opengllib5= -ver5=0 -coord5=0 -flag5=134234114 -flagg5=1207959568 -flagh5=20 -flagi5=4 -tflag5=0 -initx5=0 -inity5=0 -minx5=0 -miny5=0 -maxx5=0 -maxy5=0 -posx5=50 -posy5=50 -sizx5=800 -sizy5=600 -maxfps5=0 -initts5=0 -winver5=0 -maxres5=0 -title6=Ancient Evil (DEMO) -path6=D:\Games\Ancient Evil (Demo)\aecsc-demo.exe -module6= -opengllib6= -ver6=0 -coord6=0 -flag6=203440160 -flagg6=134217744 -flagh6=20 -flagi6=0 -tflag6=258 -initx6=0 -inity6=0 -minx6=0 -miny6=0 -maxx6=0 -maxy6=0 -posx6=50 -posy6=50 -sizx6=800 -sizy6=600 -maxfps6=0 -initts6=0 -winver6=0 -maxres6=0 -title7=Army Men RTS -path7=D:\Games\Army Men RTS\amrts.exe -module7= -opengllib7= -ver7=0 -coord7=0 -flag7=671105060 -flagg7=1207959552 -flagh7=20 -flagi7=4 -tflag7=0 -initx7=0 -inity7=0 -minx7=0 -miny7=0 -maxx7=0 -maxy7=0 -posx7=50 -posy7=50 -sizx7=800 -sizy7=600 -maxfps7=0 -initts7=0 -winver7=0 -maxres7=0 -title8=Beavis & Butthead Do U. -path8=D:\Games\B_b\BEAVIS.EXE -module8= -opengllib8= -ver8=0 -coord8=0 -flag8=671090722 -flagg8=1207959552 -flagh8=32788 -flagi8=0 -tflag8=2 -initx8=0 -inity8=0 -minx8=0 -miny8=0 -maxx8=0 -maxy8=0 -posx8=50 -posy8=50 -sizx8=800 -sizy8=600 -maxfps8=0 -initts8=0 -winver8=0 -maxres8=0 -title9=Black & White -path9=D:\Games\Black & White\runblack.exe -module9= -opengllib9= -ver9=0 -coord9=1 -flag9=679477280 -flagg9=1207959568 -flagh9=20 -flagi9=4 -tflag9=258 -initx9=0 -inity9=0 -minx9=0 -miny9=0 -maxx9=0 -maxy9=0 -posx9=50 -posy9=50 -sizx9=800 -sizy9=600 -maxfps9=0 -initts9=0 -winver9=0 -maxres9=0 -title10=Black Moon Chronicles -path10=D:\Games\Black Moon Chronicles\Lune noire\Engine.exe -module10= -opengllib10= -ver10=0 -coord10=0 -flag10=134234146 -flagg10=1207959568 -flagh10=32788 -flagi10=4 -tflag10=6210 -initx10=0 -inity10=0 -minx10=0 -miny10=0 -maxx10=0 -maxy10=0 -posx10=50 -posy10=50 -sizx10=800 -sizy10=600 -maxfps10=0 -initts10=0 -winver10=0 -maxres10=-1 -title11=Bomberbabe -path11=D:\Games\Ludonic\Bomberbabe.exe -module11= -opengllib11= -ver11=0 -coord11=0 -flag11=671088674 -flagg11=1207959552 -flagh11=20 -flagi11=4 -tflag11=0 -initx11=0 -inity11=0 -minx11=0 -miny11=0 -maxx11=0 -maxy11=0 -posx11=50 -posy11=50 -sizx11=800 -sizy11=600 -maxfps11=0 -initts11=0 -winver11=0 -maxres11=0 -title12=Bunnies must die -path12=D:\Games\Bunnies must die\bmd.exe -module12= -opengllib12= -ver12=1 -coord12=0 -flag12=142606370 -flagg12=1744830465 -flagh12=65556 -flagi12=4 -tflag12=258 -initx12=0 -inity12=0 -minx12=0 -miny12=0 -maxx12=0 -maxy12=0 -posx12=50 -posy12=50 -sizx12=800 -sizy12=600 -maxfps12=0 -initts12=0 -winver12=0 -maxres12=0 -title13=Carmageddon 2 (GLIDE) -path13=D:\Games\Carmageddon_2\carma2_HW.exe -module13= -opengllib13= -ver13=0 -coord13=0 -flag13=134217730 -flagg13=1208025088 -flagh13=20 -flagi13=12 -tflag13=0 -initx13=0 -inity13=0 -minx13=0 -miny13=0 -maxx13=0 -maxy13=0 -posx13=50 -posy13=50 -sizx13=800 -sizy13=600 -maxfps13=0 -initts13=0 -winver13=0 -maxres13=0 -title14=Carmageddon 2 (SW) -path14=D:\Games\Carmageddon_2\carma2_SW.exe -module14= -opengllib14= -ver14=0 -coord14=0 -flag14=671088674 -flagg14=1208025088 -flagh14=33562644 -flagi14=12 -tflag14=0 -initx14=0 -inity14=0 -minx14=0 -miny14=0 -maxx14=0 -maxy14=0 -posx14=50 -posy14=50 -sizx14=800 -sizy14=600 -maxfps14=0 -initts14=0 -winver14=0 -maxres14=0 -title15=Cave Story -path15=D:\Games\Cave Story\Doukutsu.exe -module15= -opengllib15= -ver15=0 -coord15=0 -flag15=134217762 -flagg15=1207959552 -flagh15=20 -flagi15=4 -tflag15=0 -initx15=0 -inity15=0 -minx15=0 -miny15=0 -maxx15=0 -maxy15=0 -posx15=50 -posy15=50 -sizx15=800 -sizy15=600 -maxfps15=0 -initts15=0 -winver15=0 -maxres15=0 -title16=Crimson Skies -path16=D:\Games\Crimson_Skies\crimson.exe -module16= -opengllib16= -ver16=7 -coord16=0 -flag16=134234148 -flagg16=-939524096 -flagh16=20 -flagi16=36 -tflag16=258 -initx16=0 -inity16=0 -minx16=0 -miny16=0 -maxx16=0 -maxy16=0 -posx16=50 -posy16=50 -sizx16=800 -sizy16=600 -maxfps16=0 -initts16=0 -winver16=0 -maxres16=0 -title17=Daikatana -path17=D:\Games\Daikatana\daikatana.exe -module17= -opengllib17= -ver17=12 -coord17=0 -flag17=269492742 -flagg17=537002497 -flagh17=20 -flagi17=0 -tflag17=2 -initx17=0 -inity17=0 -minx17=0 -miny17=0 -maxx17=0 -maxy17=0 -posx17=50 -posy17=50 -sizx17=800 -sizy17=600 -maxfps17=0 -initts17=0 -winver17=0 -maxres17=0 -title18=Dark Reign 1.7 -path18=D:\Games\Dark Reign 1.7\dkreign.exe -module18= -opengllib18= -ver18=0 -coord18=2 -flag18=134217762 -flagg18=1208025104 -flagh18=20 -flagi18=4 -tflag18=0 -initx18=0 -inity18=0 -minx18=0 -miny18=0 -maxx18=0 -maxy18=0 -posx18=50 -posy18=50 -sizx18=800 -sizy18=600 -maxfps18=0 -initts18=-4 -winver18=0 -maxres18=-1 -title19=Dark Vengeance -path19=D:\Games\dark_vengeance\dv.exe -module19= -opengllib19= -ver19=0 -coord19=0 -flag19=136314915 -flagg19=1476395008 -flagh19=65556 -flagi19=4 -tflag19=2048 -initx19=0 -inity19=0 -minx19=0 -miny19=0 -maxx19=0 -maxy19=0 -posx19=50 -posy19=50 -sizx19=800 -sizy19=600 -maxfps19=0 -initts19=0 -winver19=0 -maxres19=-1 -title20=Devastation -path20=D:\Games\Devastation\System\Devastation.exe -module20= -opengllib20= -ver20=0 -coord20=0 -flag20=167772198 -flagg20=1209008128 -flagh20=65556 -flagi20=2 -tflag20=322 -initx20=0 -inity20=0 -minx20=0 -miny20=0 -maxx20=0 -maxy20=0 -posx20=50 -posy20=50 -sizx20=320 -sizy20=240 -maxfps20=0 -initts20=0 -winver20=0 -maxres20=0 -title21=Doom Shareware for Windows 95 -path21=D:\Games\Doom Shareware for Windows 95\Doom95.exe -module21= -opengllib21= -ver21=0 -coord21=2 -flag21=134217762 -flagg21=1207959568 -flagh21=20 -flagi21=0 -tflag21=0 -initx21=0 -inity21=0 -minx21=0 -miny21=0 -maxx21=0 -maxy21=0 -posx21=50 -posy21=50 -sizx21=800 -sizy21=600 -maxfps21=0 -initts21=0 -winver21=0 -maxres21=0 -title22=Dracula Twins -path22=D:\Games\Dracula Twins\DraculaTwins.exe -module22= -opengllib22= -ver22=0 -coord22=0 -flag22=134217762 -flagg22=1207959552 -flagh22=20 -flagi22=4 -tflag22=0 -initx22=0 -inity22=0 -minx22=0 -miny22=0 -maxx22=0 -maxy22=0 -posx22=50 -posy22=50 -sizx22=800 -sizy22=600 -maxfps22=0 -initts22=0 -winver22=0 -maxres22=0 -title23=Duckman -path23=D:\Games\Duckman\DUCKMAN.EXE -module23= -opengllib23= -ver23=0 -coord23=0 -flag23=134217762 -flagg23=1209008128 -flagh23=33554452 -flagi23=4 -tflag23=2 -initx23=0 -inity23=0 -minx23=0 -miny23=0 -maxx23=0 -maxy23=0 -posx23=50 -posy23=50 -sizx23=800 -sizy23=600 -maxfps23=0 -initts23=0 -winver23=0 -maxres23=0 -title24=Duke Nukem - Manhattan Project (D3D8) -path24=D:\Games\Duke Nukem - Manhattan Project\prism3d.exe -module24=p3shared -opengllib24= -ver24=8 -coord24=0 -flag24=134217762 -flagg24=1208090624 -flagh24=20 -flagi24=4 -tflag24=0 -initx24=0 -inity24=0 -minx24=0 -miny24=0 -maxx24=0 -maxy24=0 -posx24=50 -posy24=50 -sizx24=800 -sizy24=600 -maxfps24=0 -initts24=0 -winver24=0 -maxres24=-1 -title25=Duke Nukem 3D -path25=D:\Games\Duke3d\DUKE3D.EXE -module25= -opengllib25= -ver25=0 -coord25=0 -flag25=134217762 -flagg25=1207959552 -flagh25=20 -flagi25=4 -tflag25=0 -initx25=0 -inity25=0 -minx25=0 -miny25=0 -maxx25=0 -maxy25=0 -posx25=50 -posy25=50 -sizx25=800 -sizy25=600 -maxfps25=0 -initts25=0 -winver25=0 -maxres25=0 -title26=Dungeon Keeper 2 (GOG) -path26=D:\Games\Dungeon Keeper 2 (GOG)\DKII.EXE -module26= -opengllib26= -ver26=0 -coord26=0 -flag26=136331298 -flagg26=1241513984 -flagh26=20 -flagi26=0 -tflag26=258 -initx26=0 -inity26=0 -minx26=0 -miny26=0 -maxx26=0 -maxy26=0 -posx26=50 -posy26=50 -sizx26=800 -sizy26=600 -maxfps26=0 -initts26=0 -winver26=0 -maxres26=0 -title27=Dungeon Lords MMXII -path27=D:\Games\Dungeon Lords MMXII\dlords2012.exe -module27= -opengllib27= -ver27=0 -coord27=0 -flag27=134217762 -flagg27=1207959552 -flagh27=20 -flagi27=4 -tflag27=0 -initx27=0 -inity27=0 -minx27=0 -miny27=0 -maxx27=0 -maxy27=0 -posx27=50 -posy27=50 -sizx27=800 -sizy27=600 -maxfps27=0 -initts27=0 -winver27=0 -maxres27=0 -title28=Empire Earth -path28=D:\Games\Empire Earth\Empire Earth.exe -module28= -opengllib28= -ver28=0 -coord28=0 -flag28=-1459617632 -flagg28=201326848 -flagh28=84 -flagi28=0 -tflag28=262 -initx28=0 -inity28=0 -minx28=0 -miny28=0 -maxx28=0 -maxy28=0 -posx28=50 -posy28=50 -sizx28=0 -sizy28=0 -maxfps28=0 -initts28=0 -winver28=0 -maxres28=0 -title29=F-16 Fighting Falcon -path29=D:\Games\F16\f1695.exe -module29= -opengllib29= -ver29=0 -coord29=0 -flag29=134217826 -flagg29=1209008128 -flagh29=20 -flagi29=4 -tflag29=258 -initx29=0 -inity29=0 -minx29=0 -miny29=0 -maxx29=0 -maxy29=0 -posx29=50 -posy29=50 -sizx29=800 -sizy29=600 -maxfps29=0 -initts29=0 -winver29=0 -maxres29=0 -title30=Fate -path30=D:\Games\Fate\Fate.exe -module30= -opengllib30= -ver30=0 -coord30=0 -flag30=134217762 -flagg30=1207959552 -flagh30=20 -flagi30=4 -tflag30=0 -initx30=0 -inity30=0 -minx30=0 -miny30=0 -maxx30=0 -maxy30=0 -posx30=50 -posy30=50 -sizx30=800 -sizy30=600 -maxfps30=0 -initts30=0 -winver30=0 -maxres30=0 -title31=Fighting Force -path31=D:\Games\Fighting Force\game\fforce.exe -module31= -opengllib31= -ver31=0 -coord31=0 -flag31=134217824 -flagg31=1207959552 -flagh31=20 -flagi31=4 -tflag31=6162 -initx31=0 -inity31=0 -minx31=0 -miny31=0 -maxx31=0 -maxy31=0 -posx31=50 -posy31=50 -sizx31=800 -sizy31=600 -maxfps31=0 -initts31=0 -winver31=0 -maxres31=0 -title32=Gangsters -path32=D:\Games\Gangsters\gangsters.exe -module32= -opengllib32= -ver32=0 -coord32=0 -flag32=1208483874 -flagg32=1209008128 -flagh32=20 -flagi32=4 -tflag32=0 -initx32=0 -inity32=0 -minx32=0 -miny32=0 -maxx32=0 -maxy32=0 -posx32=50 -posy32=50 -sizx32=800 -sizy32=600 -maxfps32=0 -initts32=0 -winver32=0 -maxres32=0 -title33=Grand Prix Legends -path33=D:\Games\gpl\gpl.exe -module33= -opengllib33= -ver33=0 -coord33=0 -flag33=679485472 -flagg33=-939524096 -flagh33=20 -flagi33=4 -tflag33=0 -initx33=0 -inity33=0 -minx33=0 -miny33=0 -maxx33=0 -maxy33=0 -posx33=50 -posy33=50 -sizx33=800 -sizy33=600 -maxfps33=0 -initts33=0 -winver33=0 -maxres33=0 -title34=Grand Prix World -path34=D:\Games\Grand Prix World\gpwxp2.exe -module34= -opengllib34= -ver34=0 -coord34=0 -flag34=134217762 -flagg34=135266432 -flagh34=20 -flagi34=0 -tflag34=0 -initx34=0 -inity34=0 -minx34=0 -miny34=0 -maxx34=0 -maxy34=0 -posx34=50 -posy34=50 -sizx34=800 -sizy34=600 -maxfps34=0 -initts34=0 -winver34=0 -maxres34=0 -title35=GTA 3 -path35=D:\Games\GTA3\gta3.exe -module35= -opengllib35= -ver35=0 -coord35=0 -flag35=134217762 -flagg35=1207959552 -flagh35=20 -flagi35=4 -tflag35=258 -initx35=0 -inity35=0 -minx35=0 -miny35=0 -maxx35=0 -maxy35=0 -posx35=50 -posy35=50 -sizx35=800 -sizy35=600 -maxfps35=0 -initts35=0 -winver35=0 -maxres35=0 -title36=Half-Life -path36=D:\Games\Half-Life\hl.exe -module36= -opengllib36= -ver36=12 -coord36=0 -flag36=1207959584 -flagg36=1209139200 -flagh36=16 -flagi36=2060 -tflag36=4096 -initx36=0 -inity36=0 -minx36=0 -miny36=0 -maxx36=0 -maxy36=0 -posx36=50 -posy36=50 -sizx36=800 -sizy36=600 -maxfps36=0 -initts36=0 -winver36=0 -maxres36=0 -title37=Hearts of Iron 2 -path37=D:\Games\Hearts of Iron 2\HoI2.exe -module37= -opengllib37= -ver37=0 -coord37=2 -flag37=939526179 -flagg37=1207959568 -flagh37=32788 -flagi37=2 -tflag37=2 -initx37=0 -inity37=0 -minx37=0 -miny37=0 -maxx37=0 -maxy37=0 -posx37=50 -posy37=50 -sizx37=800 -sizy37=600 -maxfps37=0 -initts37=0 -winver37=0 -maxres37=0 -title38=Heroes of Might and Magic IV -path38=D:\Games\Heroes of Might and Magic IV\heroes4.exe -module38= -opengllib38= -ver38=0 -coord38=2 -flag38=671350818 -flagg38=1207959568 -flagh38=-2147418092 -flagi38=1 -tflag38=258 -initx38=0 -inity38=0 -minx38=0 -miny38=0 -maxx38=0 -maxy38=0 -posx38=50 -posy38=50 -sizx38=800 -sizy38=600 -maxfps38=0 -initts38=0 -winver38=0 -maxres38=0 -title39=Hitman - Codename 47 -path39=D:\Games\Hitman - Codename 47\Hitman.Exe -module39= -opengllib39= -ver39=1 -coord39=0 -flag39=134234144 -flagg39=1207959808 -flagh39=20 -flagi39=4 -tflag39=2 -initx39=0 -inity39=0 -minx39=0 -miny39=0 -maxx39=0 -maxy39=0 -posx39=50 -posy39=50 -sizx39=800 -sizy39=600 -maxfps39=0 -initts39=0 -winver39=0 -maxres39=0 -title40=Hitman 2 Silent Assassin -path40=D:\Games\Hitman 2 Silent Assassin\hitman2.exe -module40= -opengllib40= -ver40=0 -coord40=2 -flag40=134234150 -flagg40=1207959568 -flagh40=20 -flagi40=4 -tflag40=0 -initx40=0 -inity40=0 -minx40=0 -miny40=0 -maxx40=0 -maxy40=0 -posx40=50 -posy40=50 -sizx40=800 -sizy40=600 -maxfps40=0 -initts40=0 -winver40=0 -maxres40=0 -title41=Homeworld 2 -path41=D:\Games\Homeworld2\Bin\Release\Homeworld2.exe -module41= -opengllib41= -ver41=0 -coord41=0 -flag41=671154178 -flagg41=134217728 -flagh41=285 -flagi41=0 -tflag41=0 -initx41=0 -inity41=0 -minx41=0 -miny41=0 -maxx41=0 -maxy41=0 -posx41=50 -posy41=50 -sizx41=800 -sizy41=600 -maxfps41=0 -initts41=0 -winver41=0 -maxres41=0 -title42=Imperialism -path42=D:\Games\Imperialism\Imperialism.exe -module42= -opengllib42= -ver42=0 -coord42=0 -flag42=-1467998173 -flagg42=1209008128 -flagh42=20 -flagi42=4 -tflag42=4102 -initx42=0 -inity42=0 -minx42=0 -miny42=0 -maxx42=0 -maxy42=0 -posx42=50 -posy42=50 -sizx42=800 -sizy42=600 -maxfps42=0 -initts42=0 -winver42=0 -maxres42=0 -title43=Imperialism II -path43=D:\Games\Imperialism 2\imperialism II.exe -module43= -opengllib43= -ver43=0 -coord43=0 -flag43=-1434181598 -flagg43=134217728 -flagh43=20 -flagi43=4 -tflag43=6146 -initx43=0 -inity43=0 -minx43=0 -miny43=0 -maxx43=0 -maxy43=0 -posx43=50 -posy43=50 -sizx43=1200 -sizy43=900 -maxfps43=0 -initts43=0 -winver43=0 -maxres43=0 -title44=International Football 2000 -path44=D:\Games\International Football 2000\MSIF2000.ICD -module44= -opengllib44= -ver44=0 -coord44=0 -flag44=150994976 -flagg44=1207959552 -flagh44=20 -flagi44=4 -tflag44=258 -initx44=0 -inity44=0 -minx44=0 -miny44=0 -maxx44=0 -maxy44=0 -posx44=50 -posy44=50 -sizx44=800 -sizy44=600 -maxfps44=0 -initts44=0 -winver44=0 -maxres44=0 -title45=Jet Moto -path45=D:\Games\Jet_Moto\JETMOTO.EXE -module45= -opengllib45= -ver45=0 -coord45=0 -flag45=671088674 -flagg45=1207959568 -flagh45=20 -flagi45=0 -tflag45=0 -initx45=0 -inity45=0 -minx45=0 -miny45=0 -maxx45=0 -maxy45=0 -posx45=50 -posy45=50 -sizx45=800 -sizy45=600 -maxfps45=0 -initts45=0 -winver45=0 -maxres45=0 -title46=KISS Pinball -path46=D:\Games\KISS Pinball\kisspin.exe -module46= -opengllib46= -ver46=1 -coord46=0 -flag46=679616546 -flagg46=1207959552 -flagh46=98324 -flagi46=4 -tflag46=258 -initx46=0 -inity46=0 -minx46=0 -miny46=0 -maxx46=0 -maxy46=0 -posx46=50 -posy46=50 -sizx46=800 -sizy46=600 -maxfps46=0 -initts46=0 -winver46=0 -maxres46=0 -title47=Kiss Psycho Circus -path47=D:\Games\Kiss\client.exe -module47= -opengllib47= -ver47=0 -coord47=0 -flag47=134234148 -flagg47=1207959808 -flagh47=20 -flagi47=384 -tflag47=2 -initx47=0 -inity47=0 -minx47=0 -miny47=0 -maxx47=0 -maxy47=0 -posx47=50 -posy47=50 -sizx47=800 -sizy47=600 -maxfps47=0 -initts47=0 -winver47=0 -maxres47=0 -title48=KKND Xtreme -path48=D:\Games\KKNDXtreme\KKND.exe -module48= -opengllib48= -ver48=0 -coord48=0 -flag48=134234146 -flagg48=1207959552 -flagh48=20 -flagi48=4 -tflag48=0 -initx48=0 -inity48=0 -minx48=0 -miny48=0 -maxx48=0 -maxy48=0 -posx48=50 -posy48=50 -sizx48=800 -sizy48=600 -maxfps48=0 -initts48=0 -winver48=0 -maxres48=-1 -title49=Knights Of Honor -path49=D:\Games\Knights Of Honor\KoH.exe -module49= -opengllib49= -ver49=0 -coord49=0 -flag49=-402382814 -flagg49=1207959552 -flagh49=65556 -flagi49=4 -tflag49=6430 -initx49=0 -inity49=0 -minx49=0 -miny49=0 -maxx49=0 -maxy49=0 -posx49=50 -posy49=50 -sizx49=800 -sizy49=600 -maxfps49=0 -initts49=0 -winver49=0 -maxres49=0 -title50=KnightShift -path50=D:\Games\knightshift\KnightShift.ex1 -module50= -opengllib50= -ver50=8 -coord50=0 -flag50=134217760 -flagg50=1207959552 -flagh50=20 -flagi50=4 -tflag50=2 -initx50=0 -inity50=0 -minx50=0 -miny50=0 -maxx50=0 -maxy50=0 -posx50=50 -posy50=50 -sizx50=800 -sizy50=600 -maxfps50=0 -initts50=0 -winver50=0 -maxres50=0 -title51=Kohan II Kings of War -path51=D:\Games\Kohan II Kings of War\k2.exe -module51= -opengllib51= -ver51=9 -coord51=0 -flag51=134217762 -flagg51=1207959552 -flagh51=20 -flagi51=1028 -tflag51=6162 -initx51=0 -inity51=0 -minx51=0 -miny51=0 -maxx51=0 -maxy51=0 -posx51=50 -posy51=50 -sizx51=800 -sizy51=600 -maxfps51=0 -initts51=0 -winver51=0 -maxres51=0 -title52=kxtzcfr.exe -path52=D:\Games\Awakening of dreamless castle\Awakening - The Dreamless Castle\kxtzcfr.exe -module52= -opengllib52= -ver52=0 -coord52=0 -flag52=134217762 -flagg52=1207959552 -flagh52=20 -flagi52=4 -tflag52=6226 -initx52=0 -inity52=0 -minx52=0 -miny52=0 -maxx52=0 -maxy52=0 -posx52=50 -posy52=50 -sizx52=800 -sizy52=600 -maxfps52=0 -initts52=0 -winver52=0 -maxres52=-1 -title53=L.E.D. Wars (not working) -path53=D:\Games\l.e.d._wars\LED.EXE -module53= -opengllib53= -ver53=1 -coord53=0 -flag53=679477282 -flagg53=1744830480 -flagh53=65540 -flagi53=4 -tflag53=258 -initx53=0 -inity53=0 -minx53=0 -miny53=0 -maxx53=0 -maxy53=0 -posx53=50 -posy53=50 -sizx53=800 -sizy53=600 -maxfps53=0 -initts53=0 -winver53=0 -maxres53=0 -title54=Land of the Dead -path54=D:\Games\Land of the Dead\System\LOTD.exe -module54= -opengllib54= -ver54=0 -coord54=2 -flag54=134217766 -flagg54=1207959568 -flagh54=20 -flagi54=0 -tflag54=64 -initx54=0 -inity54=0 -minx54=0 -miny54=0 -maxx54=0 -maxy54=0 -posx54=50 -posy54=50 -sizx54=800 -sizy54=600 -maxfps54=0 -initts54=0 -winver54=0 -maxres54=0 -title55=Last Bronx -path55=D:\Games\Last_Bronx\LB.EXE -module55= -opengllib55= -ver55=0 -coord55=0 -flag55=134217762 -flagg55=-939520000 -flagh55=20 -flagi55=4 -tflag55=0 -initx55=0 -inity55=0 -minx55=0 -miny55=0 -maxx55=0 -maxy55=0 -posx55=50 -posy55=50 -sizx55=800 -sizy55=600 -maxfps55=20 -initts55=4 -winver55=0 -maxres55=0 -title56=Le Mans 24 Hours -path56=D:\Games\Le Mans 24 Hours\Bin\lemans.exe -module56=glidedll avicap -opengllib56= -ver56=1 -coord56=0 -flag56=201326627 -flagg56=1241513984 -flagh56=532 -flagi56=4 -tflag56=4162 -initx56=0 -inity56=0 -minx56=0 -miny56=0 -maxx56=0 -maxy56=0 -posx56=50 -posy56=50 -sizx56=800 -sizy56=600 -maxfps56=0 -initts56=0 -winver56=0 -maxres56=-1 -title57=LEGO Star Wars -path57=D:\Games\LEGO Star Wars Game\LegoStarwars.crack.exe -module57= -opengllib57= -ver57=0 -coord57=0 -flag57=134217762 -flagg57=1207959552 -flagh57=20 -flagi57=4 -tflag57=64 -initx57=0 -inity57=0 -minx57=0 -miny57=0 -maxx57=0 -maxy57=0 -posx57=50 -posy57=50 -sizx57=800 -sizy57=600 -maxfps57=0 -initts57=0 -winver57=0 -maxres57=-1 -title58=LEGOŽ Marvel Super Heroes Demo -path58=C:\Program Files (x86)\Warner Bros. Interactive Entertainment\LEGOŽ Marvel Super Heroes Demo\LEGOMarvelDemo.exe -module58= -opengllib58= -ver58=0 -coord58=0 -flag58=134217762 -flagg58=1207959552 -flagh58=20 -flagi58=4 -tflag58=0 -initx58=0 -inity58=0 -minx58=0 -miny58=0 -maxx58=0 -maxy58=0 -posx58=50 -posy58=50 -sizx58=800 -sizy58=600 -maxfps58=0 -initts58=0 -winver58=0 -maxres58=0 -title59=L'Elefante a Strisce -path59=D:\Games\L'Elefante a Strisce\Pilots1I.EXE -module59= -opengllib59= -ver59=0 -coord59=0 -flag59=134217762 -flagg59=135266368 -flagh59=20 -flagi59=0 -tflag59=64 -initx59=0 -inity59=0 -minx59=0 -miny59=0 -maxx59=0 -maxy59=0 -posx59=50 -posy59=50 -sizx59=800 -sizy59=600 -maxfps59=0 -initts59=0 -winver59=0 -maxres59=0 -title60=Lords of Magic Special Edition -path60=D:\Games\LoM\SIERRA\LOMSE\lomse.exe -module60= -opengllib60= -ver60=0 -coord60=0 -flag60=402669603 -flagg60=1207959568 -flagh60=6291476 -flagi60=0 -tflag60=6418 -initx60=0 -inity60=0 -minx60=0 -miny60=0 -maxx60=0 -maxy60=0 -posx60=50 -posy60=50 -sizx60=800 -sizy60=600 -maxfps60=0 -initts60=0 -winver60=0 -maxres60=0 -title61=Lords of the Realm 2 -path61=D:\Games\Lords of the Realm 2\LORDS2.EXE -module61= -opengllib61= -ver61=0 -coord61=0 -flag61=134217762 -flagg61=1209008128 -flagh61=65556 -flagi61=4 -tflag61=0 -initx61=0 -inity61=0 -minx61=0 -miny61=0 -maxx61=0 -maxy61=0 -posx61=50 -posy61=50 -sizx61=800 -sizy61=600 -maxfps61=0 -initts61=0 -winver61=0 -maxres61=0 -title62=Lost Valley -path62=D:\Games\Lost Valley\lost valley\lost valley data.exe -module62= -opengllib62= -ver62=0 -coord62=0 -flag62=679485474 -flagg62=1207959552 -flagh62=-2080374764 -flagi62=0 -tflag62=0 -initx62=0 -inity62=0 -minx62=0 -miny62=0 -maxx62=0 -maxy62=0 -posx62=50 -posy62=50 -sizx62=800 -sizy62=600 -maxfps62=0 -initts62=0 -winver62=0 -maxres62=0 -title63=Mageslayer -path63=D:\Games\MAGE\MAGESLAY.EXE -module63= -opengllib63= -ver63=0 -coord63=0 -flag63=134234146 -flagg63=402653216 -flagh63=8212 -flagi63=1 -tflag63=6210 -initx63=0 -inity63=0 -minx63=0 -miny63=0 -maxx63=0 -maxy63=0 -posx63=50 -posy63=50 -sizx63=800 -sizy63=600 -maxfps63=0 -initts63=0 -winver63=0 -maxres63=0 -title64=Magic & Mayhem -path64=D:\Games\Magic_&_Mayhem\Chaos.exe -module64= -opengllib64= -ver64=0 -coord64=0 -flag64=134217762 -flagg64=1207959552 -flagh64=20 -flagi64=4 -tflag64=0 -initx64=0 -inity64=0 -minx64=0 -miny64=0 -maxx64=0 -maxy64=0 -posx64=50 -posy64=50 -sizx64=800 -sizy64=600 -maxfps64=0 -initts64=0 -winver64=0 -maxres64=0 -title65=Martian Gothic Unification -path65=D:\Games\Martian Gothic\martian gothic.exe -module65= -opengllib65= -ver65=0 -coord65=0 -flag65=203423776 -flagg65=1476395008 -flagh65=20 -flagi65=5 -tflag65=6162 -initx65=0 -inity65=0 -minx65=0 -miny65=0 -maxx65=0 -maxy65=0 -posx65=50 -posy65=50 -sizx65=800 -sizy65=600 -maxfps65=0 -initts65=0 -winver65=0 -maxres65=0 -title66=Millennium Racer Y2K fighters -path66=D:\Games\Millennium Racer\MRacer.exe -module66= -opengllib66= -ver66=0 -coord66=0 -flag66=671105056 -flagg66=1476395024 -flagh66=20 -flagi66=4 -tflag66=0 -initx66=0 -inity66=0 -minx66=0 -miny66=0 -maxx66=0 -maxy66=0 -posx66=50 -posy66=50 -sizx66=800 -sizy66=600 -maxfps66=0 -initts66=0 -winver66=0 -maxres66=-1 -title67=Motocross Madness (DEMO) -path67=D:\Games\Motocross Madness Trial\mcm.exe -module67= -opengllib67= -ver67=0 -coord67=0 -flag67=134217760 -flagg67=1207959552 -flagh67=20 -flagi67=0 -tflag67=0 -initx67=0 -inity67=0 -minx67=0 -miny67=0 -maxx67=0 -maxy67=0 -posx67=50 -posy67=50 -sizx67=800 -sizy67=600 -maxfps67=0 -initts67=0 -winver67=0 -maxres67=0 -title68=Nascar Racing 3 -path68=D:\Games\Nascar Racing 3\NASCAR Racing 3.exe -module68= -opengllib68= -ver68=0 -coord68=0 -flag68=671105056 -flagg68=1207959552 -flagh68=20 -flagi68=4 -tflag68=6162 -initx68=0 -inity68=0 -minx68=0 -miny68=0 -maxx68=0 -maxy68=0 -posx68=50 -posy68=50 -sizx68=800 -sizy68=600 -maxfps68=0 -initts68=0 -winver68=0 -maxres68=0 -title69=Need for Speed 2SE -path69=D:\Games\Need for Speed 2SE\NFS2SEN.EXE -module69= -opengllib69= -ver69=0 -coord69=0 -flag69=134217826 -flagg69=1480589312 -flagh69=20 -flagi69=4 -tflag69=6162 -initx69=0 -inity69=0 -minx69=0 -miny69=0 -maxx69=0 -maxy69=0 -posx69=50 -posy69=50 -sizx69=800 -sizy69=600 -maxfps69=0 -initts69=0 -winver69=0 -maxres69=0 -title70=Need for Speed 2SE (3dfx) -path70=D:\Games\Need for Speed 2SE\nfs2sea.exe -module70= -opengllib70= -ver70=0 -coord70=0 -flag70=134217760 -flagg70=1207959552 -flagh70=20 -flagi70=4 -tflag70=6146 -initx70=0 -inity70=0 -minx70=0 -miny70=0 -maxx70=0 -maxy70=0 -posx70=50 -posy70=50 -sizx70=800 -sizy70=600 -maxfps70=0 -initts70=0 -winver70=0 -maxres70=0 -title71=Need for Speed 3 -path71=D:\Games\Need for Speed 3\nfs3.exe -module71= -opengllib71= -ver71=1 -coord71=0 -flag71=134217762 -flagg71=1207959552 -flagh71=20 -flagi71=4 -tflag71=0 -initx71=0 -inity71=0 -minx71=0 -miny71=0 -maxx71=0 -maxy71=0 -posx71=50 -posy71=50 -sizx71=800 -sizy71=600 -maxfps71=0 -initts71=0 -winver71=0 -maxres71=0 -title72=Need For Speed Underground -path72=D:\Games\Need For Speed Underground\speed.exe -module72= -opengllib72= -ver72=9 -coord72=0 -flag72=134217762 -flagg72=1207959552 -flagh72=20 -flagi72=1028 -tflag72=0 -initx72=0 -inity72=0 -minx72=0 -miny72=0 -maxx72=0 -maxy72=0 -posx72=50 -posy72=50 -sizx72=800 -sizy72=600 -maxfps72=0 -initts72=0 -winver72=0 -maxres72=0 -title73=Need for Speed Underground 2 -path73=D:\Games\Need for Speed Underground 2\SPEED2.EXE -module73= -opengllib73= -ver73=9 -coord73=0 -flag73=134217762 -flagg73=1207959552 -flagh73=20 -flagi73=4 -tflag73=0 -initx73=0 -inity73=0 -minx73=0 -miny73=0 -maxx73=0 -maxy73=0 -posx73=50 -posy73=50 -sizx73=800 -sizy73=600 -maxfps73=0 -initts73=0 -winver73=0 -maxres73=0 -title74=Neophyte Koplio's Story -path74=D:\Games\Neophyte Koplio's Story\KOPLIO.exe -module74= -opengllib74= -ver74=1 -coord74=0 -flag74=134234146 -flagg74=1207959552 -flagh74=20 -flagi74=4 -tflag74=0 -initx74=0 -inity74=0 -minx74=0 -miny74=0 -maxx74=0 -maxy74=0 -posx74=50 -posy74=50 -sizx74=800 -sizy74=600 -maxfps74=0 -initts74=0 -winver74=0 -maxres74=0 -title75=NetStorm - Islands at War -path75=D:\Games\NetStorm - Islands at War\Netstorm.exe -module75= -opengllib75= -ver75=0 -coord75=0 -flag75=679608354 -flagg75=1209008384 -flagh75=20 -flagi75=4 -tflag75=0 -initx75=0 -inity75=0 -minx75=0 -miny75=0 -maxx75=0 -maxy75=0 -posx75=50 -posy75=50 -sizx75=800 -sizy75=600 -maxfps75=0 -initts75=0 -winver75=0 -maxres75=0 -title76=O.R.B. Offword Rescue Base -path76=D:\Games\O.R.B\orb.exe -module76= -opengllib76= -ver76=0 -coord76=2 -flag76=134234144 -flagg76=1207959568 -flagh76=20 -flagi76=4 -tflag76=6162 -initx76=0 -inity76=0 -minx76=0 -miny76=0 -maxx76=0 -maxy76=0 -posx76=50 -posy76=50 -sizx76=800 -sizy76=600 -maxfps76=0 -initts76=0 -winver76=0 -maxres76=-1 -title77=Pandemonium 2 (GLIDE) -path77=D:\Games\Pandemonium 2\pandy.exe -module77= -opengllib77= -ver77=0 -coord77=0 -flag77=134217762 -flagg77=1207959552 -flagh77=65556 -flagi77=4 -tflag77=0 -initx77=0 -inity77=0 -minx77=0 -miny77=0 -maxx77=0 -maxy77=0 -posx77=50 -posy77=50 -sizx77=800 -sizy77=600 -maxfps77=0 -initts77=0 -winver77=0 -maxres77=0 -title78=Panzer Dragoon -path78=D:\Games\Panzer Dragoon\game\PANZERDG.EXE -module78= -opengllib78= -ver78=0 -coord78=0 -flag78=134217762 -flagg78=1207959552 -flagh78=20 -flagi78=4 -tflag78=66 -initx78=0 -inity78=0 -minx78=0 -miny78=0 -maxx78=0 -maxy78=0 -posx78=50 -posy78=50 -sizx78=800 -sizy78=600 -maxfps78=0 -initts78=0 -winver78=0 -maxres78=0 -title79=Port Royale 2 -path79=D:\Games\Port Royale 2\PR2.exe -module79= -opengllib79= -ver79=8 -coord79=0 -flag79=671096866 -flagg79=1207959552 -flagh79=65556 -flagi79=4 -tflag79=0 -initx79=0 -inity79=0 -minx79=0 -miny79=0 -maxx79=0 -maxy79=0 -posx79=50 -posy79=50 -sizx79=800 -sizy79=600 -maxfps79=0 -initts79=0 -winver79=0 -maxres79=-1 -title80=Praetorians -path80=D:\games\Praetorians\Praetorians.exe -module80= -opengllib80= -ver80=0 -coord80=2 -flag80=134217760 -flagg80=1209008144 -flagh80=22 -flagi80=4 -tflag80=2 -initx80=0 -inity80=0 -minx80=0 -miny80=0 -maxx80=0 -maxy80=0 -posx80=50 -posy80=50 -sizx80=800 -sizy80=600 -maxfps80=0 -initts80=0 -winver80=0 -maxres80=0 -title81=Praetorians (DEMO) -path81=D:\Games\Praetorians Demo\Praetorians.exe -module81= -opengllib81= -ver81=0 -coord81=0 -flag81=150994976 -flagg81=1209008128 -flagh81=65556 -flagi81=4 -tflag81=6418 -initx81=0 -inity81=0 -minx81=0 -miny81=0 -maxx81=0 -maxy81=0 -posx81=50 -posy81=50 -sizx81=800 -sizy81=600 -maxfps81=0 -initts81=0 -winver81=0 -maxres81=0 -title82=Premier Manager 98 -path82=D:\Games\Premier Manager 98\MANAGER.EXE -module82= -opengllib82= -ver82=0 -coord82=0 -flag82=671092770 -flagg82=1207959552 -flagh82=16 -flagi82=0 -tflag82=0 -initx82=0 -inity82=0 -minx82=0 -miny82=0 -maxx82=0 -maxy82=0 -posx82=50 -posy82=50 -sizx82=800 -sizy82=600 -maxfps82=0 -initts82=0 -winver82=0 -maxres82=0 -title83=Primitive Wars -path83=D:\Games\Primitive Wars\Pw.exe -module83= -opengllib83= -ver83=0 -coord83=0 -flag83=671088674 -flagg83=134217728 -flagh83=20 -flagi83=0 -tflag83=0 -initx83=0 -inity83=0 -minx83=0 -miny83=0 -maxx83=0 -maxy83=0 -posx83=50 -posy83=50 -sizx83=800 -sizy83=600 -maxfps83=0 -initts83=0 -winver83=0 -maxres83=0 -title84=Project Eden -path84=D:\Games\Project Eden\Eden.exe -module84= -opengllib84= -ver84=0 -coord84=0 -flag84=134217763 -flagg84=1207959552 -flagh84=20 -flagi84=4 -tflag84=64 -initx84=0 -inity84=0 -minx84=0 -miny84=0 -maxx84=0 -maxy84=0 -posx84=50 -posy84=50 -sizx84=800 -sizy84=600 -maxfps84=0 -initts84=0 -winver84=0 -maxres84=-1 -title85=Project IGI -path85=D:\Games\Project IGI\pc\IGI.exe -module85= -opengllib85= -ver85=0 -coord85=0 -flag85=671105060 -flagg85=-939524096 -flagh85=20 -flagi85=4 -tflag85=66 -initx85=0 -inity85=0 -minx85=0 -miny85=0 -maxx85=0 -maxy85=0 -posx85=50 -posy85=50 -sizx85=800 -sizy85=600 -maxfps85=0 -initts85=0 -winver85=0 -maxres85=0 -title86=Project Nomads (DEMO) -path86=D:\Games\Project Nomads Demo\bin\win32\nomads.exe -module86= -opengllib86= -ver86=8 -coord86=0 -flag86=-1476394974 -flagg86=1207959808 -flagh86=4 -flagi86=0 -tflag86=274 -initx86=0 -inity86=0 -minx86=0 -miny86=0 -maxx86=0 -maxy86=0 -posx86=50 -posy86=50 -sizx86=800 -sizy86=600 -maxfps86=0 -initts86=0 -winver86=0 -maxres86=0 -title87=Quake 2 -path87=D:\Games\QUAKE2\quake2.exe -module87= -opengllib87= -ver87=0 -coord87=0 -flag87=134234114 -flagg87=1208090624 -flagh87=20 -flagi87=4 -tflag87=0 -initx87=0 -inity87=0 -minx87=0 -miny87=0 -maxx87=0 -maxy87=0 -posx87=50 -posy87=50 -sizx87=800 -sizy87=600 -maxfps87=0 -initts87=0 -winver87=0 -maxres87=0 -title88=Railroad Tycoon II -path88=D:\Games\Railroad.Tycoon.II\RT2.EXE -module88= -opengllib88= -ver88=0 -coord88=0 -flag88=134217762 -flagg88=1207959552 -flagh88=20 -flagi88=4 -tflag88=0 -initx88=0 -inity88=0 -minx88=0 -miny88=0 -maxx88=0 -maxy88=0 -posx88=50 -posy88=50 -sizx88=800 -sizy88=600 -maxfps88=0 -initts88=0 -winver88=0 -maxres88=0 -title89=Rayman 2 Demo -path89=D:\Games\Rayman2Demo\Rayman2Demo.exe -module89= -opengllib89= -ver89=7 -coord89=0 -flag89=402653217 -flagg89=1208025088 -flagh89=2097172 -flagi89=0 -tflag89=6418 -initx89=0 -inity89=0 -minx89=0 -miny89=0 -maxx89=0 -maxy89=0 -posx89=50 -posy89=50 -sizx89=800 -sizy89=600 -maxfps89=0 -initts89=4 -winver89=0 -maxres89=0 -title90=Serious Sam - The Second Encounter Demo -path90=D:\Games\Serious Sam - The Second Encounter Demo\Bin\SeriousSam.exe -module90= -opengllib90= -ver90=0 -coord90=0 -flag90=671088674 -flagg90=1208156160 -flagh90=20 -flagi90=4 -tflag90=64 -initx90=0 -inity90=0 -minx90=0 -miny90=0 -maxx90=0 -maxy90=0 -posx90=50 -posy90=50 -sizx90=800 -sizy90=600 -maxfps90=0 -initts90=4 -winver90=0 -maxres90=0 -title91=Shadows of the Empire (DEMO) -path91=D:\Games\Shadows of the Empire\shadows.exe -module91= -opengllib91= -ver91=0 -coord91=2 -flag91=134479906 -flagg91=1207959568 -flagh91=33554452 -flagi91=0 -tflag91=274 -initx91=0 -inity91=0 -minx91=0 -miny91=0 -maxx91=0 -maxy91=0 -posx91=50 -posy91=50 -sizx91=800 -sizy91=600 -maxfps91=0 -initts91=0 -winver91=0 -maxres91=0 -title92=Sid Meier's Civilization III Complete -path92=D:\Games\Sid Meier's Civilization III Complete\Conquests\Civ3Conquests.exe -module92=jgl -opengllib92= -ver92=0 -coord92=0 -flag92=973353504 -flagg92=136462360 -flagh92=2162708 -flagi92=4100 -tflag92=64 -initx92=0 -inity92=0 -minx92=0 -miny92=0 -maxx92=0 -maxy92=0 -posx92=50 -posy92=50 -sizx92=800 -sizy92=600 -maxfps92=0 -initts92=6 -winver92=0 -maxres92=5 -title93=SimCity 4 Deluxe -path93=D:\Games\SimCity 4 Deluxe\Apps\SimCity 4.exe -module93= -opengllib93= -ver93=7 -coord93=0 -flag93=32 -flagg93=1207959568 -flagh93=20 -flagi93=4100 -tflag93=8158 -initx93=0 -inity93=0 -minx93=0 -miny93=0 -maxx93=0 -maxy93=0 -posx93=50 -posy93=50 -sizx93=1200 -sizy93=900 -maxfps93=0 -initts93=0 -winver93=0 -maxres93=1 -title94=Star Wars Episode I Racer -path94=D:\Games\Star Wars Episode 1 racer\SWEP1RCR.EXE -module94= -opengllib94= -ver94=0 -coord94=0 -flag94=679493669 -flagg94=1210056720 -flagh94=8212 -flagi94=20 -tflag94=64 -initx94=0 -inity94=0 -minx94=0 -miny94=0 -maxx94=0 -maxy94=0 -posx94=50 -posy94=50 -sizx94=800 -sizy94=600 -maxfps94=0 -initts94=0 -winver94=0 -maxres94=0 -title95=StarCraft -path95=D:\Games\Starcraft\Starcraft\StarCraft.exe -module95= -opengllib95= -ver95=0 -coord95=0 -flag95=134217762 -flagg95=134283264 -flagh95=32788 -flagi95=8 -tflag95=64 -initx95=0 -inity95=0 -minx95=0 -miny95=0 -maxx95=0 -maxy95=0 -posx95=50 -posy95=50 -sizx95=800 -sizy95=600 -maxfps95=0 -initts95=0 -winver95=0 -maxres95=0 -title96=Starsky & Hutch - GAME -path96=D:\Games\Starsky & Hutch\StarskyPC.exe -module96= -opengllib96= -ver96=0 -coord96=0 -flag96=947912739 -flagg96=1207959552 -flagh96=20 -flagi96=4 -tflag96=0 -initx96=0 -inity96=0 -minx96=0 -miny96=0 -maxx96=0 -maxy96=0 -posx96=50 -posy96=50 -sizx96=800 -sizy96=600 -maxfps96=0 -initts96=0 -winver96=0 -maxres96=0 -title97=Starsky & Hutch - LAUNCHER -path97=D:\Games\Starsky & Hutch\Starsky.exe -module97= -opengllib97= -ver97=0 -coord97=0 -flag97=134217728 -flagg97=1207959552 -flagh97=20 -flagi97=4 -tflag97=0 -initx97=0 -inity97=0 -minx97=0 -miny97=0 -maxx97=0 -maxy97=0 -posx97=50 -posy97=50 -sizx97=800 -sizy97=600 -maxfps97=0 -initts97=0 -winver97=0 -maxres97=0 -title98=State of Emergency -path98=D:\Games\State of Emergency\KaosPC.cracked.exe -module98= -opengllib98= -ver98=8 -coord98=0 -flag98=671088676 -flagg98=1208025088 -flagh98=20 -flagi98=2052 -tflag98=6162 -initx98=0 -inity98=0 -minx98=0 -miny98=0 -maxx98=0 -maxy98=0 -posx98=50 -posy98=50 -sizx98=800 -sizy98=600 -maxfps98=50 -initts98=2 -winver98=0 -maxres98=0 -title99=State of War Warmonger -path99=D:\Games\State of War Warmonger\State of War - Warmonger.exe -module99= -opengllib99= -ver99=0 -coord99=0 -flag99=134234210 -flagg99=134217728 -flagh99=532 -flagi99=4 -tflag99=0 -initx99=0 -inity99=0 -minx99=0 -miny99=0 -maxx99=0 -maxy99=0 -posx99=50 -posy99=50 -sizx99=800 -sizy99=600 -maxfps99=0 -initts99=0 -winver99=0 -maxres99=-1 -title100=Still Life (GOG) -path100=D:\Games\Still Life (GOG)\StillLife.exe -module100= -opengllib100= -ver100=0 -coord100=0 -flag100=671105058 -flagg100=1207959568 -flagh100=20 -flagi100=4 -tflag100=6210 -initx100=0 -inity100=0 -minx100=0 -miny100=0 -maxx100=0 -maxy100=0 -posx100=50 -posy100=50 -sizx100=800 -sizy100=600 -maxfps100=0 -initts100=0 -winver100=0 -maxres100=5 -title101=Syberia -path101=D:\Games\Syberia\Syberia.exe -module101= -opengllib101= -ver101=7 -coord101=0 -flag101=956334113 -flagg101=1242562576 -flagh101=65556 -flagi101=4 -tflag101=6170 -initx101=150 -inity101=150 -minx101=150 -miny101=150 -maxx101=800 -maxy101=600 -posx101=50 -posy101=50 -sizx101=800 -sizy101=600 -maxfps101=0 -initts101=0 -winver101=0 -maxres101=0 -title102=Take no Prisoners -path102=D:\Games\Take no Prisoners\TNP.EXE -module102= -opengllib102= -ver102=0 -coord102=0 -flag102=134217762 -flagg102=134217860 -flagh102=20 -flagi102=512 -tflag102=258 -initx102=0 -inity102=0 -minx102=0 -miny102=0 -maxx102=0 -maxy102=0 -posx102=50 -posy102=50 -sizx102=800 -sizy102=600 -maxfps102=0 -initts102=0 -winver102=0 -maxres102=0 -title103=The Bard's Tale -path103=D:\Games\The Bard's Tale\The Bard's Tale.exe -module103= -opengllib103= -ver103=9 -coord103=0 -flag103=134217760 -flagg103=134217728 -flagh103=16 -flagi103=1024 -tflag103=6162 -initx103=0 -inity103=0 -minx103=0 -miny103=0 -maxx103=0 -maxy103=0 -posx103=50 -posy103=50 -sizx103=800 -sizy103=600 -maxfps103=0 -initts103=0 -winver103=0 -maxres103=0 -title104=Thief the Dark Project GOLD -path104=D:\Games\Thief Gold\THIEF.EXE -module104= -opengllib104= -ver104=7 -coord104=0 -flag104=272 -flagg104=440401936 -flagh104=131612 -flagi104=4 -tflag104=9 -initx104=0 -inity104=0 -minx104=0 -miny104=0 -maxx104=0 -maxy104=0 -posx104=50 -posy104=50 -sizx104=800 -sizy104=600 -maxfps104=0 -initts104=0 -winver104=1 -maxres104=-1 -title105=Thief the Dark Project GOLD (GOG) -path105=D:\Games\Thief Gold (GOG)\THIEF.EXE -module105= -opengllib105= -ver105=0 -coord105=0 -flag105=256 -flagg105=1207959568 -flagh105=20 -flagi105=4 -tflag105=0 -initx105=0 -inity105=0 -minx105=0 -miny105=0 -maxx105=0 -maxy105=0 -posx105=50 -posy105=50 -sizx105=800 -sizy105=600 -maxfps105=0 -initts105=0 -winver105=0 -maxres105=-1 -title106=Tomb Raider 4 (DEMO) -path106=D:\Games\Tomb Raider - The Last Revelation (Demo)\tomb4.exe -module106= -opengllib106= -ver106=7 -coord106=0 -flag106=134217760 -flagg106=1207959552 -flagh106=20 -flagi106=0 -tflag106=258 -initx106=0 -inity106=0 -minx106=0 -miny106=0 -maxx106=0 -maxy106=0 -posx106=50 -posy106=50 -sizx106=800 -sizy106=600 -maxfps106=0 -initts106=0 -winver106=0 -maxres106=0 -title107=Tomb Raider II -path107=D:\Games\Tomb Raider II\Tomb2.exe -module107= -opengllib107= -ver107=0 -coord107=0 -flag107=671088674 -flagg107=1207959552 -flagh107=20 -flagi107=0 -tflag107=0 -initx107=0 -inity107=0 -minx107=0 -miny107=0 -maxx107=0 -maxy107=0 -posx107=50 -posy107=50 -sizx107=800 -sizy107=600 -maxfps107=0 -initts107=0 -winver107=0 -maxres107=0 -title108=Tomb Raider II Gold (DEMO) -path108=D:\Games\Tomb Raider II Gold (Demo)\Tomb2.exe -module108= -opengllib108= -ver108=0 -coord108=2 -flag108=671088674 -flagg108=1224736784 -flagh108=20 -flagi108=0 -tflag108=258 -initx108=0 -inity108=0 -minx108=0 -miny108=0 -maxx108=0 -maxy108=0 -posx108=50 -posy108=50 -sizx108=800 -sizy108=600 -maxfps108=0 -initts108=0 -winver108=0 -maxres108=0 -title109=Tomb Raider III -path109=D:\Games\Tomb Raider III\tomb3.exe -module109= -opengllib109= -ver109=0 -coord109=2 -flag109=134217760 -flagg109=1241514000 -flagh109=20 -flagi109=0 -tflag109=322 -initx109=0 -inity109=0 -minx109=0 -miny109=0 -maxx109=0 -maxy109=0 -posx109=50 -posy109=50 -sizx109=800 -sizy109=600 -maxfps109=0 -initts109=0 -winver109=0 -maxres109=0 -title110=Total Annihilation Kingdoms -path110=D:\Games\Total Annihilation Kingdoms\Kingdoms.exe -module110= -opengllib110= -ver110=7 -coord110=0 -flag110=671105058 -flagg110=1207959552 -flagh110=20 -flagi110=4 -tflag110=6162 -initx110=0 -inity110=0 -minx110=0 -miny110=0 -maxx110=0 -maxy110=0 -posx110=50 -posy110=50 -sizx110=800 -sizy110=600 -maxfps110=0 -initts110=0 -winver110=0 -maxres110=0 -title111=Unreal Tournament -path111=D:\Games\Unreal Tournament\System\UnrealTournament.exe -module111= -opengllib111= -ver111=0 -coord111=0 -flag111=-2013265886 -flagg111=1209073680 -flagh111=20 -flagi111=2052 -tflag111=4096 -initx111=0 -inity111=0 -minx111=0 -miny111=0 -maxx111=0 -maxy111=0 -posx111=50 -posy111=50 -sizx111=1200 -sizy111=900 -maxfps111=0 -initts111=0 -winver111=0 -maxres111=0 -title112=Virtua Fighter 2 (DEMO) -path112=D:\Games\vf2_demo\VF2DEMO.EXE -module112= -opengllib112= -ver112=0 -coord112=0 -flag112=939524131 -flagg112=1207959664 -flagh112=20 -flagi112=0 -tflag112=0 -initx112=0 -inity112=0 -minx112=0 -miny112=0 -maxx112=0 -maxy112=0 -posx112=50 -posy112=50 -sizx112=800 -sizy112=600 -maxfps112=0 -initts112=0 -winver112=0 -maxres112=0 -title113=Warcraft 2 Battlenet Ed -path113=D:\Games\Warcraft 2 Battlenet Ed\Warcraft II BNE.exe -module113= -opengllib113= -ver113=0 -coord113=0 -flag113=134217762 -flagg113=1210122240 -flagh113=148 -flagi113=12 -tflag113=0 -initx113=0 -inity113=0 -minx113=0 -miny113=0 -maxx113=0 -maxy113=0 -posx113=50 -posy113=50 -sizx113=800 -sizy113=600 -maxfps113=0 -initts113=0 -winver113=0 -maxres113=0 -title114=Wargasm -path114=D:\Games\Wargasm\tank.exe -module114= -opengllib114= -ver114=0 -coord114=2 -flag114=671088672 -flagg114=1207959696 -flagh114=65556 -flagi114=0 -tflag114=6162 -initx114=0 -inity114=0 -minx114=0 -miny114=0 -maxx114=0 -maxy114=0 -posx114=50 -posy114=50 -sizx114=800 -sizy114=600 -maxfps114=0 -initts114=0 -winver114=0 -maxres114=0 -title115=Whiteout -path115=D:\Games\Whiteout\Whiteout.exe -module115= -opengllib115= -ver115=0 -coord115=0 -flag115=402653217 -flagg115=1207959552 -flagh115=20 -flagi115=0 -tflag115=66 -initx115=0 -inity115=0 -minx115=0 -miny115=0 -maxx115=0 -maxy115=0 -posx115=50 -posy115=50 -sizx115=640 -sizy115=480 -maxfps115=0 -initts115=0 -winver115=0 -maxres115=0 -title116=Wildfire -path116=D:\Games\Wildfire\Wildfire.exe -module116= -opengllib116= -ver116=0 -coord116=0 -flag116=-1476392958 -flagg116=1210122240 -flagh116=20 -flagi116=12 -tflag116=0 -initx116=0 -inity116=0 -minx116=0 -miny116=0 -maxx116=0 -maxy116=0 -posx116=50 -posy116=50 -sizx116=800 -sizy116=600 -maxfps116=0 -initts116=0 -winver116=0 -maxres116=0 -title117=Worms Pinball -path117=D:\Games\Worms Pinball\WPIB.exe -module117= -opengllib117= -ver117=1 -coord117=0 -flag117=134217762 -flagg117=1207959568 -flagh117=20 -flagi117=4 -tflag117=0 -initx117=0 -inity117=0 -minx117=0 -miny117=0 -maxx117=0 -maxy117=0 -posx117=50 -posy117=50 -sizx117=800 -sizy117=600 -maxfps117=0 -initts117=0 -winver117=0 -maxres117=0 -title118=Zanzarah -path118=D:\Games\Zanzarah\System\zanthp.exe -module118= -opengllib118= -ver118=0 -coord118=0 -flag118=679477280 -flagg118=1207959552 -flagh118=20 -flagi118=0 -tflag118=0 -initx118=0 -inity118=0 -minx118=0 -miny118=0 -maxx118=0 -maxy118=0 -posx118=50 -posy118=50 -sizx118=800 -sizy118=600 -maxfps118=0 -initts118=0 -winver118=0 -maxres118=0 -title119=ZPC Zero Population Count -path119=D:\Games\ZPC\ZPC.EXE -module119= -opengllib119= -ver119=0 -coord119=0 -flag119=134217762 -flagg119=1207959552 -flagh119=20 -flagi119=4 -tflag119=0 -initx119=0 -inity119=0 -minx119=0 -miny119=0 -maxx119=0 -maxy119=0 -posx119=50 -posy119=50 -sizx119=800 -sizy119=600 -maxfps119=0 -initts119=0 -winver119=0 -maxres119=0 -title120=Black Thorn -path120=D:\Games\Black Thorn\BlackThorn.exe -module120= -opengllib120= -ver120=0 -coord120=0 -flag120=687886372 -flagg120=134217728 -flagh120=65556 -flagi120=4 -tflag120=6211 -initx120=0 -inity120=0 -minx120=0 -miny120=0 -maxx120=0 -maxy120=0 -posx120=50 -posy120=50 -sizx120=800 -sizy120=600 -maxfps120=0 -initts120=0 -winver120=0 -maxres120=-1 -title121=Empire of the Ants -path121=D:\Games\Empire of the Ants\Game.exe -module121= -opengllib121= -ver121=0 -coord121=0 -flag121=1023426596 -flagg121=134217744 -flagh121=20 -flagi121=4 -tflag121=6466 -initx121=0 -inity121=0 -minx121=0 -miny121=0 -maxx121=0 -maxy121=0 -posx121=50 -posy121=50 -sizx121=800 -sizy121=600 -maxfps121=0 -initts121=0 -winver121=0 -maxres121=-1 -title122=Populous 3 (GOG - D3D) -path122=D:\Games\Populous 3 (GOG)\D3DPopTB.exe -module122= -opengllib122= -ver122=0 -coord122=2 -flag122=738214436 -flagg122=134217744 -flagh122=65556 -flagi122=4 -tflag122=6147 -initx122=0 -inity122=0 -minx122=0 -miny122=0 -maxx122=0 -maxy122=0 -posx122=50 -posy122=50 -sizx122=800 -sizy122=600 -maxfps122=0 -initts122=0 -winver122=0 -maxres122=-1 -title123=Populous 3 (GOG) -path123=D:\Games\Populous 3 (GOG)\popTB.exe -module123= -opengllib123= -ver123=0 -coord123=0 -flag123=671105572 -flagg123=1207959568 -flagh123=20 -flagi123=4 -tflag123=0 -initx123=0 -inity123=0 -minx123=0 -miny123=0 -maxx123=0 -maxy123=0 -posx123=50 -posy123=50 -sizx123=800 -sizy123=600 -maxfps123=0 -initts123=0 -winver123=0 -maxres123=-1 -title124=Thief 2 (GOG) -path124=D:\Games\Thief 2 (GOG)\thief2_no_ddfix.exe -module124= -opengllib124= -ver124=0 -coord124=0 -flag124=671089184 -flagg124=1207959552 -flagh124=65556 -flagi124=4 -tflag124=0 -initx124=0 -inity124=0 -minx124=0 -miny124=0 -maxx124=0 -maxy124=0 -posx124=50 -posy124=50 -sizx124=800 -sizy124=600 -maxfps124=0 -initts124=0 -winver124=0 -maxres124=-1 -title125=Freelancer -module125= -opengllib125= -title126=Virtua Fighter PC -module126= -opengllib126= -path125=D:\Games\Freelancer\EXE\Freelancer.exe -ver125=0 -coord125=0 -flag125=671089184 -flagg125=1207959552 -flagh125=65556 -flagi125=4 -tflag125=1024 -initx125=0 -inity125=0 -minx125=0 -miny125=0 -maxx125=0 -maxy125=0 -posx125=50 -posy125=50 -sizx125=800 -sizy125=600 -maxfps125=0 -initts125=0 -winver125=0 -maxres125=-1 -path126=D:\Games\Virtua Fighter\VFPC.EXE -ver126=0 -coord126=0 -flag126=134218272 -flagg126=134217744 -flagh126=20 -flagi126=4 -tflag126=6147 -initx126=0 -inity126=0 -minx126=0 -miny126=0 -maxx126=0 -maxy126=0 -posx126=50 -posy126=50 -sizx126=800 -sizy126=600 -maxfps126=0 -initts126=0 -winver126=0 -maxres126=-1 -title127=Heroes of Might & Magic 2 -path127=D:\Games\Heroes of Might & Magic 2\HEROES2W.EXE -module127= -opengllib127= -ver127=0 -coord127=0 -flag127=2 -flagg127=1207959552 -flagh127=20 -flagi127=4 -tflag127=0 -initx127=0 -inity127=0 -minx127=0 -miny127=0 -maxx127=0 -maxy127=0 -posx127=50 -posy127=50 -sizx127=800 -sizy127=600 -maxfps127=0 -initts127=0 -winver127=0 -maxres127=-1 -title128=Evolva -path128=D:\Games\Evolva\Evolva.exe -module128= -opengllib128= -ver128=0 -coord128=0 -flag128=134217760 -flagg128=1207959552 -flagh128=20 -flagi128=4 -tflag128=6146 -initx128=0 -inity128=0 -minx128=0 -miny128=0 -maxx128=0 -maxy128=0 -posx128=50 -posy128=50 -sizx128=800 -sizy128=600 -maxfps128=0 -initts128=0 -winver128=0 -maxres128=-1 -title129=Heroes of Might & Magic 2 (POL) -path129=D:\Games\HEROES2\HEROES2W.EXE -module129= -opengllib129= -ver129=0 -coord129=0 -flag129=134218240 -flagg129=1207959560 -flagh129=20 -flagi129=32772 -tflag129=1024 -initx129=0 -inity129=0 -minx129=0 -miny129=0 -maxx129=0 -maxy129=0 -posx129=50 -posy129=50 -sizx129=800 -sizy129=600 -maxfps129=0 -initts129=0 -winver129=0 -maxres129=-1 -title130=Castle Strike -path130=D:\Games\Castle Strike\Castlestrike.exe -module130= -opengllib130= -ver130=8 -coord130=0 -flag130=671089184 -flagg130=1208483840 -flagh130=20 -flagi130=4 -tflag130=6155 -initx130=0 -inity130=0 -minx130=0 -miny130=0 -maxx130=0 -maxy130=0 -posx130=50 -posy130=50 -sizx130=800 -sizy130=600 -maxfps130=0 -initts130=0 -winver130=0 -maxres130=-1 -title131=Carnivores 3DFX -path131=D:\Games\Carnivores\HUNT3DFX.EXE -module131= -opengllib131= -ver131=0 -coord131=0 -flag131=671089184 -flagg131=1207959552 -flagh131=20 -flagi131=4 -tflag131=0 -initx131=0 -inity131=0 -minx131=0 -miny131=0 -maxx131=0 -maxy131=0 -posx131=50 -posy131=50 -sizx131=800 -sizy131=600 -maxfps131=0 -initts131=0 -winver131=0 -maxres131=-1 -title132=Carnivores -path132=D:\Games\Carnivores\HUNTSOFT.EXE -module132= -opengllib132= -ver132=0 -coord132=0 -flag132=939524640 -flagg132=1209008128 -flagh132=20 -flagi132=4 -tflag132=0 -initx132=0 -inity132=0 -minx132=0 -miny132=0 -maxx132=0 -maxy132=0 -posx132=50 -posy132=50 -sizx132=800 -sizy132=600 -maxfps132=0 -initts132=0 -winver132=0 -maxres132=-1 -title133=Catechumen (3DFX) -path133=D:\Games\Catechumen\game\Catechumen.exe -module133= -opengllib133= -ver133=9 -coord133=0 -flag133=402653218 -flagg133=1207959552 -flagh133=65556 -flagi133=16388 -tflag133=0 -initx133=0 -inity133=0 -minx133=0 -miny133=0 -maxx133=0 -maxy133=0 -posx133=50 -posy133=50 -sizx133=800 -sizy133=600 -maxfps133=0 -initts133=0 -winver133=0 -maxres133=-1 -title134=Deus Ex -path134=D:\Games\Deus Ex\System\DeusEx.exe -module134= -opengllib134= -ver134=9 -coord134=0 -flag134=134218240 -flagg134=1207959552 -flagh134=65556 -flagi134=4 -tflag134=0 -initx134=0 -inity134=0 -minx134=0 -miny134=0 -maxx134=0 -maxy134=0 -posx134=50 -posy134=50 -sizx134=800 -sizy134=600 -maxfps134=0 -initts134=0 -winver134=0 -maxres134=-1 -title135=Warhammer 40K Chaos Gate -path135=D:\Games\Warhammer 40K Chaos Gate\game\WH40K.exe -module135= -opengllib135= -ver135=0 -coord135=0 -flag135=679494176 -flagg135=134217728 -flagh135=20 -flagi135=4 -tflag135=0 -initx135=0 -inity135=0 -minx135=0 -miny135=0 -maxx135=0 -maxy135=0 -posx135=50 -posy135=50 -sizx135=800 -sizy135=600 -maxfps135=0 -initts135=0 -winver135=0 -maxres135=-1 -title136=Warhammer 40K Final Liberation -path136=D:\Games\Warhammer 40K Final Liberation\EPIC40K.EXE -module136= -opengllib136= -ver136=0 -coord136=0 -flag136=134217762 -flagg136=134217744 -flagh136=98324 -flagi136=4 -tflag136=6147 -initx136=0 -inity136=0 -minx136=0 -miny136=0 -maxx136=0 -maxy136=0 -posx136=50 -posy136=50 -sizx136=640 -sizy136=480 -maxfps136=0 -initts136=0 -winver136=0 -maxres136=-1 -title137=Warhammer 40K Rites Of War -path137=D:\Games\Warhammer 40K Rites Of War\game\RoW.orig.exe -module137= -opengllib137= -ver137=1 -coord137=0 -flag137=1744846882 -flagg137=134217858 -flagh137=20 -flagi137=0 -tflag137=6403 -initx137=0 -inity137=0 -minx137=0 -miny137=0 -maxx137=0 -maxy137=0 -posx137=50 -posy137=50 -sizx137=800 -sizy137=600 -maxfps137=0 -initts137=0 -winver137=0 -maxres137=-1 -title138=Darkened Skye -path138=D:\Games\Darkened Skye\Skye.exe -module138= -opengllib138= -ver138=0 -coord138=0 -flag138=679493664 -flagg138=1208025088 -flagh138=65556 -flagi138=67596 -tflag138=6403 -initx138=0 -inity138=0 -minx138=0 -miny138=0 -maxx138=0 -maxy138=0 -posx138=50 -posy138=50 -sizx138=800 -sizy138=600 -maxfps138=0 -initts138=0 -winver138=0 -maxres138=-1 -title139=New York Race -path139=D:\Games\New York Race\NYR.exe -module139= -opengllib139= -ver139=8 -coord139=0 -flag139=687867937 -flagg139=134283280 -flagh139=65556 -flagi139=204 -tflag139=4097 -initx139=0 -inity139=0 -minx139=0 -miny139=0 -maxx139=0 -maxy139=0 -posx139=50 -posy139=50 -sizx139=800 -sizy139=600 -maxfps139=0 -initts139=0 -winver139=0 -maxres139=-1 -title140=Incoming (GOG) -path140=D:\Games\Incoming and Incoming Forces\Incoming\incoming.exe -module140= -opengllib140= -ver140=7 -coord140=0 -flag140=150994976 -flagg140=1208025104 -flagh140=-2147483628 -flagi140=67820 -tflag140=6163 -initx140=0 -inity140=0 -minx140=0 -miny140=0 -maxx140=0 -maxy140=0 -posx140=50 -posy140=50 -sizx140=800 -sizy140=600 -maxfps140=0 -initts140=0 -winver140=0 -maxres140=-1 -title141=Incoming Forces (GOG) -path141=D:\Games\Incoming and Incoming Forces\Incoming Forces\forces.exe -module141= -opengllib141= -ver141=0 -coord141=0 -flag141=134218272 -flagg141=1207959552 -flagh141=20 -flagi141=4 -tflag141=1024 -initx141=0 -inity141=0 -minx141=0 -miny141=0 -maxx141=0 -maxy141=0 -posx141=50 -posy141=50 -sizx141=800 -sizy141=600 -maxfps141=0 -initts141=0 -winver141=0 -maxres141=-1 -title142=Armored Fist 3 -path142=D:\Games\Armored Fist 3\Af3.exe -module142= -opengllib142= -ver142=0 -coord142=0 -flag142=134217763 -flagg142=1208025088 -flagh142=6291476 -flagi142=14 -tflag142=64 -initx142=0 -inity142=0 -minx142=0 -miny142=0 -maxx142=0 -maxy142=0 -posx142=50 -posy142=50 -sizx142=800 -sizy142=600 -maxfps142=0 -initts142=0 -winver142=0 -maxres142=-1 -title143=Earthworm Jim 3D -module143= -opengllib143= -title144=Echelon -module144= -opengllib144= -path143=D:\Games\Earthworm Jim 3D\EarthwormJim3D.exe -ver143=0 -coord143=0 -flag143=134217760 -flagg143=1212219392 -flagh143=65556 -flagi143=12 -tflag143=6211 -initx143=0 -inity143=0 -minx143=0 -miny143=0 -maxx143=0 -maxy143=0 -posx143=50 -posy143=50 -sizx143=800 -sizy143=600 -maxfps143=0 -initts143=2 -winver143=1 -maxres143=-1 -path144=D:\Games\echelon\Game.exe -ver144=0 -coord144=0 -flag144=151011328 -flagg144=-2013265920 -flagh144=20 -flagi144=132 -tflag144=0 -initx144=0 -inity144=0 -minx144=0 -miny144=0 -maxx144=0 -maxy144=0 -posx144=50 -posy144=50 -sizx144=800 -sizy144=600 -maxfps144=0 -initts144=0 -winver144=0 -maxres144=-1 -title145=Total Soccer 2000 (DirectX) -path145=D:\Games\Total Soccer 2000\SOCCERDX.EXE -module145= -opengllib145= -ver145=1 -coord145=0 -flag145=134234274 -flagg145=134283520 -flagh145=20 -flagi145=12 -tflag145=6163 -initx145=0 -inity145=0 -minx145=0 -miny145=0 -maxx145=0 -maxy145=0 -posx145=50 -posy145=50 -sizx145=800 -sizy145=600 -maxfps145=0 -initts145=0 -winver145=0 -maxres145=-1 -title146=Total Soccer 2000 (3DFX) -path146=D:\Games\Total Soccer 2000\soccer3dfx.exe -module146= -opengllib146= -ver146=9 -coord146=0 -flag146=134234657 -flagg146=1208025344 -flagh146=20 -flagi146=12 -tflag146=5121 -initx146=0 -inity146=0 -minx146=0 -miny146=0 -maxx146=0 -maxy146=0 -posx146=50 -posy146=50 -sizx146=800 -sizy146=600 -maxfps146=0 -initts146=2 -winver146=0 -maxres146=-1 -title147=Gruntz -path147=D:\Games\gruntz\GRUNTZ.EXE -module147= -opengllib147= -ver147=0 -coord147=0 -flag147=134234656 -flagg147=1207959552 -flagh147=67108884 -flagi147=131076 -tflag147=0 -initx147=0 -inity147=0 -minx147=0 -miny147=0 -maxx147=0 -maxy147=0 -posx147=50 -posy147=50 -sizx147=800 -sizy147=600 -maxfps147=0 -initts147=0 -winver147=0 -maxres147=-1 -title148=Titan Quest -path148=D:\Games\Titan Quest\Titan Quest.exe -module148= -opengllib148= -ver148=9 -coord148=2 -flag148=134218272 -flagg148=134217728 -flagh148=20 -flagi148=1026 -tflag148=6147 -initx148=0 -inity148=0 -minx148=0 -miny148=0 -maxx148=0 -maxy148=0 -posx148=50 -posy148=50 -sizx148=800 -sizy148=600 -maxfps148=0 -initts148=0 -winver148=4 -maxres148=-1 -title149=Titan Quest Immortal Throne -path149=D:\Games\Titan Quest Immortal Throne\Tqit.exe -module149= -opengllib149= -ver149=9 -coord149=0 -flag149=134218272 -flagg149=1207959552 -flagh149=20 -flagi149=4 -tflag149=0 -initx149=0 -inity149=0 -minx149=0 -miny149=0 -maxx149=0 -maxy149=0 -posx149=50 -posy149=50 -sizx149=800 -sizy149=600 -maxfps149=0 -initts149=0 -winver149=0 -maxres149=-1 -title150=Darius Gaiden -path150=D:\Games\Darius_gaiden\DARIUS.EXE -module150= -opengllib150= -ver150=0 -coord150=0 -flag150=671089184 -flagg150=1207959552 -flagh150=20 -flagi150=4 -tflag150=0 -initx150=0 -inity150=0 -minx150=0 -miny150=0 -maxx150=0 -maxy150=0 -posx150=50 -posy150=50 -sizx150=800 -sizy150=600 -maxfps150=0 -initts150=2 -winver150=0 -maxres150=-1 -title151=Dark Colony -path151=D:\Games\DarkColony\DCOLONY\DC.EXE -module151= -opengllib151= -ver151=0 -coord151=0 -flag151=136315424 -flagg151=1207959552 -flagh151=20 -flagi151=4 -tflag151=0 -initx151=0 -inity151=0 -minx151=0 -miny151=0 -maxx151=0 -maxy151=0 -posx151=50 -posy151=50 -sizx151=800 -sizy151=600 -maxfps151=0 -initts151=0 -winver151=0 -maxres151=-1 -title152=Dark Reign 2 -path152=D:\Games\Dr2\dr2.exe -module152= -opengllib152= -ver152=0 -coord152=0 -flag152=671088672 -flagg152=1207959552 -flagh152=20 -flagi152=4 -tflag152=0 -initx152=0 -inity152=0 -minx152=0 -miny152=0 -maxx152=0 -maxy152=0 -posx152=50 -posy152=50 -sizx152=800 -sizy152=600 -maxfps152=0 -initts152=0 -winver152=0 -maxres152=-1 -title153=Dark Planet: Battle for Natrolis -path153=D:\Games\DarkPlanet\Dark.exe -module153= -opengllib153= -ver153=0 -coord153=0 -flag153=671088673 -flagg153=1208025088 -flagh153=20 -flagi153=12 -tflag153=0 -initx153=0 -inity153=0 -minx153=0 -miny153=0 -maxx153=0 -maxy153=0 -posx153=50 -posy153=50 -sizx153=800 -sizy153=600 -maxfps153=0 -initts153=0 -winver153=0 -maxres153=-1 -title154=Geneforge -path154=D:\Games\Geneforge\Geneforge.exe -module154= -opengllib154= -ver154=0 -coord154=0 -flag154=134234660 -flagg154=1207959680 -flagh154=20 -flagi154=131076 -tflag154=0 -initx154=0 -inity154=0 -minx154=0 -miny154=0 -maxx154=0 -maxy154=0 -posx154=50 -posy154=50 -sizx154=800 -sizy154=600 -maxfps154=0 -initts154=0 -winver154=0 -maxres154=-1 -title155=Geneforge (GOG) -path155=D:\Games\GOG.com\Geneforge\Geneforge\Geneforge.exe -module155= -opengllib155= -ver155=0 -coord155=0 -flag155=134234656 -flagg155=1208025088 -flagh155=20 -flagi155=12 -tflag155=0 -initx155=0 -inity155=0 -minx155=0 -miny155=0 -maxx155=0 -maxy155=0 -posx155=50 -posy155=50 -sizx155=800 -sizy155=600 -maxfps155=0 -initts155=-8 -winver155=0 -maxres155=-1 -title156=Jumpgate Classic -path156=D:\Games\Jumpgate\Jumpgate\jumpgate.exe -module156= -opengllib156= -ver156=0 -coord156=0 -flag156=134218272 -flagg156=1207959568 -flagh156=84 -flagi156=2 -tflag156=0 -initx156=0 -inity156=0 -minx156=0 -miny156=0 -maxx156=0 -maxy156=0 -posx156=50 -posy156=50 -sizx156=1200 -sizy156=900 -maxfps156=0 -initts156=0 -winver156=0 -maxres156=-1 -[window] -posx=963 -posy=147 -sizx=638 -sizy=618 diff --git a/build/exports/Black Thorn.dxw b/build/exports/Black Thorn.dxw index 6792413..7cd924d 100644 --- a/build/exports/Black Thorn.dxw +++ b/build/exports/Black Thorn.dxw @@ -1,15 +1,15 @@ [target] title0=Black Thorn -path0=D:\Games\Red Storm Entertainment\Rogue Spear\BlackThorn.exe +path0=D:\Games\Black Thorn\BlackThorn.exe module0= opengllib0= ver0=0 coord0=0 -flag0=939540517 +flag0=687882276 flagg0=134217728 flagh0=20 -flagi0=36 -tflag0=6470 +flagi0=131076 +tflag0=6210 initx0=0 inity0=0 minx0=0 diff --git a/build/exports/Jumpgate Classic.dxw b/build/exports/Jumpgate Classic.dxw new file mode 100644 index 0000000..e5a946b --- /dev/null +++ b/build/exports/Jumpgate Classic.dxw @@ -0,0 +1,26 @@ +[target] +title0=Jumpgate Classic +path0=D:\Games\Jumpgate\Jumpgate\jumpgate.exe +module0= +opengllib0= +ver0=0 +coord0=0 +flag0=134234656 +flagg0=1207959568 +flagh0=84 +flagi0=2 +tflag0=6146 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index 9bff007..576e5da 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -412,5 +412,9 @@ v2.02.62 fixed d3d7 CreateDevice hook and d3d7 rendering options (wireframe, disablefogging, zbufferalways) fixed doublebuffer emulation - avoid returning the backbuffer when zbuffer is requested. Fixes rendering problems of many games! +v2.02.63 +fixed d3d hooking for Reset and GetDirect3D methods: now Jumpgate works at any available resolution, and the "Add proxy libs" option is no longer necessary +fixed "Compensate Flip emulation" option for non emulated surface mode: fixes mouse artifacts for "Rogue Spear Black Thorn" +added preliminary handling for "Disable Textures" option diff --git a/d3d9proxy/d3d9.h b/d3d9proxy/d3d9.h deleted file mode 100644 index 4d985e8..0000000 --- a/d3d9proxy/d3d9.h +++ /dev/null @@ -1,1667 +0,0 @@ -/*==========================================================================; - * - * Copyright (C) Microsoft Corporation. All Rights Reserved. - * - * File: d3d9.h - * Content: Direct3D include file - * - ****************************************************************************/ - -#ifndef _D3D9_H_ -#define _D3D9_H_ - -#ifndef DIRECT3D_VERSION -#define DIRECT3D_VERSION 0x0900 -#endif //DIRECT3D_VERSION - -// include this file content only if compiling for DX9 interfaces -#if(DIRECT3D_VERSION >= 0x0900) - - -/* This identifier is passed to Direct3DCreate9 in order to ensure that an - * application was built against the correct header files. This number is - * incremented whenever a header (or other) change would require applications - * to be rebuilt. If the version doesn't match, Direct3DCreate9 will fail. - * (The number itself has no meaning.)*/ - -#define D3D_SDK_VERSION 31 - - -#include - -#define COM_NO_WINDOWS_H -#include - -#include - -#if !defined(HMONITOR_DECLARED) && (WINVER < 0x0500) - #define HMONITOR_DECLARED - DECLARE_HANDLE(HMONITOR); -#endif - -#define D3DAPI WINAPI - -/* - * Interface IID's - */ -#if defined( _WIN32 ) && !defined( _NO_COM) - -/* IID_IDirect3D9 */ -/* {81BDCBCA-64D4-426d-AE8D-AD0147F4275C} */ -DEFINE_GUID(IID_IDirect3D9, 0x81bdcbca, 0x64d4, 0x426d, 0xae, 0x8d, 0xad, 0x1, 0x47, 0xf4, 0x27, 0x5c); - -/* IID_IDirect3DDevice9 */ -// {D0223B96-BF7A-43fd-92BD-A43B0D82B9EB} */ -DEFINE_GUID(IID_IDirect3DDevice9, 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb); - -/* IID_IDirect3DResource9 */ -// {05EEC05D-8F7D-4362-B999-D1BAF357C704} -DEFINE_GUID(IID_IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4); - -/* IID_IDirect3DBaseTexture9 */ -/* {580CA87E-1D3C-4d54-991D-B7D3E3C298CE} */ -DEFINE_GUID(IID_IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce); - -/* IID_IDirect3DTexture9 */ -/* {85C31227-3DE5-4f00-9B3A-F11AC38C18B5} */ -DEFINE_GUID(IID_IDirect3DTexture9, 0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5); - -/* IID_IDirect3DCubeTexture9 */ -/* {FFF32F81-D953-473a-9223-93D652ABA93F} */ -DEFINE_GUID(IID_IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f); - -/* IID_IDirect3DVolumeTexture9 */ -/* {2518526C-E789-4111-A7B9-47EF328D13E6} */ -DEFINE_GUID(IID_IDirect3DVolumeTexture9, 0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6); - -/* IID_IDirect3DVertexBuffer9 */ -/* {B64BB1B5-FD70-4df6-BF91-19D0A12455E3} */ -DEFINE_GUID(IID_IDirect3DVertexBuffer9, 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3); - -/* IID_IDirect3DIndexBuffer9 */ -/* {7C9DD65E-D3F7-4529-ACEE-785830ACDE35} */ -DEFINE_GUID(IID_IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35); - -/* IID_IDirect3DSurface9 */ -/* {0CFBAF3A-9FF6-429a-99B3-A2796AF8B89B} */ -DEFINE_GUID(IID_IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b); - -/* IID_IDirect3DVolume9 */ -/* {24F416E6-1F67-4aa7-B88E-D33F6F3128A1} */ -DEFINE_GUID(IID_IDirect3DVolume9, 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1); - -/* IID_IDirect3DSwapChain9 */ -/* {794950F2-ADFC-458a-905E-10A10B0B503B} */ -DEFINE_GUID(IID_IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b); - -/* IID_IDirect3DVertexDeclaration9 */ -/* {DD13C59C-36FA-4098-A8FB-C7ED39DC8546} */ -DEFINE_GUID(IID_IDirect3DVertexDeclaration9, 0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46); - -/* IID_IDirect3DVertexShader9 */ -/* {EFC5557E-6265-4613-8A94-43857889EB36} */ -DEFINE_GUID(IID_IDirect3DVertexShader9, 0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36); - -/* IID_IDirect3DPixelShader9 */ -/* {6D3BDBDC-5B02-4415-B852-CE5E8BCCB289} */ -DEFINE_GUID(IID_IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89); - -/* IID_IDirect3DStateBlock9 */ -/* {B07C4FE5-310D-4ba8-A23C-4F0F206F218B} */ -DEFINE_GUID(IID_IDirect3DStateBlock9, 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b); - -/* IID_IDirect3DQuery9 */ -/* {d9771460-a695-4f26-bbd3-27b840b541cc} */ -DEFINE_GUID(IID_IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc); - - -#endif - -#ifdef __cplusplus - -#ifndef DECLSPEC_UUID -#if _MSC_VER >= 1100 -#define DECLSPEC_UUID(x) __declspec(uuid(x)) -#else -#define DECLSPEC_UUID(x) -#endif -#endif - -interface DECLSPEC_UUID("81BDCBCA-64D4-426d-AE8D-AD0147F4275C") IDirect3D9; -interface DECLSPEC_UUID("D0223B96-BF7A-43fd-92BD-A43B0D82B9EB") IDirect3DDevice9; - -interface DECLSPEC_UUID("B07C4FE5-310D-4ba8-A23C-4F0F206F218B") IDirect3DStateBlock9; -interface DECLSPEC_UUID("05EEC05D-8F7D-4362-B999-D1BAF357C704") IDirect3DResource9; -interface DECLSPEC_UUID("DD13C59C-36FA-4098-A8FB-C7ED39DC8546") IDirect3DVertexDeclaration9; -interface DECLSPEC_UUID("EFC5557E-6265-4613-8A94-43857889EB36") IDirect3DVertexShader9; -interface DECLSPEC_UUID("6D3BDBDC-5B02-4415-B852-CE5E8BCCB289") IDirect3DPixelShader9; -interface DECLSPEC_UUID("580CA87E-1D3C-4d54-991D-B7D3E3C298CE") IDirect3DBaseTexture9; -interface DECLSPEC_UUID("85C31227-3DE5-4f00-9B3A-F11AC38C18B5") IDirect3DTexture9; -interface DECLSPEC_UUID("2518526C-E789-4111-A7B9-47EF328D13E6") IDirect3DVolumeTexture9; -interface DECLSPEC_UUID("FFF32F81-D953-473a-9223-93D652ABA93F") IDirect3DCubeTexture9; - -interface DECLSPEC_UUID("B64BB1B5-FD70-4df6-BF91-19D0A12455E3") IDirect3DVertexBuffer9; -interface DECLSPEC_UUID("7C9DD65E-D3F7-4529-ACEE-785830ACDE35") IDirect3DIndexBuffer9; - -interface DECLSPEC_UUID("0CFBAF3A-9FF6-429a-99B3-A2796AF8B89B") IDirect3DSurface9; -interface DECLSPEC_UUID("24F416E6-1F67-4aa7-B88E-D33F6F3128A1") IDirect3DVolume9; - -interface DECLSPEC_UUID("794950F2-ADFC-458a-905E-10A10B0B503B") IDirect3DSwapChain9; -interface DECLSPEC_UUID("d9771460-a695-4f26-bbd3-27b840b541cc") IDirect3DQuery9; - - -#if defined(_COM_SMARTPTR_TYPEDEF) -_COM_SMARTPTR_TYPEDEF(IDirect3D9, __uuidof(IDirect3D9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DDevice9, __uuidof(IDirect3DDevice9)); - -_COM_SMARTPTR_TYPEDEF(IDirect3DStateBlock9, __uuidof(IDirect3DStateBlock9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DResource9, __uuidof(IDirect3DResource9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DVertexDeclaration9, __uuidof(IDirect3DVertexDeclaration9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DVertexShader9, __uuidof(IDirect3DVertexShader9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DPixelShader9, __uuidof(IDirect3DPixelShader9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DBaseTexture9, __uuidof(IDirect3DBaseTexture9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DTexture9, __uuidof(IDirect3DTexture9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DVolumeTexture9, __uuidof(IDirect3DVolumeTexture9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DCubeTexture9, __uuidof(IDirect3DCubeTexture9)); - -_COM_SMARTPTR_TYPEDEF(IDirect3DVertexBuffer9, __uuidof(IDirect3DVertexBuffer9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DIndexBuffer9, __uuidof(IDirect3DIndexBuffer9)); - -_COM_SMARTPTR_TYPEDEF(IDirect3DSurface9, __uuidof(IDirect3DSurface9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DVolume9, __uuidof(IDirect3DVolume9)); - -_COM_SMARTPTR_TYPEDEF(IDirect3DSwapChain9, __uuidof(IDirect3DSwapChain9)); -_COM_SMARTPTR_TYPEDEF(IDirect3DQuery9, __uuidof(IDirect3DQuery9)); - -#endif -#endif - - -typedef interface IDirect3D9 IDirect3D9; -typedef interface IDirect3DDevice9 IDirect3DDevice9; -typedef interface IDirect3DStateBlock9 IDirect3DStateBlock9; -typedef interface IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9; -typedef interface IDirect3DVertexShader9 IDirect3DVertexShader9; -typedef interface IDirect3DPixelShader9 IDirect3DPixelShader9; -typedef interface IDirect3DResource9 IDirect3DResource9; -typedef interface IDirect3DBaseTexture9 IDirect3DBaseTexture9; -typedef interface IDirect3DTexture9 IDirect3DTexture9; -typedef interface IDirect3DVolumeTexture9 IDirect3DVolumeTexture9; -typedef interface IDirect3DCubeTexture9 IDirect3DCubeTexture9; -typedef interface IDirect3DVertexBuffer9 IDirect3DVertexBuffer9; -typedef interface IDirect3DIndexBuffer9 IDirect3DIndexBuffer9; -typedef interface IDirect3DSurface9 IDirect3DSurface9; -typedef interface IDirect3DVolume9 IDirect3DVolume9; -typedef interface IDirect3DSwapChain9 IDirect3DSwapChain9; -typedef interface IDirect3DQuery9 IDirect3DQuery9; - - -#include "d3d9types.h" -#include "d3d9caps.h" - - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * DLL Function for creating a Direct3D9 object. This object supports - * enumeration and allows the creation of Direct3DDevice9 objects. - * Pass the value of the constant D3D_SDK_VERSION to this function, so - * that the run-time can validate that your application was compiled - * against the right headers. - */ - -IDirect3D9 * WINAPI Direct3DCreate9(UINT SDKVersion); - - -/* - * Direct3D interfaces - */ - - - - - -#undef INTERFACE -#define INTERFACE IDirect3D9 - -DECLARE_INTERFACE_(IDirect3D9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3D9 methods ***/ - STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE; - STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE; - STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER9* pIdentifier) PURE; - STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter,D3DFORMAT Format) PURE; - STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter,D3DFORMAT Format,UINT Mode,D3DDISPLAYMODE* pMode) PURE; - STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter,D3DDISPLAYMODE* pMode) PURE; - STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter,D3DDEVTYPE DevType,D3DFORMAT DisplayFormat,D3DFORMAT BackBufferFormat,BOOL bWindowed) PURE; - STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat) PURE; - STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType,DWORD* pQualityLevels) PURE; - STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat) PURE; - STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SourceFormat,D3DFORMAT TargetFormat) PURE; - STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS9* pCaps) PURE; - STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE; - STDMETHOD(CreateDevice)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DDevice9** ppReturnedDeviceInterface) PURE; -}; - -typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3D9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3D9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a) -#define IDirect3D9_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p) -#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c) -#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b) -#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d) -#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b) -#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e) -#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f) -#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f) -#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e) -#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d) -#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c) -#define IDirect3D9_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a) -#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f) -#else -#define IDirect3D9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3D9_AddRef(p) (p)->AddRef() -#define IDirect3D9_Release(p) (p)->Release() -#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a) -#define IDirect3D9_GetAdapterCount(p) (p)->GetAdapterCount() -#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c) -#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b) -#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d) -#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b) -#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e) -#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f) -#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f) -#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e) -#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d) -#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c) -#define IDirect3D9_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a) -#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f) -#endif - - - - - - - -/* SwapChain */ - - - - - - - - - - - - - - - -#undef INTERFACE -#define INTERFACE IDirect3DDevice9 - -DECLARE_INTERFACE_(IDirect3DDevice9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DDevice9 methods ***/ - STDMETHOD(TestCooperativeLevel)(THIS) PURE; - STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE; - STDMETHOD(EvictManagedResources)(THIS) PURE; - STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE; - STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE; - STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain,D3DDISPLAYMODE* pMode) PURE; - STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE; - STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot,UINT YHotSpot,IDirect3DSurface9* pCursorBitmap) PURE; - STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y,DWORD Flags) PURE; - STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE; - STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DSwapChain9** pSwapChain) PURE; - STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain,IDirect3DSwapChain9** pSwapChain) PURE; - STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE; - STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE; - STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion) PURE; - STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain,UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface9** ppBackBuffer) PURE; - STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain,D3DRASTER_STATUS* pRasterStatus) PURE; - STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE; - STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain,DWORD Flags,CONST D3DGAMMARAMP* pRamp) PURE; - STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain,D3DGAMMARAMP* pRamp) PURE; - STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture9** ppTexture,HANDLE* pSharedHandle) PURE; - STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture9** ppVolumeTexture,HANDLE* pSharedHandle) PURE; - STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture9** ppCubeTexture,HANDLE* pSharedHandle) PURE; - STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer9** ppVertexBuffer,HANDLE* pSharedHandle) PURE; - STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer9** ppIndexBuffer,HANDLE* pSharedHandle) PURE; - STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Lockable,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle) PURE; - STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Discard,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle) PURE; - STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface,CONST RECT* pSourceRect,IDirect3DSurface9* pDestinationSurface,CONST POINT* pDestPoint) PURE; - STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture,IDirect3DBaseTexture9* pDestinationTexture) PURE; - STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget,IDirect3DSurface9* pDestSurface) PURE; - STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain,IDirect3DSurface9* pDestSurface) PURE; - STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface,CONST RECT* pSourceRect,IDirect3DSurface9* pDestSurface,CONST RECT* pDestRect,D3DTEXTUREFILTERTYPE Filter) PURE; - STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface,CONST RECT* pRect,D3DCOLOR color) PURE; - STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle) PURE; - STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex,IDirect3DSurface9* pRenderTarget) PURE; - STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex,IDirect3DSurface9** ppRenderTarget) PURE; - STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE; - STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE; - STDMETHOD(BeginScene)(THIS) PURE; - STDMETHOD(EndScene)(THIS) PURE; - STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE; - STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix) PURE; - STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX* pMatrix) PURE; - STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE; - STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE; - STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE; - STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE; - STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE; - STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT9*) PURE; - STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT9*) PURE; - STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE; - STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL* pEnable) PURE; - STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float* pPlane) PURE; - STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float* pPlane) PURE; - STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE; - STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD* pValue) PURE; - STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,IDirect3DStateBlock9** ppSB) PURE; - STDMETHOD(BeginStateBlock)(THIS) PURE; - STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE; - STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE; - STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE; - STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture9** ppTexture) PURE; - STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture9* pTexture) PURE; - STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD* pValue) PURE; - STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE; - STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD* pValue) PURE; - STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD Value) PURE; - STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE; - STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY* pEntries) PURE; - STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE; - STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE; - STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE; - STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE; - STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE; - STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE; - STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE; - STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE; - STDMETHOD_(float, GetNPatchMode)(THIS) PURE; - STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE; - STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE; - STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; - STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertices,UINT PrimitiveCount,CONST void* pIndexData,D3DFORMAT IndexDataFormat,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; - STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer9* pDestBuffer,IDirect3DVertexDeclaration9* pVertexDecl,DWORD Flags) PURE; - STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements,IDirect3DVertexDeclaration9** ppDecl) PURE; - STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE; - STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE; - STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE; - STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE; - STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction,IDirect3DVertexShader9** ppShader) PURE; - STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE; - STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE; - STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister,CONST float* pConstantData,UINT Vector4fCount) PURE; - STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister,float* pConstantData,UINT Vector4fCount) PURE; - STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister,CONST int* pConstantData,UINT Vector4iCount) PURE; - STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister,int* pConstantData,UINT Vector4iCount) PURE; - STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister,CONST BOOL* pConstantData,UINT BoolCount) PURE; - STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister,BOOL* pConstantData,UINT BoolCount) PURE; - STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer9* pStreamData,UINT OffsetInBytes,UINT Stride) PURE; - STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer9** ppStreamData,UINT* OffsetInBytes,UINT* pStride) PURE; - STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber,UINT Divider) PURE; - STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber,UINT* Divider) PURE; - STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE; - STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE; - STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction,IDirect3DPixelShader9** ppShader) PURE; - STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE; - STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE; - STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister,CONST float* pConstantData,UINT Vector4fCount) PURE; - STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister,float* pConstantData,UINT Vector4fCount) PURE; - STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister,CONST int* pConstantData,UINT Vector4iCount) PURE; - STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister,int* pConstantData,UINT Vector4iCount) PURE; - STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister,CONST BOOL* pConstantData,UINT BoolCount) PURE; - STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister,BOOL* pConstantData,UINT BoolCount) PURE; - STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float* pNumSegs,CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE; - STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float* pNumSegs,CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE; - STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE; - STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type,IDirect3DQuery9** ppQuery) PURE; -}; - -typedef struct IDirect3DDevice9 *LPDIRECT3DDEVICE9, *PDIRECT3DDEVICE9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DDevice9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DDevice9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p) -#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p) -#define IDirect3DDevice9_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p) -#define IDirect3DDevice9_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a) -#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a) -#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b) -#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a) -#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c) -#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c) -#define IDirect3DDevice9_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a) -#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b) -#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b) -#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p) -#define IDirect3DDevice9_Reset(p,a) (p)->lpVtbl->Reset(p,a) -#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d) -#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d) -#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b) -#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a) -#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c) -#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b) -#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) -#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g) -#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f) -#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f) -#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d) -#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b) -#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b) -#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b) -#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e) -#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c) -#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f) -#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b) -#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b) -#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a) -#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a) -#define IDirect3DDevice9_BeginScene(p) (p)->lpVtbl->BeginScene(p) -#define IDirect3DDevice9_EndScene(p) (p)->lpVtbl->EndScene(p) -#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f) -#define IDirect3DDevice9_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b) -#define IDirect3DDevice9_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b) -#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b) -#define IDirect3DDevice9_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a) -#define IDirect3DDevice9_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a) -#define IDirect3DDevice9_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a) -#define IDirect3DDevice9_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a) -#define IDirect3DDevice9_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b) -#define IDirect3DDevice9_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b) -#define IDirect3DDevice9_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b) -#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b) -#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b) -#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b) -#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b) -#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b) -#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b) -#define IDirect3DDevice9_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p) -#define IDirect3DDevice9_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a) -#define IDirect3DDevice9_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a) -#define IDirect3DDevice9_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a) -#define IDirect3DDevice9_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b) -#define IDirect3DDevice9_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b) -#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c) -#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c) -#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c) -#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c) -#define IDirect3DDevice9_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a) -#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b) -#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b) -#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a) -#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a) -#define IDirect3DDevice9_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a) -#define IDirect3DDevice9_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a) -#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a) -#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p) -#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a) -#define IDirect3DDevice9_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p) -#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c) -#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f) -#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d) -#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f) -#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b) -#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a) -#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a) -#define IDirect3DDevice9_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a) -#define IDirect3DDevice9_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a) -#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b) -#define IDirect3DDevice9_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a) -#define IDirect3DDevice9_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a) -#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c) -#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c) -#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c) -#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c) -#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c) -#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c) -#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d) -#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d) -#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b) -#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b) -#define IDirect3DDevice9_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a) -#define IDirect3DDevice9_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a) -#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b) -#define IDirect3DDevice9_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a) -#define IDirect3DDevice9_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a) -#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c) -#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c) -#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c) -#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c) -#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c) -#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c) -#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c) -#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c) -#define IDirect3DDevice9_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a) -#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b) -#else -#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DDevice9_AddRef(p) (p)->AddRef() -#define IDirect3DDevice9_Release(p) (p)->Release() -#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->TestCooperativeLevel() -#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem() -#define IDirect3DDevice9_EvictManagedResources(p) (p)->EvictManagedResources() -#define IDirect3DDevice9_GetDirect3D(p,a) (p)->GetDirect3D(a) -#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a) -#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b) -#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->GetCreationParameters(a) -#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c) -#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c) -#define IDirect3DDevice9_ShowCursor(p,a) (p)->ShowCursor(a) -#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b) -#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b) -#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains() -#define IDirect3DDevice9_Reset(p,a) (p)->Reset(a) -#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->Present(a,b,c,d) -#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d) -#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b) -#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a) -#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c) -#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b) -#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i) -#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g) -#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f) -#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f) -#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d) -#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b) -#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b) -#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b) -#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e) -#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c) -#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f) -#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b) -#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b) -#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a) -#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a) -#define IDirect3DDevice9_BeginScene(p) (p)->BeginScene() -#define IDirect3DDevice9_EndScene(p) (p)->EndScene() -#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f) -#define IDirect3DDevice9_SetTransform(p,a,b) (p)->SetTransform(a,b) -#define IDirect3DDevice9_GetTransform(p,a,b) (p)->GetTransform(a,b) -#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b) -#define IDirect3DDevice9_SetViewport(p,a) (p)->SetViewport(a) -#define IDirect3DDevice9_GetViewport(p,a) (p)->GetViewport(a) -#define IDirect3DDevice9_SetMaterial(p,a) (p)->SetMaterial(a) -#define IDirect3DDevice9_GetMaterial(p,a) (p)->GetMaterial(a) -#define IDirect3DDevice9_SetLight(p,a,b) (p)->SetLight(a,b) -#define IDirect3DDevice9_GetLight(p,a,b) (p)->GetLight(a,b) -#define IDirect3DDevice9_LightEnable(p,a,b) (p)->LightEnable(a,b) -#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b) -#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b) -#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b) -#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->SetRenderState(a,b) -#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->GetRenderState(a,b) -#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b) -#define IDirect3DDevice9_BeginStateBlock(p) (p)->BeginStateBlock() -#define IDirect3DDevice9_EndStateBlock(p,a) (p)->EndStateBlock(a) -#define IDirect3DDevice9_SetClipStatus(p,a) (p)->SetClipStatus(a) -#define IDirect3DDevice9_GetClipStatus(p,a) (p)->GetClipStatus(a) -#define IDirect3DDevice9_GetTexture(p,a,b) (p)->GetTexture(a,b) -#define IDirect3DDevice9_SetTexture(p,a,b) (p)->SetTexture(a,b) -#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c) -#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c) -#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c) -#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c) -#define IDirect3DDevice9_ValidateDevice(p,a) (p)->ValidateDevice(a) -#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b) -#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b) -#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a) -#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a) -#define IDirect3DDevice9_SetScissorRect(p,a) (p)->SetScissorRect(a) -#define IDirect3DDevice9_GetScissorRect(p,a) (p)->GetScissorRect(a) -#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a) -#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing() -#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->SetNPatchMode(a) -#define IDirect3DDevice9_GetNPatchMode(p) (p)->GetNPatchMode() -#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c) -#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f) -#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d) -#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h) -#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f) -#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b) -#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a) -#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a) -#define IDirect3DDevice9_SetFVF(p,a) (p)->SetFVF(a) -#define IDirect3DDevice9_GetFVF(p,a) (p)->GetFVF(a) -#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b) -#define IDirect3DDevice9_SetVertexShader(p,a) (p)->SetVertexShader(a) -#define IDirect3DDevice9_GetVertexShader(p,a) (p)->GetVertexShader(a) -#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c) -#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c) -#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c) -#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c) -#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c) -#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c) -#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d) -#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d) -#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b) -#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b) -#define IDirect3DDevice9_SetIndices(p,a) (p)->SetIndices(a) -#define IDirect3DDevice9_GetIndices(p,a) (p)->GetIndices(a) -#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b) -#define IDirect3DDevice9_SetPixelShader(p,a) (p)->SetPixelShader(a) -#define IDirect3DDevice9_GetPixelShader(p,a) (p)->GetPixelShader(a) -#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c) -#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c) -#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c) -#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c) -#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c) -#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c) -#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c) -#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c) -#define IDirect3DDevice9_DeletePatch(p,a) (p)->DeletePatch(a) -#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->CreateQuery(a,b) -#endif - - -#undef INTERFACE -#define INTERFACE IDirect3DStateBlock9 - -DECLARE_INTERFACE_(IDirect3DStateBlock9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DStateBlock9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(Capture)(THIS) PURE; - STDMETHOD(Apply)(THIS) PURE; -}; - -typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9, *PDIRECT3DSTATEBLOCK9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DStateBlock9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DStateBlock9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DStateBlock9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DStateBlock9_Capture(p) (p)->lpVtbl->Capture(p) -#define IDirect3DStateBlock9_Apply(p) (p)->lpVtbl->Apply(p) -#else -#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DStateBlock9_AddRef(p) (p)->AddRef() -#define IDirect3DStateBlock9_Release(p) (p)->Release() -#define IDirect3DStateBlock9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DStateBlock9_Capture(p) (p)->Capture() -#define IDirect3DStateBlock9_Apply(p) (p)->Apply() -#endif - - - -#undef INTERFACE -#define INTERFACE IDirect3DSwapChain9 - -DECLARE_INTERFACE_(IDirect3DSwapChain9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DSwapChain9 methods ***/ - STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion,DWORD dwFlags) PURE; - STDMETHOD(GetFrontBufferData)(THIS_ IDirect3DSurface9* pDestSurface) PURE; - STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface9** ppBackBuffer) PURE; - STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE; - STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE; - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE; -}; - -typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DSwapChain9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DSwapChain9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e) -#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a) -#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c) -#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a) -#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a) -#define IDirect3DSwapChain9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a) -#else -#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DSwapChain9_AddRef(p) (p)->AddRef() -#define IDirect3DSwapChain9_Release(p) (p)->Release() -#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->Present(a,b,c,d,e) -#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->GetFrontBufferData(a) -#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c) -#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->GetRasterStatus(a) -#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->GetDisplayMode(a) -#define IDirect3DSwapChain9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->GetPresentParameters(a) -#endif - - - -#undef INTERFACE -#define INTERFACE IDirect3DResource9 - -DECLARE_INTERFACE_(IDirect3DResource9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DResource9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; -}; - -typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DResource9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DResource9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DResource9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DResource9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DResource9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DResource9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DResource9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DResource9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DResource9_GetType(p) (p)->lpVtbl->GetType(p) -#else -#define IDirect3DResource9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DResource9_AddRef(p) (p)->AddRef() -#define IDirect3DResource9_Release(p) (p)->Release() -#define IDirect3DResource9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DResource9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DResource9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DResource9_GetPriority(p) (p)->GetPriority() -#define IDirect3DResource9_PreLoad(p) (p)->PreLoad() -#define IDirect3DResource9_GetType(p) (p)->GetType() -#endif - - - -#undef INTERFACE -#define INTERFACE IDirect3DVertexDeclaration9 - -DECLARE_INTERFACE_(IDirect3DVertexDeclaration9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DVertexDeclaration9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*,UINT* pNumElements) PURE; -}; - -typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9, *PDIRECT3DVERTEXDECLARATION9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DVertexDeclaration9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DVertexDeclaration9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->lpVtbl->GetDeclaration(p,a,b) -#else -#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DVertexDeclaration9_AddRef(p) (p)->AddRef() -#define IDirect3DVertexDeclaration9_Release(p) (p)->Release() -#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->GetDeclaration(a,b) -#endif - - - -#undef INTERFACE -#define INTERFACE IDirect3DVertexShader9 - -DECLARE_INTERFACE_(IDirect3DVertexShader9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DVertexShader9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(GetFunction)(THIS_ void*,UINT* pSizeOfData) PURE; -}; - -typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9, *PDIRECT3DVERTEXSHADER9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DVertexShader9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DVertexShader9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DVertexShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b) -#else -#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DVertexShader9_AddRef(p) (p)->AddRef() -#define IDirect3DVertexShader9_Release(p) (p)->Release() -#define IDirect3DVertexShader9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->GetFunction(a,b) -#endif - - - -#undef INTERFACE -#define INTERFACE IDirect3DPixelShader9 - -DECLARE_INTERFACE_(IDirect3DPixelShader9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DPixelShader9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(GetFunction)(THIS_ void*,UINT* pSizeOfData) PURE; -}; - -typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9, *PDIRECT3DPIXELSHADER9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DPixelShader9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DPixelShader9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DPixelShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b) -#else -#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DPixelShader9_AddRef(p) (p)->AddRef() -#define IDirect3DPixelShader9_Release(p) (p)->Release() -#define IDirect3DPixelShader9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->GetFunction(a,b) -#endif - - - - -#undef INTERFACE -#define INTERFACE IDirect3DBaseTexture9 - -DECLARE_INTERFACE_(IDirect3DBaseTexture9, IDirect3DResource9) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DResource9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; - STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE; - STDMETHOD_(DWORD, GetLOD)(THIS) PURE; - STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE; - STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE; - STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE; - STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE; -}; - -typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DBaseTexture9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DBaseTexture9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DBaseTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DBaseTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DBaseTexture9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) -#define IDirect3DBaseTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p) -#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) -#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a) -#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p) -#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p) -#else -#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DBaseTexture9_AddRef(p) (p)->AddRef() -#define IDirect3DBaseTexture9_Release(p) (p)->Release() -#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DBaseTexture9_GetPriority(p) (p)->GetPriority() -#define IDirect3DBaseTexture9_PreLoad(p) (p)->PreLoad() -#define IDirect3DBaseTexture9_GetType(p) (p)->GetType() -#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->SetLOD(a) -#define IDirect3DBaseTexture9_GetLOD(p) (p)->GetLOD() -#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->GetLevelCount() -#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a) -#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType() -#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels() -#endif - - - - - -#undef INTERFACE -#define INTERFACE IDirect3DTexture9 - -DECLARE_INTERFACE_(IDirect3DTexture9, IDirect3DBaseTexture9) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DBaseTexture9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; - STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE; - STDMETHOD_(DWORD, GetLOD)(THIS) PURE; - STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE; - STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE; - STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE; - STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE; - STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC *pDesc) PURE; - STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface9** ppSurfaceLevel) PURE; - STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE; - STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE; - STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE; -}; - -typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DTexture9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DTexture9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DTexture9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) -#define IDirect3DTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p) -#define IDirect3DTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) -#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a) -#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p) -#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p) -#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b) -#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b) -#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d) -#define IDirect3DTexture9_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a) -#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a) -#else -#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DTexture9_AddRef(p) (p)->AddRef() -#define IDirect3DTexture9_Release(p) (p)->Release() -#define IDirect3DTexture9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DTexture9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DTexture9_GetPriority(p) (p)->GetPriority() -#define IDirect3DTexture9_PreLoad(p) (p)->PreLoad() -#define IDirect3DTexture9_GetType(p) (p)->GetType() -#define IDirect3DTexture9_SetLOD(p,a) (p)->SetLOD(a) -#define IDirect3DTexture9_GetLOD(p) (p)->GetLOD() -#define IDirect3DTexture9_GetLevelCount(p) (p)->GetLevelCount() -#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a) -#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType() -#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels() -#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b) -#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b) -#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d) -#define IDirect3DTexture9_UnlockRect(p,a) (p)->UnlockRect(a) -#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->AddDirtyRect(a) -#endif - - - - - -#undef INTERFACE -#define INTERFACE IDirect3DVolumeTexture9 - -DECLARE_INTERFACE_(IDirect3DVolumeTexture9, IDirect3DBaseTexture9) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DBaseTexture9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; - STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE; - STDMETHOD_(DWORD, GetLOD)(THIS) PURE; - STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE; - STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE; - STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE; - STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE; - STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC *pDesc) PURE; - STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume9** ppVolumeLevel) PURE; - STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX* pLockedVolume,CONST D3DBOX* pBox,DWORD Flags) PURE; - STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE; - STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX* pDirtyBox) PURE; -}; - -typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DVolumeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DVolumeTexture9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DVolumeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DVolumeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DVolumeTexture9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) -#define IDirect3DVolumeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p) -#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) -#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a) -#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p) -#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p) -#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b) -#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b) -#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d) -#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a) -#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a) -#else -#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DVolumeTexture9_AddRef(p) (p)->AddRef() -#define IDirect3DVolumeTexture9_Release(p) (p)->Release() -#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DVolumeTexture9_GetPriority(p) (p)->GetPriority() -#define IDirect3DVolumeTexture9_PreLoad(p) (p)->PreLoad() -#define IDirect3DVolumeTexture9_GetType(p) (p)->GetType() -#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->SetLOD(a) -#define IDirect3DVolumeTexture9_GetLOD(p) (p)->GetLOD() -#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->GetLevelCount() -#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a) -#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType() -#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels() -#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b) -#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b) -#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d) -#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->UnlockBox(a) -#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->AddDirtyBox(a) -#endif - - - - - -#undef INTERFACE -#define INTERFACE IDirect3DCubeTexture9 - -DECLARE_INTERFACE_(IDirect3DCubeTexture9, IDirect3DBaseTexture9) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DBaseTexture9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; - STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE; - STDMETHOD_(DWORD, GetLOD)(THIS) PURE; - STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE; - STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE; - STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE; - STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE; - STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC *pDesc) PURE; - STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface9** ppCubeMapSurface) PURE; - STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE; - STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE; - STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT* pDirtyRect) PURE; -}; - -typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DCubeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DCubeTexture9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DCubeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DCubeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DCubeTexture9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) -#define IDirect3DCubeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p) -#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p) -#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a) -#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p) -#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p) -#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b) -#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c) -#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e) -#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b) -#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b) -#else -#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DCubeTexture9_AddRef(p) (p)->AddRef() -#define IDirect3DCubeTexture9_Release(p) (p)->Release() -#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DCubeTexture9_GetPriority(p) (p)->GetPriority() -#define IDirect3DCubeTexture9_PreLoad(p) (p)->PreLoad() -#define IDirect3DCubeTexture9_GetType(p) (p)->GetType() -#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->SetLOD(a) -#define IDirect3DCubeTexture9_GetLOD(p) (p)->GetLOD() -#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->GetLevelCount() -#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a) -#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType() -#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels() -#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b) -#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c) -#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e) -#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->UnlockRect(a,b) -#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b) -#endif - - - - -#undef INTERFACE -#define INTERFACE IDirect3DVertexBuffer9 - -DECLARE_INTERFACE_(IDirect3DVertexBuffer9, IDirect3DResource9) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DResource9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; - STDMETHOD(Lock)(THIS_ UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags) PURE; - STDMETHOD(Unlock)(THIS) PURE; - STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC *pDesc) PURE; -}; - -typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DVertexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DVertexBuffer9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DVertexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DVertexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DVertexBuffer9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) -#define IDirect3DVertexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p) -#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) -#else -#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DVertexBuffer9_AddRef(p) (p)->AddRef() -#define IDirect3DVertexBuffer9_Release(p) (p)->Release() -#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DVertexBuffer9_GetPriority(p) (p)->GetPriority() -#define IDirect3DVertexBuffer9_PreLoad(p) (p)->PreLoad() -#define IDirect3DVertexBuffer9_GetType(p) (p)->GetType() -#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) -#define IDirect3DVertexBuffer9_Unlock(p) (p)->Unlock() -#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->GetDesc(a) -#endif - - - - -#undef INTERFACE -#define INTERFACE IDirect3DIndexBuffer9 - -DECLARE_INTERFACE_(IDirect3DIndexBuffer9, IDirect3DResource9) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DResource9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; - STDMETHOD(Lock)(THIS_ UINT OffsetToLock,UINT SizeToLock,void** ppbData,DWORD Flags) PURE; - STDMETHOD(Unlock)(THIS) PURE; - STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC *pDesc) PURE; -}; - -typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DIndexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DIndexBuffer9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DIndexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DIndexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DIndexBuffer9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) -#define IDirect3DIndexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p) -#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) -#else -#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DIndexBuffer9_AddRef(p) (p)->AddRef() -#define IDirect3DIndexBuffer9_Release(p) (p)->Release() -#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DIndexBuffer9_GetPriority(p) (p)->GetPriority() -#define IDirect3DIndexBuffer9_PreLoad(p) (p)->PreLoad() -#define IDirect3DIndexBuffer9_GetType(p) (p)->GetType() -#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) -#define IDirect3DIndexBuffer9_Unlock(p) (p)->Unlock() -#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->GetDesc(a) -#endif - - - - -#undef INTERFACE -#define INTERFACE IDirect3DSurface9 - -DECLARE_INTERFACE_(IDirect3DSurface9, IDirect3DResource9) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DResource9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; - STDMETHOD_(DWORD, GetPriority)(THIS) PURE; - STDMETHOD_(void, PreLoad)(THIS) PURE; - STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE; - STDMETHOD(GetContainer)(THIS_ REFIID riid,void** ppContainer) PURE; - STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC *pDesc) PURE; - STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE; - STDMETHOD(UnlockRect)(THIS) PURE; - STDMETHOD(GetDC)(THIS_ HDC *phdc) PURE; - STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE; -}; - -typedef struct IDirect3DSurface9 *LPDIRECT3DSURFACE9, *PDIRECT3DSURFACE9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DSurface9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DSurface9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DSurface9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DSurface9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DSurface9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) -#define IDirect3DSurface9_GetPriority(p) (p)->lpVtbl->GetPriority(p) -#define IDirect3DSurface9_PreLoad(p) (p)->lpVtbl->PreLoad(p) -#define IDirect3DSurface9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DSurface9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b) -#define IDirect3DSurface9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) -#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c) -#define IDirect3DSurface9_UnlockRect(p) (p)->lpVtbl->UnlockRect(p) -#define IDirect3DSurface9_GetDC(p,a) (p)->lpVtbl->GetDC(p,a) -#define IDirect3DSurface9_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a) -#else -#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DSurface9_AddRef(p) (p)->AddRef() -#define IDirect3DSurface9_Release(p) (p)->Release() -#define IDirect3DSurface9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DSurface9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DSurface9_SetPriority(p,a) (p)->SetPriority(a) -#define IDirect3DSurface9_GetPriority(p) (p)->GetPriority() -#define IDirect3DSurface9_PreLoad(p) (p)->PreLoad() -#define IDirect3DSurface9_GetType(p) (p)->GetType() -#define IDirect3DSurface9_GetContainer(p,a,b) (p)->GetContainer(a,b) -#define IDirect3DSurface9_GetDesc(p,a) (p)->GetDesc(a) -#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->LockRect(a,b,c) -#define IDirect3DSurface9_UnlockRect(p) (p)->UnlockRect() -#define IDirect3DSurface9_GetDC(p,a) (p)->GetDC(a) -#define IDirect3DSurface9_ReleaseDC(p,a) (p)->ReleaseDC(a) -#endif - - - - -#undef INTERFACE -#define INTERFACE IDirect3DVolume9 - -DECLARE_INTERFACE_(IDirect3DVolume9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DVolume9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE; - STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE; - STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; - STDMETHOD(GetContainer)(THIS_ REFIID riid,void** ppContainer) PURE; - STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC *pDesc) PURE; - STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX* pBox,DWORD Flags) PURE; - STDMETHOD(UnlockBox)(THIS) PURE; -}; - -typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DVolume9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DVolume9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DVolume9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) -#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) -#define IDirect3DVolume9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) -#define IDirect3DVolume9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b) -#define IDirect3DVolume9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a) -#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c) -#define IDirect3DVolume9_UnlockBox(p) (p)->lpVtbl->UnlockBox(p) -#else -#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DVolume9_AddRef(p) (p)->AddRef() -#define IDirect3DVolume9_Release(p) (p)->Release() -#define IDirect3DVolume9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) -#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) -#define IDirect3DVolume9_FreePrivateData(p,a) (p)->FreePrivateData(a) -#define IDirect3DVolume9_GetContainer(p,a,b) (p)->GetContainer(a,b) -#define IDirect3DVolume9_GetDesc(p,a) (p)->GetDesc(a) -#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->LockBox(a,b,c) -#define IDirect3DVolume9_UnlockBox(p) (p)->UnlockBox() -#endif - - - -#undef INTERFACE -#define INTERFACE IDirect3DQuery9 - -DECLARE_INTERFACE_(IDirect3DQuery9, IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - - /*** IDirect3DQuery9 methods ***/ - STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; - STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE; - STDMETHOD_(DWORD, GetDataSize)(THIS) PURE; - STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE; - STDMETHOD(GetData)(THIS_ void* pData,DWORD dwSize,DWORD dwGetDataFlags) PURE; -}; - -typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9; - -#if !defined(__cplusplus) || defined(CINTERFACE) -#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirect3DQuery9_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirect3DQuery9_Release(p) (p)->lpVtbl->Release(p) -#define IDirect3DQuery9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a) -#define IDirect3DQuery9_GetType(p) (p)->lpVtbl->GetType(p) -#define IDirect3DQuery9_GetDataSize(p) (p)->lpVtbl->GetDataSize(p) -#define IDirect3DQuery9_Issue(p,a) (p)->lpVtbl->Issue(p,a) -#define IDirect3DQuery9_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c) -#else -#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->QueryInterface(a,b) -#define IDirect3DQuery9_AddRef(p) (p)->AddRef() -#define IDirect3DQuery9_Release(p) (p)->Release() -#define IDirect3DQuery9_GetDevice(p,a) (p)->GetDevice(a) -#define IDirect3DQuery9_GetType(p) (p)->GetType() -#define IDirect3DQuery9_GetDataSize(p) (p)->GetDataSize() -#define IDirect3DQuery9_Issue(p,a) (p)->Issue(a) -#define IDirect3DQuery9_GetData(p,a,b,c) (p)->GetData(a,b,c) -#endif - - -/**************************************************************************** - * Flags for SetPrivateData method on all D3D9 interfaces - * - * The passed pointer is an IUnknown ptr. The SizeOfData argument to SetPrivateData - * must be set to sizeof(IUnknown*). Direct3D will call AddRef through this - * pointer and Release when the private data is destroyed. The data will be - * destroyed when another SetPrivateData with the same GUID is set, when - * FreePrivateData is called, or when the D3D9 object is freed. - ****************************************************************************/ -#define D3DSPD_IUNKNOWN 0x00000001L - -/**************************************************************************** - * - * Flags for IDirect3D9::CreateDevice's BehaviorFlags - * - ****************************************************************************/ - -#define D3DCREATE_FPU_PRESERVE 0x00000002L -#define D3DCREATE_MULTITHREADED 0x00000004L - -#define D3DCREATE_PUREDEVICE 0x00000010L -#define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020L -#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L -#define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L - -#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100L -#define D3DCREATE_ADAPTERGROUP_DEVICE 0x00000200L - - -/**************************************************************************** - * - * Parameter for IDirect3D9::CreateDevice's iAdapter - * - ****************************************************************************/ - -#define D3DADAPTER_DEFAULT 0 - -/**************************************************************************** - * - * Flags for IDirect3D9::EnumAdapters - * - ****************************************************************************/ - -#define D3DENUM_WHQL_LEVEL 0x00000002L - -/**************************************************************************** - * - * Maximum number of back-buffers supported in DX8 - * - ****************************************************************************/ - -#define D3DPRESENT_BACK_BUFFERS_MAX 3L - -/**************************************************************************** - * - * Flags for IDirect3DDevice9::SetGammaRamp - * - ****************************************************************************/ - -#define D3DSGR_NO_CALIBRATION 0x00000000L -#define D3DSGR_CALIBRATE 0x00000001L - -/**************************************************************************** - * - * Flags for IDirect3DDevice9::SetCursorPosition - * - ****************************************************************************/ - -#define D3DCURSOR_IMMEDIATE_UPDATE 0x00000001L - -/**************************************************************************** - * - * Flags for IDirect3DSwapChain9::Present - * - ****************************************************************************/ - -#define D3DPRESENT_DONOTWAIT 0x00000001L -#define D3DPRESENT_LINEAR_CONTENT 0x00000002L - -/**************************************************************************** - * - * Flags for DrawPrimitive/DrawIndexedPrimitive - * Also valid for Begin/BeginIndexed - * Also valid for VertexBuffer::CreateVertexBuffer - ****************************************************************************/ - - -/* - * DirectDraw error codes - */ -#define _FACD3D 0x876 -#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code ) -#define MAKE_D3DSTATUS( code ) MAKE_HRESULT( 0, _FACD3D, code ) - -/* - * Direct3D Errors - */ -#define D3D_OK S_OK - -#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072) -#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073) -#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074) -#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075) -#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076) -#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077) -#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078) -#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079) -#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081) -#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082) -#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086) -#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087) - -#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150) -#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151) -#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152) -#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153) -#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154) -#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380) -#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155) -#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156) -#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157) -#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540) -#define D3DOK_NOAUTOGEN MAKE_D3DSTATUS(2159) - - -#ifdef __cplusplus -}; -#endif - -#endif /* (DIRECT3D_VERSION >= 0x0900) */ -#endif /* _D3D_H_ */ - diff --git a/d3d9proxy/d3dx9.h b/d3d9proxy/d3dx9.h deleted file mode 100644 index cbaabcf..0000000 --- a/d3d9proxy/d3dx9.h +++ /dev/null @@ -1,71 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// Copyright (C) Microsoft Corporation. All Rights Reserved. -// -// File: d3dx9.h -// Content: D3DX utility library -// -////////////////////////////////////////////////////////////////////////////// - -#ifdef __D3DX_INTERNAL__ -#error Incorrect D3DX header used -#endif - -#ifndef __D3DX9_H__ -#define __D3DX9_H__ - - -// Defines -#include - -#define D3DX_DEFAULT ((UINT) -1) -#define D3DX_DEFAULT_NONPOW2 ((UINT) -2) -#define D3DX_DEFAULT_FLOAT FLT_MAX - -#ifndef D3DXINLINE -#ifdef _MSC_VER - #if (_MSC_VER >= 1200) - #define D3DXINLINE __forceinline - #else - #define D3DXINLINE __inline - #endif -#else - #ifdef __cplusplus - #define D3DXINLINE inline - #else - #define D3DXINLINE - #endif -#endif -#endif - - -// Includes -#include "d3d9.h" -#include "d3dx9math.h" -#include "d3dx9core.h" -#include "d3dx9mesh.h" -#include "d3dx9tex.h" -#include "d3dx9shader.h" -#include "d3dx9effect.h" -#include "d3dx9shape.h" -#include "d3dx9anim.h" - - -// Errors -#define _FACDD 0x876 -#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code ) - -enum _D3DXERR { - D3DXERR_CANNOTMODIFYINDEXBUFFER = MAKE_DDHRESULT(2900), - D3DXERR_INVALIDMESH = MAKE_DDHRESULT(2901), - D3DXERR_CANNOTATTRSORT = MAKE_DDHRESULT(2902), - D3DXERR_SKINNINGNOTSUPPORTED = MAKE_DDHRESULT(2903), - D3DXERR_TOOMANYINFLUENCES = MAKE_DDHRESULT(2904), - D3DXERR_INVALIDDATA = MAKE_DDHRESULT(2905), - D3DXERR_LOADEDMESHASNODATA = MAKE_DDHRESULT(2906), - D3DXERR_DUPLICATENAMEDFRAGMENT = MAKE_DDHRESULT(2907), -}; - - -#endif //__D3DX9_H__ - diff --git a/d3d9proxy/d3dx9.lib b/d3d9proxy/d3dx9.lib deleted file mode 100644 index 11853bf0acdaa8f9014a2f665c08ba453f32bf9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87600 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 zoQueryInterface(riid, ppvObj); - - if (hRes == NOERROR) // if OK, send our "fake" address - { - *ppvObj = this; - } - - return hRes; -} - -ULONG __stdcall myIDirect3D9::AddRef(void) -{ - return(m_pIDirect3D9->AddRef()); -} - -ULONG __stdcall myIDirect3D9::Release(void) -{ - extern myIDirect3D9* gl_pmyIDirect3D9; - - // call original routine - ULONG count = m_pIDirect3D9->Release(); - - // in case no further Ref is there, the Original Object has deleted itself - // so do we here - if (count == 0){ - gl_pmyIDirect3D9 = NULL; - delete(this); - } - - return(count); -} - -HRESULT __stdcall myIDirect3D9::RegisterSoftwareDevice(void* pInitializeFunction) -{ - trace(log, "IDirect3D9::RegisterSoftwareDevice\n"); - return(m_pIDirect3D9->RegisterSoftwareDevice(pInitializeFunction)); -} - -UINT __stdcall myIDirect3D9::GetAdapterCount(void) -{ - trace(log, "IDirect3D9::GetAdapterCount\n"); - return(m_pIDirect3D9->GetAdapterCount()); -} - -HRESULT __stdcall myIDirect3D9::GetAdapterIdentifier(UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER9* pIdentifier) -{ - trace(log, "IDirect3D9::GetAdapterIdentifier\n"); - return(m_pIDirect3D9->GetAdapterIdentifier(Adapter,Flags,pIdentifier)); -} - -UINT __stdcall myIDirect3D9::GetAdapterModeCount(UINT Adapter, D3DFORMAT Format) -{ - trace(log, "IDirect3D9::GetAdapterModeCount\n"); - return(m_pIDirect3D9->GetAdapterModeCount(Adapter, Format)); -} - -HRESULT __stdcall myIDirect3D9::EnumAdapterModes(UINT Adapter,D3DFORMAT Format,UINT Mode,D3DDISPLAYMODE* pMode) -{ - trace(log, "IDirect3D9::EnumAdapterModes\n"); - return(m_pIDirect3D9->EnumAdapterModes(Adapter,Format,Mode,pMode)); -} - -HRESULT __stdcall myIDirect3D9::GetAdapterDisplayMode( UINT Adapter,D3DDISPLAYMODE* pMode) -{ - trace(log, "IDirect3D9::GetAdapterDisplayMode\n"); - return(m_pIDirect3D9->GetAdapterDisplayMode(Adapter,pMode)); -} - -HRESULT __stdcall myIDirect3D9::CheckDeviceType(UINT iAdapter,D3DDEVTYPE DevType,D3DFORMAT DisplayFormat,D3DFORMAT BackBufferFormat,BOOL bWindowed) -{ - trace(log, "IDirect3D9::CheckDeviceType\n"); - return(m_pIDirect3D9->CheckDeviceType(iAdapter,DevType,DisplayFormat,BackBufferFormat,bWindowed)); -} - -HRESULT __stdcall myIDirect3D9::CheckDeviceFormat(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat) -{ - trace(log, "IDirect3D9::CheckDeviceFormat\n"); - return(m_pIDirect3D9->CheckDeviceFormat(Adapter,DeviceType,AdapterFormat,Usage,RType,CheckFormat)); -} - -HRESULT __stdcall myIDirect3D9::CheckDeviceMultiSampleType(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType,DWORD* pQualityLevels) -{ - trace(log, "IDirect3D9::CheckDeviceMultiSampleType\n"); - return(m_pIDirect3D9->CheckDeviceMultiSampleType(Adapter,DeviceType,SurfaceFormat,Windowed,MultiSampleType,pQualityLevels)); -} - -HRESULT __stdcall myIDirect3D9::CheckDepthStencilMatch(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat) -{ - trace(log, "IDirect3D9::CheckDepthStencilMatch\n"); - return(m_pIDirect3D9->CheckDepthStencilMatch(Adapter,DeviceType,AdapterFormat,RenderTargetFormat,DepthStencilFormat)); -} - -HRESULT __stdcall myIDirect3D9::CheckDeviceFormatConversion(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SourceFormat,D3DFORMAT TargetFormat) -{ - trace(log, "IDirect3D9::CheckDeviceFormatConversion\n"); - return(m_pIDirect3D9->CheckDeviceFormatConversion(Adapter,DeviceType,SourceFormat,TargetFormat)); -} - -HRESULT __stdcall myIDirect3D9::GetDeviceCaps(UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS9* pCaps) -{ - trace(log, "IDirect3D9::GetDeviceCaps\n"); - return(m_pIDirect3D9->GetDeviceCaps(Adapter,DeviceType,pCaps)); -} - -HMONITOR __stdcall myIDirect3D9::GetAdapterMonitor(UINT Adapter) -{ - trace(log, "IDirect3D9::GetAdapterMonitor\n"); - return(m_pIDirect3D9->GetAdapterMonitor(Adapter)); -} - -HRESULT __stdcall myIDirect3D9::CreateDevice(UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DDevice9** ppReturnedDeviceInterface) -{ - trace(log, "IDirect3D9::CreateDevice\n"); - // global var - extern myIDirect3DDevice9* gl_pmyIDirect3DDevice9; - - // we intercept this call and provide our own "fake" Device Object - HRESULT hres = m_pIDirect3D9->CreateDevice( Adapter, DeviceType, hFocusWindow, BehaviorFlags, pPresentationParameters, ppReturnedDeviceInterface); - - // Create our own Device object and store it in global pointer - // note: the object will delete itself once Ref count is zero (similar to COM objects) - gl_pmyIDirect3DDevice9 = new myIDirect3DDevice9(*ppReturnedDeviceInterface); - - // store our pointer (the fake one) for returning it to the calling progam - *ppReturnedDeviceInterface = gl_pmyIDirect3DDevice9; - - return(hres); -} - diff --git a/d3d9proxy/myIDirect3D9.h b/d3d9proxy/myIDirect3D9.h deleted file mode 100644 index 11ef823..0000000 --- a/d3d9proxy/myIDirect3D9.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -class myIDirect3D9 : public IDirect3D9 -{ -public: - myIDirect3D9(IDirect3D9 *pOriginal); - virtual ~myIDirect3D9(void); - - // The original DX9 function definitions - HRESULT __stdcall QueryInterface(REFIID riid, void** ppvObj); - ULONG __stdcall AddRef(void); - ULONG __stdcall Release(void); - HRESULT __stdcall RegisterSoftwareDevice(void* pInitializeFunction); - UINT __stdcall GetAdapterCount(void); - HRESULT __stdcall GetAdapterIdentifier(UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER9* pIdentifier) ; - UINT __stdcall GetAdapterModeCount(UINT Adapter, D3DFORMAT Format); - HRESULT __stdcall EnumAdapterModes(UINT Adapter,D3DFORMAT Format,UINT Mode,D3DDISPLAYMODE* pMode) ; - HRESULT __stdcall GetAdapterDisplayMode( UINT Adapter,D3DDISPLAYMODE* pMode) ; - HRESULT __stdcall CheckDeviceType(UINT iAdapter,D3DDEVTYPE DevType,D3DFORMAT DisplayFormat,D3DFORMAT BackBufferFormat,BOOL bWindowed) ; - HRESULT __stdcall CheckDeviceFormat(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat) ; - HRESULT __stdcall CheckDeviceMultiSampleType(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType,DWORD* pQualityLevels) ; - HRESULT __stdcall CheckDepthStencilMatch(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat) ; - HRESULT __stdcall CheckDeviceFormatConversion(UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SourceFormat,D3DFORMAT TargetFormat); - HRESULT __stdcall GetDeviceCaps(UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS9* pCaps) ; - HMONITOR __stdcall GetAdapterMonitor(UINT Adapter) ; - HRESULT __stdcall CreateDevice(UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DDevice9** ppReturnedDeviceInterface) ; - // The original DX9 function definitions - -private: - IDirect3D9 *m_pIDirect3D9; -}; diff --git a/d3d9proxy/myIDirect3DDevice9.cpp b/d3d9proxy/myIDirect3DDevice9.cpp deleted file mode 100644 index 876b25a..0000000 --- a/d3d9proxy/myIDirect3DDevice9.cpp +++ /dev/null @@ -1,776 +0,0 @@ -#include "StdAfx.h" -#include "myIDirect3DDevice9.h" -#include "stdio.h" - -#define trace if(log) fprintf - -extern FILE *log; - -myIDirect3DDevice9::myIDirect3DDevice9(IDirect3DDevice9* pOriginal) -{ - m_pIDirect3DDevice9 = pOriginal; // store the pointer to original object -} - -myIDirect3DDevice9::~myIDirect3DDevice9(void) -{ -} - -HRESULT myIDirect3DDevice9::QueryInterface (REFIID riid, void** ppvObj) -{ - trace(log, "IDirect3DDevice9::QueryInterface\n"); - // check if original dll can provide interface. then send *our* address - *ppvObj = NULL; - - HRESULT hRes = m_pIDirect3DDevice9->QueryInterface(riid, ppvObj); - - if (hRes == NOERROR) - { - *ppvObj = this; - } - - return hRes; -} - -ULONG myIDirect3DDevice9::AddRef(void) -{ - trace(log, "IDirect3DDevice9::AddRef\n"); - return(m_pIDirect3DDevice9->AddRef()); -} - -ULONG myIDirect3DDevice9::Release(void) -{ - trace(log, "IDirect3DDevice9::Release\n"); - // ATTENTION: This is a booby-trap ! Watch out ! - // If we create our own sprites, surfaces, etc. (thus increasing the ref counter - // by external action), we need to delete that objects before calling the original - // Release function - - // global var - extern myIDirect3DDevice9* gl_pmyIDirect3DDevice9; - - // release/delete own objects - // ..... - - // Calling original function now - ULONG count = m_pIDirect3DDevice9->Release(); - - // now, the Original Object has deleted itself, so do we here - if(count == 0){ - gl_pmyIDirect3DDevice9 = NULL; - delete(this); // destructor will be called automatically - } - - return (count); -} - -HRESULT myIDirect3DDevice9::TestCooperativeLevel(void) -{ - trace(log, "IDirect3DDevice9::TestCooperativeLevel\n"); - return(m_pIDirect3DDevice9->TestCooperativeLevel()); -} - -UINT myIDirect3DDevice9::GetAvailableTextureMem(void) -{ - trace(log, "IDirect3DDevice9::GetAvailableTextureMem\n"); - return(m_pIDirect3DDevice9->GetAvailableTextureMem()); -} - -HRESULT myIDirect3DDevice9::EvictManagedResources(void) -{ - trace(log, "IDirect3DDevice9::EvictManagedResources\n"); - return(m_pIDirect3DDevice9->EvictManagedResources()); -} - -HRESULT myIDirect3DDevice9::GetDirect3D(IDirect3D9** ppD3D9) -{ - trace(log, "IDirect3DDevice9::GetDirect3D\n"); - return(m_pIDirect3DDevice9->GetDirect3D(ppD3D9)); -} - -HRESULT myIDirect3DDevice9::GetDeviceCaps(D3DCAPS9* pCaps) -{ - trace(log, "IDirect3DDevice9::GetDeviceCaps\n"); - return(m_pIDirect3DDevice9->GetDeviceCaps(pCaps)); -} - -HRESULT myIDirect3DDevice9::GetDisplayMode(UINT iSwapChain,D3DDISPLAYMODE* pMode) -{ - trace(log, "IDirect3DDevice9::GetDisplayMode\n"); - return(m_pIDirect3DDevice9->GetDisplayMode(iSwapChain, pMode)); -} - -HRESULT myIDirect3DDevice9::GetCreationParameters(D3DDEVICE_CREATION_PARAMETERS *pParameters) -{ - trace(log, "IDirect3DDevice9::GetCreationParameters\n"); - return(m_pIDirect3DDevice9->GetCreationParameters(pParameters)); -} - -HRESULT myIDirect3DDevice9::SetCursorProperties(UINT XHotSpot,UINT YHotSpot,IDirect3DSurface9* pCursorBitmap) -{ - trace(log, "IDirect3DDevice9::SetCursorProperties\n"); - return(m_pIDirect3DDevice9->SetCursorProperties(XHotSpot,YHotSpot,pCursorBitmap)); -} - -void myIDirect3DDevice9::SetCursorPosition(int X,int Y,DWORD Flags) -{ - trace(log, "IDirect3DDevice9::SetCursorPosition\n"); - return(m_pIDirect3DDevice9->SetCursorPosition(X,Y,Flags)); -} - -BOOL myIDirect3DDevice9::ShowCursor(BOOL bShow) -{ - trace(log, "IDirect3DDevice9::ShowCursor\n"); - return(m_pIDirect3DDevice9->ShowCursor(bShow)); -} - -HRESULT myIDirect3DDevice9::CreateAdditionalSwapChain(D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DSwapChain9** pSwapChain) -{ - trace(log, "IDirect3DDevice9::CreateAdditionalSwapChain\n"); - return(m_pIDirect3DDevice9->CreateAdditionalSwapChain(pPresentationParameters,pSwapChain)); -} - -HRESULT myIDirect3DDevice9::GetSwapChain(UINT iSwapChain,IDirect3DSwapChain9** pSwapChain) -{ - trace(log, "IDirect3DDevice9::GetSwapChain\n"); - return(m_pIDirect3DDevice9->GetSwapChain(iSwapChain,pSwapChain)); -} - -UINT myIDirect3DDevice9::GetNumberOfSwapChains(void) -{ - trace(log, "IDirect3DDevice9::GetNumberOfSwapChains\n"); - return(m_pIDirect3DDevice9->GetNumberOfSwapChains()); -} - -HRESULT myIDirect3DDevice9::Reset(D3DPRESENT_PARAMETERS* pPresentationParameters) -{ - trace(log, "IDirect3DDevice9::Reset\n"); - return(m_pIDirect3DDevice9->Reset(pPresentationParameters)); -} - -HRESULT myIDirect3DDevice9::Present(CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion) -{ - trace(log, "IDirect3DDevice9::Present\n"); - // we may want to draw own things here before flipping surfaces - // ... draw own stuff ... - // this->ShowWeAreHere(); - - // call original routine - HRESULT hres = m_pIDirect3DDevice9->Present( pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion); - - return (hres); -} - -HRESULT myIDirect3DDevice9::GetBackBuffer(UINT iSwapChain,UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface9** ppBackBuffer) -{ - trace(log, "IDirect3DDevice9::GetBackBuffer\n"); - return(m_pIDirect3DDevice9->GetBackBuffer(iSwapChain,iBackBuffer,Type,ppBackBuffer)); -} - -HRESULT myIDirect3DDevice9::GetRasterStatus(UINT iSwapChain,D3DRASTER_STATUS* pRasterStatus) -{ - trace(log, "IDirect3DDevice9::GetRasterStatus\n"); - return(m_pIDirect3DDevice9->GetRasterStatus(iSwapChain,pRasterStatus)); -} - -HRESULT myIDirect3DDevice9::SetDialogBoxMode(BOOL bEnableDialogs) -{ - trace(log, "IDirect3DDevice9::SetDialogBoxMode\n"); - return(m_pIDirect3DDevice9->SetDialogBoxMode(bEnableDialogs)); -} - -void myIDirect3DDevice9::SetGammaRamp(UINT iSwapChain,DWORD Flags,CONST D3DGAMMARAMP* pRamp) -{ - trace(log, "IDirect3DDevice9::SetGammaRamp\n"); - return(m_pIDirect3DDevice9->SetGammaRamp(iSwapChain,Flags,pRamp)); -} - -void myIDirect3DDevice9::GetGammaRamp(UINT iSwapChain,D3DGAMMARAMP* pRamp) -{ - trace(log, "IDirect3DDevice9::GetGammaRamp\n"); - return(m_pIDirect3DDevice9->GetGammaRamp(iSwapChain,pRamp)); -} - -HRESULT myIDirect3DDevice9::CreateTexture(UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture9** ppTexture,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateTexture\n"); - return(m_pIDirect3DDevice9->CreateTexture(Width,Height,Levels,Usage,Format,Pool,ppTexture,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::CreateVolumeTexture(UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture9** ppVolumeTexture,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateVolumeTexture\n"); - return(m_pIDirect3DDevice9->CreateVolumeTexture(Width,Height,Depth,Levels,Usage,Format,Pool,ppVolumeTexture,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::CreateCubeTexture(UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture9** ppCubeTexture,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateCubeTexture\n"); - return(m_pIDirect3DDevice9->CreateCubeTexture(EdgeLength,Levels,Usage,Format,Pool,ppCubeTexture,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::CreateVertexBuffer(UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer9** ppVertexBuffer,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateVertexBuffer\n"); - return(m_pIDirect3DDevice9->CreateVertexBuffer(Length,Usage,FVF,Pool,ppVertexBuffer,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::CreateIndexBuffer(UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer9** ppIndexBuffer,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateIndexBuffer\n"); - return(m_pIDirect3DDevice9->CreateIndexBuffer(Length,Usage,Format,Pool,ppIndexBuffer,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::CreateRenderTarget(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Lockable,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateRenderTarget\n"); - return(m_pIDirect3DDevice9->CreateRenderTarget(Width,Height,Format,MultiSample,MultisampleQuality,Lockable,ppSurface,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::CreateDepthStencilSurface(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Discard,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateDepthStencilSurface\n"); - return(m_pIDirect3DDevice9->CreateDepthStencilSurface(Width,Height,Format,MultiSample,MultisampleQuality,Discard,ppSurface,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::UpdateSurface(IDirect3DSurface9* pSourceSurface,CONST RECT* pSourceRect,IDirect3DSurface9* pDestinationSurface,CONST POINT* pDestPoint) -{ - trace(log, "IDirect3DDevice9::UpdateSurface\n"); - return(m_pIDirect3DDevice9->UpdateSurface(pSourceSurface,pSourceRect,pDestinationSurface,pDestPoint)); -} - -HRESULT myIDirect3DDevice9::UpdateTexture(IDirect3DBaseTexture9* pSourceTexture,IDirect3DBaseTexture9* pDestinationTexture) -{ - trace(log, "IDirect3DDevice9::UpdateTexture\n"); - return(m_pIDirect3DDevice9->UpdateTexture(pSourceTexture,pDestinationTexture)); -} - -HRESULT myIDirect3DDevice9::GetRenderTargetData(IDirect3DSurface9* pRenderTarget,IDirect3DSurface9* pDestSurface) -{ - trace(log, "IDirect3DDevice9::GetRenderTargetData\n"); - return(m_pIDirect3DDevice9->GetRenderTargetData(pRenderTarget,pDestSurface)); -} - -HRESULT myIDirect3DDevice9::GetFrontBufferData(UINT iSwapChain,IDirect3DSurface9* pDestSurface) -{ - trace(log, "IDirect3DDevice9::GetFrontBufferData\n"); - return(m_pIDirect3DDevice9->GetFrontBufferData(iSwapChain,pDestSurface)); -} - -HRESULT myIDirect3DDevice9::StretchRect(IDirect3DSurface9* pSourceSurface,CONST RECT* pSourceRect,IDirect3DSurface9* pDestSurface,CONST RECT* pDestRect,D3DTEXTUREFILTERTYPE Filter) -{ - trace(log, "IDirect3DDevice9::StretchRect\n"); - return(m_pIDirect3DDevice9->StretchRect(pSourceSurface,pSourceRect,pDestSurface,pDestRect,Filter)); -} - -HRESULT myIDirect3DDevice9::ColorFill(IDirect3DSurface9* pSurface,CONST RECT* pRect,D3DCOLOR color) -{ - trace(log, "IDirect3DDevice9::ColorFill\n"); - return(m_pIDirect3DDevice9->ColorFill(pSurface,pRect,color)); -} - -HRESULT myIDirect3DDevice9::CreateOffscreenPlainSurface(UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle) -{ - trace(log, "IDirect3DDevice9::CreateOffscreenPlainSurface\n"); - return(m_pIDirect3DDevice9->CreateOffscreenPlainSurface(Width,Height,Format,Pool,ppSurface,pSharedHandle)); -} - -HRESULT myIDirect3DDevice9::SetRenderTarget(DWORD RenderTargetIndex,IDirect3DSurface9* pRenderTarget) -{ - trace(log, "IDirect3DDevice9::SetRenderTarget\n"); - return(m_pIDirect3DDevice9->SetRenderTarget(RenderTargetIndex,pRenderTarget)); -} - -HRESULT myIDirect3DDevice9::GetRenderTarget(DWORD RenderTargetIndex,IDirect3DSurface9** ppRenderTarget) -{ - trace(log, "IDirect3DDevice9::GetRenderTarget\n"); - return(m_pIDirect3DDevice9->GetRenderTarget(RenderTargetIndex,ppRenderTarget)); -} - -HRESULT myIDirect3DDevice9::SetDepthStencilSurface(IDirect3DSurface9* pNewZStencil) -{ - trace(log, "IDirect3DDevice9::SetDepthStencilSurface\n"); - return(m_pIDirect3DDevice9->SetDepthStencilSurface(pNewZStencil)); -} - -HRESULT myIDirect3DDevice9::GetDepthStencilSurface(IDirect3DSurface9** ppZStencilSurface) -{ - trace(log, "IDirect3DDevice9::GetDepthStencilSurface\n"); - return(m_pIDirect3DDevice9->GetDepthStencilSurface(ppZStencilSurface)); -} - -HRESULT myIDirect3DDevice9::BeginScene(void) -{ - trace(log, "IDirect3DDevice9::BeginScene\n"); - return(m_pIDirect3DDevice9->BeginScene()); -} - -HRESULT myIDirect3DDevice9::EndScene(void) -{ - trace(log, "IDirect3DDevice9::EndScene\n"); - return(m_pIDirect3DDevice9->EndScene()); -} - -HRESULT myIDirect3DDevice9::Clear(DWORD Count,CONST D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) -{ - trace(log, "IDirect3DDevice9::Clear\n"); - return(m_pIDirect3DDevice9->Clear(Count,pRects,Flags,Color,Z,Stencil)); -} - -HRESULT myIDirect3DDevice9::SetTransform(D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix) -{ - trace(log, "IDirect3DDevice9::SetTransform\n"); - return(m_pIDirect3DDevice9->SetTransform(State,pMatrix)); -} - -HRESULT myIDirect3DDevice9::GetTransform(D3DTRANSFORMSTATETYPE State,D3DMATRIX* pMatrix) -{ - trace(log, "IDirect3DDevice9::GetTransform\n"); - return(m_pIDirect3DDevice9->GetTransform(State,pMatrix)); -} - -HRESULT myIDirect3DDevice9::MultiplyTransform(D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix) -{ - trace(log, "IDirect3DDevice9::MultiplyTransform\n"); - return(m_pIDirect3DDevice9->MultiplyTransform(State,pMatrix)); -} - -HRESULT myIDirect3DDevice9::SetViewport(CONST D3DVIEWPORT9* pViewport) -{ - trace(log, "IDirect3DDevice9::SetViewport\n"); - return(m_pIDirect3DDevice9->SetViewport(pViewport)); -} - -HRESULT myIDirect3DDevice9::GetViewport(D3DVIEWPORT9* pViewport) -{ - trace(log, "IDirect3DDevice9::GetViewport\n"); - return(m_pIDirect3DDevice9->GetViewport(pViewport)); -} - -HRESULT myIDirect3DDevice9::SetMaterial(CONST D3DMATERIAL9* pMaterial) -{ - trace(log, "IDirect3DDevice9::SetMaterial\n"); - return(m_pIDirect3DDevice9->SetMaterial(pMaterial)); -} - -HRESULT myIDirect3DDevice9::GetMaterial(D3DMATERIAL9* pMaterial) -{ - trace(log, "IDirect3DDevice9::GetMaterial\n"); - return(m_pIDirect3DDevice9->GetMaterial(pMaterial)); -} - -HRESULT myIDirect3DDevice9::SetLight(DWORD Index,CONST D3DLIGHT9* pLight) -{ - trace(log, "IDirect3DDevice9::SetLight\n"); - return(m_pIDirect3DDevice9->SetLight(Index,pLight)); -} - -HRESULT myIDirect3DDevice9::GetLight(DWORD Index,D3DLIGHT9* pLight) -{ - trace(log, "IDirect3DDevice9::GetLight\n"); - return(m_pIDirect3DDevice9->GetLight(Index,pLight)); -} - -HRESULT myIDirect3DDevice9::LightEnable(DWORD Index,BOOL Enable) -{ - trace(log, "IDirect3DDevice9::LightEnable\n"); - return(m_pIDirect3DDevice9->LightEnable(Index,Enable)); -} - -HRESULT myIDirect3DDevice9::GetLightEnable(DWORD Index,BOOL* pEnable) -{ - trace(log, "IDirect3DDevice9::GetLightEnable\n"); - return(m_pIDirect3DDevice9->GetLightEnable(Index, pEnable)); -} - -HRESULT myIDirect3DDevice9::SetClipPlane(DWORD Index,CONST float* pPlane) -{ - trace(log, "IDirect3DDevice9::SetClipPlane\n"); - return(m_pIDirect3DDevice9->SetClipPlane(Index, pPlane)); -} - -HRESULT myIDirect3DDevice9::GetClipPlane(DWORD Index,float* pPlane) -{ - trace(log, "IDirect3DDevice9::GetClipPlane\n"); - return(m_pIDirect3DDevice9->GetClipPlane(Index,pPlane)); -} - -HRESULT myIDirect3DDevice9::SetRenderState(D3DRENDERSTATETYPE State,DWORD Value) -{ - //trace(log, "IDirect3DDevice9::SetRenderState\n"); - return(m_pIDirect3DDevice9->SetRenderState(State, Value)); -} - -HRESULT myIDirect3DDevice9::GetRenderState(D3DRENDERSTATETYPE State,DWORD* pValue) -{ - trace(log, "IDirect3DDevice9::GetRenderState\n"); - return(m_pIDirect3DDevice9->GetRenderState(State, pValue)); -} - -HRESULT myIDirect3DDevice9::CreateStateBlock(D3DSTATEBLOCKTYPE Type,IDirect3DStateBlock9** ppSB) -{ - trace(log, "IDirect3DDevice9::CreateStateBlock\n"); - return(m_pIDirect3DDevice9->CreateStateBlock(Type,ppSB)); -} - -HRESULT myIDirect3DDevice9::BeginStateBlock(void) -{ - trace(log, "IDirect3DDevice9::BeginStateBlock\n"); - return(m_pIDirect3DDevice9->BeginStateBlock()); -} - -HRESULT myIDirect3DDevice9::EndStateBlock(IDirect3DStateBlock9** ppSB) -{ - trace(log, "IDirect3DDevice9::EndStateBlock\n"); - return(m_pIDirect3DDevice9->EndStateBlock(ppSB)); -} - -HRESULT myIDirect3DDevice9::SetClipStatus(CONST D3DCLIPSTATUS9* pClipStatus) -{ - trace(log, "IDirect3DDevice9::SetClipStatus\n"); - return(m_pIDirect3DDevice9->SetClipStatus(pClipStatus)); -} - -HRESULT myIDirect3DDevice9::GetClipStatus(D3DCLIPSTATUS9* pClipStatus) -{ - trace(log, "IDirect3DDevice9::GetClipStatus\n"); - return(m_pIDirect3DDevice9->GetClipStatus( pClipStatus)); -} - -HRESULT myIDirect3DDevice9::GetTexture(DWORD Stage,IDirect3DBaseTexture9** ppTexture) -{ - trace(log, "IDirect3DDevice9::GetTexture\n"); - return(m_pIDirect3DDevice9->GetTexture(Stage,ppTexture)); -} - -HRESULT myIDirect3DDevice9::SetTexture(DWORD Stage,IDirect3DBaseTexture9* pTexture) -{ - trace(log, "IDirect3DDevice9::SetTexture\n"); - return(m_pIDirect3DDevice9->SetTexture(Stage,pTexture)); -} - -HRESULT myIDirect3DDevice9::GetTextureStageState(DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD* pValue) -{ - trace(log, "IDirect3DDevice9::GetTextureStageState\n"); - return(m_pIDirect3DDevice9->GetTextureStageState(Stage,Type, pValue)); -} - -HRESULT myIDirect3DDevice9::SetTextureStageState(DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) -{ - trace(log, "IDirect3DDevice9::SetTextureStageState\n"); - return(m_pIDirect3DDevice9->SetTextureStageState(Stage,Type,Value)); -} - -HRESULT myIDirect3DDevice9::GetSamplerState(DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD* pValue) -{ - trace(log, "IDirect3DDevice9::GetSamplerState\n"); - return(m_pIDirect3DDevice9->GetSamplerState(Sampler,Type, pValue)); -} - -HRESULT myIDirect3DDevice9::SetSamplerState(DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD Value) -{ - trace(log, "IDirect3DDevice9::SetSamplerState\n"); - return(m_pIDirect3DDevice9->SetSamplerState(Sampler,Type,Value)); -} - -HRESULT myIDirect3DDevice9::ValidateDevice(DWORD* pNumPasses) -{ - trace(log, "IDirect3DDevice9::ValidateDevice\n"); - return(m_pIDirect3DDevice9->ValidateDevice( pNumPasses)); -} - -HRESULT myIDirect3DDevice9::SetPaletteEntries(UINT PaletteNumber,CONST PALETTEENTRY* pEntries) -{ - trace(log, "IDirect3DDevice9::SetPaletteEntries\n"); - return(m_pIDirect3DDevice9->SetPaletteEntries(PaletteNumber, pEntries)); -} - -HRESULT myIDirect3DDevice9::GetPaletteEntries(UINT PaletteNumber,PALETTEENTRY* pEntries) -{ - trace(log, "IDirect3DDevice9::GetPaletteEntries\n"); - return(m_pIDirect3DDevice9->GetPaletteEntries(PaletteNumber, pEntries)); -} - -HRESULT myIDirect3DDevice9::SetCurrentTexturePalette(UINT PaletteNumber) -{ - trace(log, "IDirect3DDevice9::SetCurrentTexturePalette\n"); - return(m_pIDirect3DDevice9->SetCurrentTexturePalette(PaletteNumber)); -} - -HRESULT myIDirect3DDevice9::GetCurrentTexturePalette(UINT *PaletteNumber) -{ - trace(log, "IDirect3DDevice9::GetCurrentTexturePalette\n"); - return(m_pIDirect3DDevice9->GetCurrentTexturePalette(PaletteNumber)); -} - -HRESULT myIDirect3DDevice9::SetScissorRect(CONST RECT* pRect) -{ - trace(log, "IDirect3DDevice9::SetScissorRect\n"); - return(m_pIDirect3DDevice9->SetScissorRect( pRect)); -} - -HRESULT myIDirect3DDevice9::GetScissorRect( RECT* pRect) -{ - trace(log, "IDirect3DDevice9::GetScissorRect\n"); - return(m_pIDirect3DDevice9->GetScissorRect( pRect)); -} - -HRESULT myIDirect3DDevice9::SetSoftwareVertexProcessing(BOOL bSoftware) -{ - trace(log, "IDirect3DDevice9::SetSoftwareVertexProcessing\n"); - return(m_pIDirect3DDevice9->SetSoftwareVertexProcessing(bSoftware)); -} - -BOOL myIDirect3DDevice9::GetSoftwareVertexProcessing(void) -{ - trace(log, "IDirect3DDevice9::GetSoftwareVertexProcessing\n"); - return(m_pIDirect3DDevice9->GetSoftwareVertexProcessing()); -} - -HRESULT myIDirect3DDevice9::SetNPatchMode(float nSegments) -{ - trace(log, "IDirect3DDevice9::SetNPatchMode\n"); - return(m_pIDirect3DDevice9->SetNPatchMode(nSegments)); -} - -float myIDirect3DDevice9::GetNPatchMode(void) -{ - trace(log, "IDirect3DDevice9::GetNPatchMode\n"); - return(m_pIDirect3DDevice9->GetNPatchMode()); -} - -HRESULT myIDirect3DDevice9::DrawPrimitive(D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) -{ - trace(log, "IDirect3DDevice9::DrawPrimitive\n"); - return(m_pIDirect3DDevice9->DrawPrimitive(PrimitiveType,StartVertex,PrimitiveCount)); -} - -HRESULT myIDirect3DDevice9::DrawIndexedPrimitive(D3DPRIMITIVETYPE PrimitiveType,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount) -{ - trace(log, "IDirect3DDevice9::DrawIndexedPrimitive\n"); - return(m_pIDirect3DDevice9->DrawIndexedPrimitive(PrimitiveType,BaseVertexIndex,MinVertexIndex,NumVertices,startIndex,primCount)); -} - -HRESULT myIDirect3DDevice9::DrawPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride) -{ - trace(log, "IDirect3DDevice9::DrawPrimitiveUP\n"); - return(m_pIDirect3DDevice9->DrawPrimitiveUP(PrimitiveType,PrimitiveCount,pVertexStreamZeroData,VertexStreamZeroStride)); -} - -HRESULT myIDirect3DDevice9::DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertices,UINT PrimitiveCount,CONST void* pIndexData,D3DFORMAT IndexDataFormat,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride) -{ - trace(log, "IDirect3DDevice9::DrawIndexedPrimitiveUP\n"); - return(m_pIDirect3DDevice9->DrawIndexedPrimitiveUP(PrimitiveType,MinVertexIndex,NumVertices,PrimitiveCount, pIndexData, IndexDataFormat, pVertexStreamZeroData,VertexStreamZeroStride)); -} - -HRESULT myIDirect3DDevice9::ProcessVertices(UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer9* pDestBuffer,IDirect3DVertexDeclaration9* pVertexDecl,DWORD Flags) -{ - trace(log, "IDirect3DDevice9::ProcessVertices\n"); - return(m_pIDirect3DDevice9->ProcessVertices( SrcStartIndex, DestIndex, VertexCount, pDestBuffer, pVertexDecl, Flags)); -} - -HRESULT myIDirect3DDevice9::CreateVertexDeclaration(CONST D3DVERTEXELEMENT9* pVertexElements,IDirect3DVertexDeclaration9** ppDecl) -{ - trace(log, "IDirect3DDevice9::CreateVertexDeclaration\n"); - return(m_pIDirect3DDevice9->CreateVertexDeclaration( pVertexElements,ppDecl)); -} - -HRESULT myIDirect3DDevice9::SetVertexDeclaration(IDirect3DVertexDeclaration9* pDecl) -{ - trace(log, "IDirect3DDevice9::SetVertexDeclaration\n"); - return(m_pIDirect3DDevice9->SetVertexDeclaration(pDecl)); -} - -HRESULT myIDirect3DDevice9::GetVertexDeclaration(IDirect3DVertexDeclaration9** ppDecl) -{ - trace(log, "IDirect3DDevice9::GetVertexDeclaration\n"); - return(m_pIDirect3DDevice9->GetVertexDeclaration(ppDecl)); -} - -HRESULT myIDirect3DDevice9::SetFVF(DWORD FVF) -{ - trace(log, "IDirect3DDevice9::SetFVF\n"); - return(m_pIDirect3DDevice9->SetFVF(FVF)); -} - -HRESULT myIDirect3DDevice9::GetFVF(DWORD* pFVF) -{ - trace(log, "IDirect3DDevice9::GetFVF\n"); - return(m_pIDirect3DDevice9->GetFVF(pFVF)); -} - -HRESULT myIDirect3DDevice9::CreateVertexShader(CONST DWORD* pFunction,IDirect3DVertexShader9** ppShader) -{ - trace(log, "IDirect3DDevice9::CreateVertexShader\n"); - return(m_pIDirect3DDevice9->CreateVertexShader(pFunction,ppShader)); -} - -HRESULT myIDirect3DDevice9::SetVertexShader(IDirect3DVertexShader9* pShader) -{ - trace(log, "IDirect3DDevice9::SetVertexShader\n"); - return(m_pIDirect3DDevice9->SetVertexShader(pShader)); -} - -HRESULT myIDirect3DDevice9::GetVertexShader(IDirect3DVertexShader9** ppShader) -{ - trace(log, "IDirect3DDevice9::GetVertexShader\n"); - return(m_pIDirect3DDevice9->GetVertexShader(ppShader)); -} - -HRESULT myIDirect3DDevice9::SetVertexShaderConstantF(UINT StartRegister,CONST float* pConstantData,UINT Vector4fCount) -{ - trace(log, "IDirect3DDevice9::SetVertexShaderConstantF\n"); - return(m_pIDirect3DDevice9->SetVertexShaderConstantF(StartRegister,pConstantData, Vector4fCount)); -} - -HRESULT myIDirect3DDevice9::GetVertexShaderConstantF(UINT StartRegister,float* pConstantData,UINT Vector4fCount) -{ - trace(log, "IDirect3DDevice9::GetVertexShaderConstantF\n"); - return(m_pIDirect3DDevice9->GetVertexShaderConstantF(StartRegister,pConstantData,Vector4fCount)); -} - -HRESULT myIDirect3DDevice9::SetVertexShaderConstantI(UINT StartRegister,CONST int* pConstantData,UINT Vector4iCount) -{ - trace(log, "IDirect3DDevice9::SetVertexShaderConstantI\n"); - return(m_pIDirect3DDevice9->SetVertexShaderConstantI(StartRegister,pConstantData,Vector4iCount)); -} - -HRESULT myIDirect3DDevice9::GetVertexShaderConstantI(UINT StartRegister,int* pConstantData,UINT Vector4iCount) -{ - trace(log, "IDirect3DDevice9::GetVertexShaderConstantI\n"); - return(m_pIDirect3DDevice9->GetVertexShaderConstantI(StartRegister,pConstantData,Vector4iCount)); -} - -HRESULT myIDirect3DDevice9::SetVertexShaderConstantB(UINT StartRegister,CONST BOOL* pConstantData,UINT BoolCount) -{ - trace(log, "IDirect3DDevice9::SetVertexShaderConstantB\n"); - return(m_pIDirect3DDevice9->SetVertexShaderConstantB(StartRegister,pConstantData,BoolCount)); -} - -HRESULT myIDirect3DDevice9::GetVertexShaderConstantB(UINT StartRegister,BOOL* pConstantData,UINT BoolCount) -{ - trace(log, "IDirect3DDevice9::GetVertexShaderConstantB\n"); - return(m_pIDirect3DDevice9->GetVertexShaderConstantB(StartRegister,pConstantData,BoolCount)); -} - -HRESULT myIDirect3DDevice9::SetStreamSource(UINT StreamNumber,IDirect3DVertexBuffer9* pStreamData,UINT OffsetInBytes,UINT Stride) -{ - trace(log, "IDirect3DDevice9::SetStreamSource\n"); - return(m_pIDirect3DDevice9->SetStreamSource(StreamNumber,pStreamData,OffsetInBytes,Stride)); -} - -HRESULT myIDirect3DDevice9::GetStreamSource(UINT StreamNumber,IDirect3DVertexBuffer9** ppStreamData,UINT* OffsetInBytes,UINT* pStride) -{ - trace(log, "IDirect3DDevice9::GetStreamSource\n"); - return(m_pIDirect3DDevice9->GetStreamSource(StreamNumber,ppStreamData,OffsetInBytes,pStride)); -} - -HRESULT myIDirect3DDevice9::SetStreamSourceFreq(UINT StreamNumber,UINT Divider) -{ - trace(log, "IDirect3DDevice9::SetStreamSourceFreq\n"); - return(m_pIDirect3DDevice9->SetStreamSourceFreq(StreamNumber,Divider)); -} - -HRESULT myIDirect3DDevice9::GetStreamSourceFreq(UINT StreamNumber,UINT* Divider) -{ - trace(log, "IDirect3DDevice9::GetStreamSourceFreq\n"); - return(m_pIDirect3DDevice9->GetStreamSourceFreq(StreamNumber,Divider)); -} - -HRESULT myIDirect3DDevice9::SetIndices(IDirect3DIndexBuffer9* pIndexData) -{ - trace(log, "IDirect3DDevice9::SetIndices\n"); - return(m_pIDirect3DDevice9->SetIndices(pIndexData)); -} - -HRESULT myIDirect3DDevice9::GetIndices(IDirect3DIndexBuffer9** ppIndexData) -{ - trace(log, "IDirect3DDevice9::GetIndices\n"); - return(m_pIDirect3DDevice9->GetIndices(ppIndexData)); -} - -HRESULT myIDirect3DDevice9::CreatePixelShader(CONST DWORD* pFunction,IDirect3DPixelShader9** ppShader) -{ - trace(log, "IDirect3DDevice9::CreatePixelShader\n"); - return(m_pIDirect3DDevice9->CreatePixelShader(pFunction,ppShader)); -} - -HRESULT myIDirect3DDevice9::SetPixelShader(IDirect3DPixelShader9* pShader) -{ - trace(log, "IDirect3DDevice9::SetPixelShader\n"); - return(m_pIDirect3DDevice9->SetPixelShader(pShader)); -} - -HRESULT myIDirect3DDevice9::GetPixelShader(IDirect3DPixelShader9** ppShader) -{ - trace(log, "IDirect3DDevice9::GetPixelShader\n"); - return(m_pIDirect3DDevice9->GetPixelShader(ppShader)); -} - -HRESULT myIDirect3DDevice9::SetPixelShaderConstantF(UINT StartRegister,CONST float* pConstantData,UINT Vector4fCount) -{ - trace(log, "IDirect3DDevice9::SetPixelShaderConstantF\n"); - return(m_pIDirect3DDevice9->SetPixelShaderConstantF(StartRegister,pConstantData,Vector4fCount)); -} - -HRESULT myIDirect3DDevice9::GetPixelShaderConstantF(UINT StartRegister,float* pConstantData,UINT Vector4fCount) -{ - trace(log, "IDirect3DDevice9::GetPixelShaderConstantF\n"); - return(m_pIDirect3DDevice9->GetPixelShaderConstantF(StartRegister,pConstantData,Vector4fCount)); -} - -HRESULT myIDirect3DDevice9::SetPixelShaderConstantI(UINT StartRegister,CONST int* pConstantData,UINT Vector4iCount) -{ - trace(log, "IDirect3DDevice9::SetPixelShaderConstantI\n"); - return(m_pIDirect3DDevice9->SetPixelShaderConstantI(StartRegister,pConstantData,Vector4iCount)); -} - -HRESULT myIDirect3DDevice9::GetPixelShaderConstantI(UINT StartRegister,int* pConstantData,UINT Vector4iCount) -{ - trace(log, "IDirect3DDevice9::GetPixelShaderConstantI\n"); - return(m_pIDirect3DDevice9->GetPixelShaderConstantI(StartRegister,pConstantData,Vector4iCount)); -} - -HRESULT myIDirect3DDevice9::SetPixelShaderConstantB(UINT StartRegister,CONST BOOL* pConstantData,UINT BoolCount) -{ - trace(log, "IDirect3DDevice9::SetPixelShaderConstantB\n"); - return(m_pIDirect3DDevice9->SetPixelShaderConstantB(StartRegister,pConstantData,BoolCount)); -} - -HRESULT myIDirect3DDevice9::GetPixelShaderConstantB(UINT StartRegister,BOOL* pConstantData,UINT BoolCount) -{ - trace(log, "IDirect3DDevice9::GetPixelShaderConstantB\n"); - return(m_pIDirect3DDevice9->GetPixelShaderConstantB(StartRegister,pConstantData,BoolCount)); -} - -HRESULT myIDirect3DDevice9::DrawRectPatch(UINT Handle,CONST float* pNumSegs,CONST D3DRECTPATCH_INFO* pRectPatchInfo) -{ - trace(log, "IDirect3DDevice9::DrawRectPatch\n"); - return(m_pIDirect3DDevice9->DrawRectPatch(Handle,pNumSegs, pRectPatchInfo)); -} - -HRESULT myIDirect3DDevice9::DrawTriPatch(UINT Handle,CONST float* pNumSegs,CONST D3DTRIPATCH_INFO* pTriPatchInfo) -{ - trace(log, "IDirect3DDevice9::DrawTriPatch\n"); - return(m_pIDirect3DDevice9->DrawTriPatch(Handle, pNumSegs, pTriPatchInfo)); -} - -HRESULT myIDirect3DDevice9::DeletePatch(UINT Handle) -{ - trace(log, "IDirect3DDevice9::DeletePatch\n"); - return(m_pIDirect3DDevice9->DeletePatch(Handle)); -} - -HRESULT myIDirect3DDevice9::CreateQuery(D3DQUERYTYPE Type,IDirect3DQuery9** ppQuery) -{ - trace(log, "IDirect3DDevice9::CreateQuery\n"); - return(m_pIDirect3DDevice9->CreateQuery(Type,ppQuery)); -} - -// This is our test function -void myIDirect3DDevice9::ShowWeAreHere(void) -{ - D3DRECT rec = {1,1,50,50}; - m_pIDirect3DDevice9->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,255,255,0),0 ,0); -} - - diff --git a/d3d9proxy/myIDirect3DDevice9.h b/d3d9proxy/myIDirect3DDevice9.h deleted file mode 100644 index 29e29ed..0000000 --- a/d3d9proxy/myIDirect3DDevice9.h +++ /dev/null @@ -1,136 +0,0 @@ -#pragma once - -class myIDirect3DDevice9 : public IDirect3DDevice9 -{ -public: - myIDirect3DDevice9(IDirect3DDevice9* pOriginal); - virtual ~myIDirect3DDevice9(void); - - // START: The original DX9 function definitions - HRESULT __stdcall QueryInterface (REFIID riid, void** ppvObj); - ULONG __stdcall AddRef(void); - ULONG __stdcall Release(void); - HRESULT __stdcall TestCooperativeLevel(void); - UINT __stdcall GetAvailableTextureMem(void); - HRESULT __stdcall EvictManagedResources(void); - HRESULT __stdcall GetDirect3D(IDirect3D9** ppD3D9); - HRESULT __stdcall GetDeviceCaps(D3DCAPS9* pCaps); - HRESULT __stdcall GetDisplayMode(UINT iSwapChain,D3DDISPLAYMODE* pMode); - HRESULT __stdcall GetCreationParameters(D3DDEVICE_CREATION_PARAMETERS *pParameters); - HRESULT __stdcall SetCursorProperties(UINT XHotSpot,UINT YHotSpot,IDirect3DSurface9* pCursorBitmap); - void __stdcall SetCursorPosition(int X,int Y,DWORD Flags); - BOOL __stdcall ShowCursor(BOOL bShow); - HRESULT __stdcall CreateAdditionalSwapChain(D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DSwapChain9** pSwapChain) ; - HRESULT __stdcall GetSwapChain(UINT iSwapChain,IDirect3DSwapChain9** pSwapChain); - UINT __stdcall GetNumberOfSwapChains(void); - HRESULT __stdcall Reset(D3DPRESENT_PARAMETERS* pPresentationParameters); - HRESULT __stdcall Present(CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion); - HRESULT __stdcall GetBackBuffer(UINT iSwapChain,UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface9** ppBackBuffer); - HRESULT __stdcall GetRasterStatus(UINT iSwapChain,D3DRASTER_STATUS* pRasterStatus); - HRESULT __stdcall SetDialogBoxMode(BOOL bEnableDialogs); - void __stdcall SetGammaRamp(UINT iSwapChain,DWORD Flags,CONST D3DGAMMARAMP* pRamp); - void __stdcall GetGammaRamp(UINT iSwapChain,D3DGAMMARAMP* pRamp); - HRESULT __stdcall CreateTexture(UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture9** ppTexture,HANDLE* pSharedHandle); - HRESULT __stdcall CreateVolumeTexture(UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture9** ppVolumeTexture,HANDLE* pSharedHandle); - HRESULT __stdcall CreateCubeTexture(UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture9** ppCubeTexture,HANDLE* pSharedHandle); - HRESULT __stdcall CreateVertexBuffer(UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer9** ppVertexBuffer,HANDLE* pSharedHandle); - HRESULT __stdcall CreateIndexBuffer(UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer9** ppIndexBuffer,HANDLE* pSharedHandle); - HRESULT __stdcall CreateRenderTarget(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Lockable,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle); - HRESULT __stdcall CreateDepthStencilSurface(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,DWORD MultisampleQuality,BOOL Discard,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle); - HRESULT __stdcall UpdateSurface(IDirect3DSurface9* pSourceSurface,CONST RECT* pSourceRect,IDirect3DSurface9* pDestinationSurface,CONST POINT* pDestPoint); - HRESULT __stdcall UpdateTexture(IDirect3DBaseTexture9* pSourceTexture,IDirect3DBaseTexture9* pDestinationTexture); - HRESULT __stdcall GetRenderTargetData(IDirect3DSurface9* pRenderTarget,IDirect3DSurface9* pDestSurface); - HRESULT __stdcall GetFrontBufferData(UINT iSwapChain,IDirect3DSurface9* pDestSurface); - HRESULT __stdcall StretchRect(IDirect3DSurface9* pSourceSurface,CONST RECT* pSourceRect,IDirect3DSurface9* pDestSurface,CONST RECT* pDestRect,D3DTEXTUREFILTERTYPE Filter); - HRESULT __stdcall ColorFill(IDirect3DSurface9* pSurface,CONST RECT* pRect,D3DCOLOR color); - HRESULT __stdcall CreateOffscreenPlainSurface(UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,IDirect3DSurface9** ppSurface,HANDLE* pSharedHandle); - HRESULT __stdcall SetRenderTarget(DWORD RenderTargetIndex,IDirect3DSurface9* pRenderTarget); - HRESULT __stdcall GetRenderTarget(DWORD RenderTargetIndex,IDirect3DSurface9** ppRenderTarget); - HRESULT __stdcall SetDepthStencilSurface(IDirect3DSurface9* pNewZStencil); - HRESULT __stdcall GetDepthStencilSurface(IDirect3DSurface9** ppZStencilSurface); - HRESULT __stdcall BeginScene(void); - HRESULT __stdcall EndScene(void); - HRESULT __stdcall Clear(DWORD Count,CONST D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil); - HRESULT __stdcall SetTransform(D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix); - HRESULT __stdcall GetTransform(D3DTRANSFORMSTATETYPE State,D3DMATRIX* pMatrix); - HRESULT __stdcall MultiplyTransform(D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix); - HRESULT __stdcall SetViewport(CONST D3DVIEWPORT9* pViewport); - HRESULT __stdcall GetViewport(D3DVIEWPORT9* pViewport); - HRESULT __stdcall SetMaterial(CONST D3DMATERIAL9* pMaterial); - HRESULT __stdcall GetMaterial(D3DMATERIAL9* pMaterial); - HRESULT __stdcall SetLight(DWORD Index,CONST D3DLIGHT9* pLight); - HRESULT __stdcall GetLight(DWORD Index,D3DLIGHT9* pLight); - HRESULT __stdcall LightEnable(DWORD Index,BOOL Enable); - HRESULT __stdcall GetLightEnable(DWORD Index,BOOL* pEnable); - HRESULT __stdcall SetClipPlane(DWORD Index,CONST float* pPlane); - HRESULT __stdcall GetClipPlane(DWORD Index,float* pPlane); - HRESULT __stdcall SetRenderState(D3DRENDERSTATETYPE State,DWORD Value); - HRESULT __stdcall GetRenderState(D3DRENDERSTATETYPE State,DWORD* pValue); - HRESULT __stdcall CreateStateBlock(D3DSTATEBLOCKTYPE Type,IDirect3DStateBlock9** ppSB); - HRESULT __stdcall BeginStateBlock(void); - HRESULT __stdcall EndStateBlock(IDirect3DStateBlock9** ppSB); - HRESULT __stdcall SetClipStatus(CONST D3DCLIPSTATUS9* pClipStatus); - HRESULT __stdcall GetClipStatus(D3DCLIPSTATUS9* pClipStatus); - HRESULT __stdcall GetTexture(DWORD Stage,IDirect3DBaseTexture9** ppTexture); - HRESULT __stdcall SetTexture(DWORD Stage,IDirect3DBaseTexture9* pTexture); - HRESULT __stdcall GetTextureStageState(DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD* pValue); - HRESULT __stdcall SetTextureStageState(DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value); - HRESULT __stdcall GetSamplerState(DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD* pValue); - HRESULT __stdcall SetSamplerState(DWORD Sampler,D3DSAMPLERSTATETYPE Type,DWORD Value); - HRESULT __stdcall ValidateDevice(DWORD* pNumPasses); - HRESULT __stdcall SetPaletteEntries(UINT PaletteNumber,CONST PALETTEENTRY* pEntries); - HRESULT __stdcall GetPaletteEntries(UINT PaletteNumber,PALETTEENTRY* pEntries); - HRESULT __stdcall SetCurrentTexturePalette(UINT PaletteNumber); - HRESULT __stdcall GetCurrentTexturePalette(UINT *PaletteNumber); - HRESULT __stdcall SetScissorRect(CONST RECT* pRect); - HRESULT __stdcall GetScissorRect( RECT* pRect); - HRESULT __stdcall SetSoftwareVertexProcessing(BOOL bSoftware); - BOOL __stdcall GetSoftwareVertexProcessing(void); - HRESULT __stdcall SetNPatchMode(float nSegments); - float __stdcall GetNPatchMode(void); - HRESULT __stdcall DrawPrimitive(D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount); - HRESULT __stdcall DrawIndexedPrimitive(D3DPRIMITIVETYPE PrimitiveType,INT BaseVertexIndex,UINT MinVertexIndex,UINT NumVertices,UINT startIndex,UINT primCount); - HRESULT __stdcall DrawPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride); - HRESULT __stdcall DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertices,UINT PrimitiveCount,CONST void* pIndexData,D3DFORMAT IndexDataFormat,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride); - HRESULT __stdcall ProcessVertices(UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer9* pDestBuffer,IDirect3DVertexDeclaration9* pVertexDecl,DWORD Flags); - HRESULT __stdcall CreateVertexDeclaration(CONST D3DVERTEXELEMENT9* pVertexElements,IDirect3DVertexDeclaration9** ppDecl); - HRESULT __stdcall SetVertexDeclaration(IDirect3DVertexDeclaration9* pDecl); - HRESULT __stdcall GetVertexDeclaration(IDirect3DVertexDeclaration9** ppDecl); - HRESULT __stdcall SetFVF(DWORD FVF); - HRESULT __stdcall GetFVF(DWORD* pFVF); - HRESULT __stdcall CreateVertexShader(CONST DWORD* pFunction,IDirect3DVertexShader9** ppShader); - HRESULT __stdcall SetVertexShader(IDirect3DVertexShader9* pShader); - HRESULT __stdcall GetVertexShader(IDirect3DVertexShader9** ppShader); - HRESULT __stdcall SetVertexShaderConstantF(UINT StartRegister,CONST float* pConstantData,UINT Vector4fCount); - HRESULT __stdcall GetVertexShaderConstantF(UINT StartRegister,float* pConstantData,UINT Vector4fCount); - HRESULT __stdcall SetVertexShaderConstantI(UINT StartRegister,CONST int* pConstantData,UINT Vector4iCount); - HRESULT __stdcall GetVertexShaderConstantI(UINT StartRegister,int* pConstantData,UINT Vector4iCount); - HRESULT __stdcall SetVertexShaderConstantB(UINT StartRegister,CONST BOOL* pConstantData,UINT BoolCount); - HRESULT __stdcall GetVertexShaderConstantB(UINT StartRegister,BOOL* pConstantData,UINT BoolCount); - HRESULT __stdcall SetStreamSource(UINT StreamNumber,IDirect3DVertexBuffer9* pStreamData,UINT OffsetInBytes,UINT Stride); - HRESULT __stdcall GetStreamSource(UINT StreamNumber,IDirect3DVertexBuffer9** ppStreamData,UINT* OffsetInBytes,UINT* pStride); - HRESULT __stdcall SetStreamSourceFreq(UINT StreamNumber,UINT Divider); - HRESULT __stdcall GetStreamSourceFreq(UINT StreamNumber,UINT* Divider); - HRESULT __stdcall SetIndices(IDirect3DIndexBuffer9* pIndexData); - HRESULT __stdcall GetIndices(IDirect3DIndexBuffer9** ppIndexData); - HRESULT __stdcall CreatePixelShader(CONST DWORD* pFunction,IDirect3DPixelShader9** ppShader); - HRESULT __stdcall SetPixelShader(IDirect3DPixelShader9* pShader); - HRESULT __stdcall GetPixelShader(IDirect3DPixelShader9** ppShader); - HRESULT __stdcall SetPixelShaderConstantF(UINT StartRegister,CONST float* pConstantData,UINT Vector4fCount); - HRESULT __stdcall GetPixelShaderConstantF(UINT StartRegister,float* pConstantData,UINT Vector4fCount); - HRESULT __stdcall SetPixelShaderConstantI(UINT StartRegister,CONST int* pConstantData,UINT Vector4iCount); - HRESULT __stdcall GetPixelShaderConstantI(UINT StartRegister,int* pConstantData,UINT Vector4iCount); - HRESULT __stdcall SetPixelShaderConstantB(UINT StartRegister,CONST BOOL* pConstantData,UINT BoolCount); - HRESULT __stdcall GetPixelShaderConstantB(UINT StartRegister,BOOL* pConstantData,UINT BoolCount); - HRESULT __stdcall DrawRectPatch(UINT Handle,CONST float* pNumSegs,CONST D3DRECTPATCH_INFO* pRectPatchInfo); - HRESULT __stdcall DrawTriPatch(UINT Handle,CONST float* pNumSegs,CONST D3DTRIPATCH_INFO* pTriPatchInfo); - HRESULT __stdcall DeletePatch(UINT Handle); - HRESULT __stdcall CreateQuery(D3DQUERYTYPE Type,IDirect3DQuery9** ppQuery); - // END: The original DX9 function definitions - -private: - IDirect3DDevice9 *m_pIDirect3DDevice9; - - // This is our test function - void ShowWeAreHere(void); -}; diff --git a/d3d9proxy/proxydll.cpp b/d3d9proxy/proxydll.cpp deleted file mode 100644 index 3767409..0000000 --- a/d3d9proxy/proxydll.cpp +++ /dev/null @@ -1,116 +0,0 @@ -// proxydll.cpp -#include "stdafx.h" -#include "proxydll.h" -#include "stdio.h" - -// global variables -#pragma data_seg (".d3d9_shared") -myIDirect3DDevice9* gl_pmyIDirect3DDevice9; -myIDirect3D9* gl_pmyIDirect3D9; -HINSTANCE gl_hOriginalDll; -HINSTANCE gl_hThisInstance; -FILE *log; -#pragma data_seg () - -#define trace if(log) fprintf - -BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) -{ - // to avoid compiler lvl4 warnings - LPVOID lpDummy = lpReserved; - lpDummy = NULL; - - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: InitInstance(hModule); break; - case DLL_PROCESS_DETACH: ExitInstance(); break; - - case DLL_THREAD_ATTACH: break; - case DLL_THREAD_DETACH: break; - } - return TRUE; -} - -// Exported function (faking d3d9.dll's one-and-only export) -IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion) -{ - trace(log, "Direct3DCreate9\n"); - - if (!gl_hOriginalDll) LoadOriginalDll(); // looking for the "right d3d9.dll" - - // Hooking IDirect3D Object from Original Library - typedef IDirect3D9 *(WINAPI* D3D9_Type)(UINT SDKVersion); - D3D9_Type D3DCreate9_fn = (D3D9_Type) GetProcAddress( gl_hOriginalDll, "Direct3DCreate9"); - - // Debug - if (!D3DCreate9_fn) - { - OutputDebugString("PROXYDLL: Pointer to original D3DCreate9 function not received ERROR ****\r\n"); - ::ExitProcess(0); // exit the hard way - } - - // Request pointer from Original Dll. - IDirect3D9 *pIDirect3D9_orig = D3DCreate9_fn(SDKVersion); - - // Create my IDirect3D8 object and store pointer to original object there. - // note: the object will delete itself once Ref count is zero (similar to COM objects) - gl_pmyIDirect3D9 = new myIDirect3D9(pIDirect3D9_orig); - - // Return pointer to hooking Object instead of "real one" - return (gl_pmyIDirect3D9); -} - -void InitInstance(HANDLE hModule) -{ - char *logpath; - OutputDebugString("PROXYDLL: InitInstance called.\r\n"); - - // Initialisation - gl_hOriginalDll = NULL; - gl_hThisInstance = NULL; - gl_pmyIDirect3D9 = NULL; - gl_pmyIDirect3DDevice9 = NULL; - - // Storing Instance handle into global var - gl_hThisInstance = (HINSTANCE) hModule; - - log=NULL; - logpath=getenv("d3d9log"); - if(logpath) log=fopen(logpath, "a+"); -} - -void LoadOriginalDll(void) -{ - char buffer[MAX_PATH]; - - // Getting path to system dir and to d3d8.dll - ::GetSystemDirectory(buffer,MAX_PATH); - - // Append dll name - strcat(buffer,"\\d3d9.dll"); - - // try to load the system's d3d9.dll, if pointer empty - if (!gl_hOriginalDll) gl_hOriginalDll = ::LoadLibrary(buffer); - - // Debug - if (!gl_hOriginalDll) - { - OutputDebugString("PROXYDLL: Original d3d9.dll not loaded ERROR ****\r\n"); - ::ExitProcess(0); // exit the hard way - } -} - -void ExitInstance() -{ - OutputDebugString("PROXYDLL: ExitInstance called.\r\n"); - - // Release the system's d3d9.dll - if (gl_hOriginalDll) - { - ::FreeLibrary(gl_hOriginalDll); - gl_hOriginalDll = NULL; - } - - fclose(log); -} - diff --git a/d3d9proxy/proxydll.def b/d3d9proxy/proxydll.def deleted file mode 100644 index d74db14..0000000 --- a/d3d9proxy/proxydll.def +++ /dev/null @@ -1,4 +0,0 @@ -LIBRARY "d3d9" - -EXPORTS - Direct3DCreate9 @1 diff --git a/d3d9proxy/proxydll.h b/d3d9proxy/proxydll.h deleted file mode 100644 index 5a4528b..0000000 --- a/d3d9proxy/proxydll.h +++ /dev/null @@ -1,10 +0,0 @@ -// proxydll.h -#pragma once - -// Exported function -IDirect3D9* WINAPI Direct3DCreate9 (UINT SDKVersion); - -// regular functions -void InitInstance(HANDLE hModule); -void ExitInstance(void); -void LoadOriginalDll(void); \ No newline at end of file diff --git a/d3d9proxy/proxydll.suo b/d3d9proxy/proxydll.suo deleted file mode 100644 index 4b70fff1268b9dec4bbcc6a737af785300077851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30720 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 RR!Xg{pEuPD^gCFA{{a`Q!4Uue diff --git a/d3d9proxy/proxydll.vs2008.vcproj b/d3d9proxy/proxydll.vs2008.vcproj deleted file mode 100644 index 62ee685..0000000 --- a/d3d9proxy/proxydll.vs2008.vcproj +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d3d9proxy/stdafx.cpp b/d3d9proxy/stdafx.cpp deleted file mode 100644 index 2a015f2..0000000 --- a/d3d9proxy/stdafx.cpp +++ /dev/null @@ -1,2 +0,0 @@ -// stdafx.cpp -#include "stdafx.h" \ No newline at end of file diff --git a/d3d9proxy/stdafx.h b/d3d9proxy/stdafx.h deleted file mode 100644 index 7202acc..0000000 --- a/d3d9proxy/stdafx.h +++ /dev/null @@ -1,10 +0,0 @@ -// stdafx.h -#pragma once - - -#define WIN32_LEAN_AND_MEAN -#include - -#include "d3d9.h" -#include "myIDirect3D9.h" -#include "myIDirect3DDevice9.h" diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index 8e3172b..7b3ccf9 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -3264,8 +3264,21 @@ HRESULT WINAPI extFlip(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE lpddssrc, //DumpSurfaceAttributes((LPDDSURFACEDESC)&ddsd, "[temp]" , __LINE__); res=(*pCreateSurfaceMethod(lpdds))(lpPrimaryDD, &ddsd, &lpddsTmp, NULL); if(res) OutTraceE("CreateSurface: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + OutTrace("DEBUG: copied surface size=(%dx%d)\n", ddsd.dwWidth, ddsd.dwHeight); // copy front buffer - res= (*pBlt)(lpddsTmp, NULL, lpdds, NULL, DDBLT_WAIT, NULL); + + if(dxw.dwFlags1 & EMULATESURFACE){ + // in emulated mode, the primary surface is virtual and you can pick it all + // needed for "Gruntz" + res= (*pBlt)(lpddsTmp, NULL, lpdds, NULL, DDBLT_WAIT, NULL); + } + else { + // in no-emulated mode, the primary surface is the whole screen, so you have to pick... + // needed for "Black Thorn" + RECT clip; + clip=dxw.GetUnmappedScreenRect(); + res= (*pBlt)(lpddsTmp, NULL, lpdds, &clip, DDBLT_WAIT, NULL); + } if(res) OutTraceE("Blt: ERROR %x(%s) at %d", res, ExplainDDError(res), __LINE__); } diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index ff1788d..9365f81 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -72,7 +72,7 @@ static char *Flag4Names[32]={ "ZBUFFERCLEAN", "ZBUFFER0CLEAN", "ZBUFFERALWAYS", "DISABLEFOGGING", "NOPOWER2FIX", "NOPERFCOUNTER", "ADDPROXYLIBS", "INTERCEPTRDTSC", "LIMITSCREENRES", "NOFILLRECT", "HOOKGLIDE", "HIDEDESKTOP", - "STRETCHTIMERS", "NOFLIPEMULATION", "", "", + "STRETCHTIMERS", "NOFLIPEMULATION", "NOTEXTURES", "", "", "", "", "", "", "", "", "", "", "", "", "", diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index c47f643..cc93ef6 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -24,7 +24,7 @@ along with this program. If not, see . #include "dxwnd.h" #include "dxwcore.hpp" -#define VERSION "2.02.62" +#define VERSION "2.02.63" #define DDTHREADLOCK 1 @@ -154,7 +154,7 @@ LRESULT CALLBACK HookProc(int ncode, WPARAM wparam, LPARAM lparam) // take care here: if anything stops or delays the execution logic, the whole // operating system hangs, since it can't activate new windows! - // could use WM_NCCREATE insteas of WM_CREATE. Are there differences? + // could use WM_NCCREATE instead of WM_CREATE. Are there differences? hwnd = ((CWPSTRUCT *)lparam)->hwnd; if(((CWPSTRUCT *)lparam)->message == WM_CREATE){ GetModuleFileName(0, name, MAX_PATH); diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index 0fa49066b19c83cc72d0fef589548648254b3bcc..5d5fb8ce08b5e7afca186caadcc7cfb4f9e709cb 100644 GIT binary patch delta 22085 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 diff --git a/dll/hd3d.cpp b/dll/hd3d.cpp index ab09fc1..49097f9 100644 --- a/dll/hd3d.cpp +++ b/dll/hd3d.cpp @@ -33,13 +33,16 @@ typedef HRESULT (WINAPI *Present_Type)(void *, CONST RECT *, CONST RECT *, HWND, typedef HRESULT (WINAPI *SetRenderState_Type)(void *, D3DRENDERSTATETYPE, DWORD); typedef HRESULT (WINAPI *GetRenderState_Type)(void *, D3DRENDERSTATETYPE, DWORD ); typedef HRESULT (WINAPI *CreateAdditionalSwapChain_Type)(void *, D3DPRESENT_PARAMETERS *, IDirect3DSwapChain9 **); -typedef HRESULT (WINAPI *GetDirect3D_Type)(void *, IDirect3D9 **); +typedef HRESULT (WINAPI *GetDirect3D8_Type)(void *, void **); +typedef HRESULT (WINAPI *GetDirect3D9_Type)(void *, void **); typedef HRESULT (WINAPI *GetViewport_Type)(void *, D3DVIEWPORT9 *); typedef HRESULT (WINAPI *SetViewport_Type)(void *, D3DVIEWPORT9 *); typedef void (WINAPI *SetGammaRamp_Type)(void *, UINT, DWORD, D3DGAMMARAMP *); typedef void (WINAPI *GetGammaRamp_Type)(void *, UINT, D3DGAMMARAMP *); typedef void (WINAPI *SetCursorPosition9_Type)(void *, int, int, DWORD); typedef void (WINAPI *SetCursorPosition8_Type)(void *, int, int, DWORD); +typedef HRESULT (WINAPI *SetTexture8_Type)(void *, DWORD, void *); +typedef HRESULT (WINAPI *SetTexture9_Type)(void *, DWORD, void *); //typedef ULONG (WINAPI *CreateRenderTarget8_Type)(void *, UINT, UINT, D3DFORMAT, D3DMULTISAMPLE_TYPE, BOOL, IDirect3DSurface8**); typedef ULONG (WINAPI *CreateRenderTarget8_Type)(void *, UINT, UINT, D3DFORMAT, D3DMULTISAMPLE_TYPE, BOOL, void**); @@ -55,12 +58,14 @@ typedef HRESULT (WINAPI *D3D11CreateDeviceAndSwapChain_Type)(IDXGIAdapter *, D3D typedef void (WINAPI *RSSetViewports_Type)(void *, UINT, D3D11_VIEWPORT *); typedef ULONG (WINAPI *AddRef_Type)(void *); typedef ULONG (WINAPI *Release_Type)(void *); +typedef HRESULT (WINAPI *Reset_Type)(void *, D3DPRESENT_PARAMETERS*); HRESULT WINAPI extQueryInterfaceD3D8(void *, REFIID, void** ); HRESULT WINAPI extQueryInterfaceDev8(void *, REFIID, void** ); HRESULT WINAPI extQueryInterfaceD3D9(void *, REFIID, void** ); HRESULT WINAPI extQueryInterfaceDev9(void *, REFIID, void** ); -HRESULT WINAPI extGetDirect3D(void *, IDirect3D9 **); +HRESULT WINAPI extGetDirect3D8(void *, void **); +HRESULT WINAPI extGetDirect3D9(void *, void **); void* WINAPI extDirect3DCreate8(UINT); void* WINAPI extDirect3DCreate9(UINT); @@ -100,7 +105,8 @@ ULONG WINAPI extBeginScene8(void *); ULONG WINAPI extEndScene8(void *); ULONG WINAPI extBeginScene9(void *); ULONG WINAPI extEndScene9(void *); - +ULONG WINAPI extSetTexture8(void *, DWORD, void *); +ULONG WINAPI extSetTexture9(void *, DWORD, void *); HRESULT WINAPI extD3D10CreateDevice(IDXGIAdapter *, D3D10_DRIVER_TYPE, HMODULE, UINT, UINT, ID3D10Device **); @@ -118,7 +124,8 @@ QueryInterface_Type pQueryInterfaceDev8 = 0; QueryInterface_Type pQueryInterfaceD3D9 = 0; QueryInterface_Type pQueryInterfaceDev9 = 0; -GetDirect3D_Type pGetDirect3D = 0; +GetDirect3D8_Type pGetDirect3D8 = 0; +GetDirect3D9_Type pGetDirect3D9 = 0; Direct3DCreate8_Type pDirect3DCreate8 = 0; Direct3DCreate9_Type pDirect3DCreate9 = 0; Direct3DCreate9Ex_Type pDirect3DCreate9Ex = 0; @@ -153,6 +160,9 @@ BeginScene_Type pBeginScene8 = 0; EndScene_Type pEndScene8 = 0; BeginScene_Type pBeginScene9 = 0; EndScene_Type pEndScene9 = 0; +Reset_Type pReset = 0; +SetTexture8_Type pSetTexture8 = 0; +SetTexture9_Type pSetTexture9 = 0; D3D10CreateDevice_Type pD3D10CreateDevice = 0; D3D10CreateDeviceAndSwapChain_Type pD3D10CreateDeviceAndSwapChain = 0; @@ -167,27 +177,6 @@ Release_Type pRelease9 = 0; DWORD dwD3DVersion; -void dxwCopyProxyLib9() -{ - #define MAX_FILE_PATH 512 - DWORD dwAttrib; - char sSourcePath[MAX_FILE_PATH+1]; - char *p; - - // don't do this more than once per process activation - static BOOL DoOnce=FALSE; - if(DoOnce) return; - DoOnce=TRUE; - - dwAttrib = GetFileAttributes("dxwnd.dll"); - if (dwAttrib != INVALID_FILE_ATTRIBUTES && !(dwAttrib & FILE_ATTRIBUTE_DIRECTORY)) return; - GetModuleFileName(GetModuleHandle("dxwnd"), sSourcePath, MAX_FILE_PATH); - p=&sSourcePath[strlen(sSourcePath)-strlen("dxwnd.dll")]; - strcpy(p, "d3d9.dll"); - OutTraceD3D("HookInit: copy %s -> d3d9.dll\n", sSourcePath); - CopyFile(sSourcePath, "d3d9.dll", FALSE); -} - FARPROC Remap_d3d8_ProcAddress(LPCSTR proc, HMODULE hModule) { if (!strcmp(proc,"Direct3DCreate8") && !pDirect3DCreate8){ @@ -223,10 +212,6 @@ BOOL WINAPI voidDisableD3DSpy(void) FARPROC Remap_d3d9_ProcAddress(LPCSTR proc, HMODULE hModule) { - // NULL -> keep the original call address - // (FARPROC)-1 -> returns NULL - if(dxw.dwFlags4 & ADDPROXYLIBS) dxwCopyProxyLib9(); - if (!strcmp(proc,"Direct3DCreate9") && !pDirect3DCreate9){ pDirect3DCreate9=(Direct3DCreate9_Type)(*pGetProcAddress)(hModule, proc); OutTraceDW("GetProcAddress: hooking proc=%s at addr=%x\n", ProcToString(proc), pDirect3DCreate9); @@ -323,8 +308,6 @@ int HookDirect3D(HMODULE module, int version){ switch(version){ case 0: // D3D8 - if(dxw.dwFlags4 & ADDPROXYLIBS) dxwCopyProxyLib9(); - tmp = HookAPI(module, "d3d8.dll", NULL, "Direct3DCreate8", extDirect3DCreate8); if(tmp) pDirect3DCreate8 = (Direct3DCreate8_Type)tmp; // D3D9 @@ -362,7 +345,6 @@ int HookDirect3D(HMODULE module, int version){ } break; case 9: - if(dxw.dwFlags4 & ADDPROXYLIBS) dxwCopyProxyLib9(); hinst = (*pLoadLibraryA)("d3d9.dll"); pDirect3DCreate9 = (Direct3DCreate9_Type)(*pGetProcAddress)(hinst, "Direct3DCreate9"); @@ -473,11 +455,9 @@ int HookDirect3D(HMODULE module, int version){ void HookD3DDevice8(void** ppD3Ddev8) { - void *pReset; OutTraceDW("Device hook for IID_IDirect3DDevice8 interface\n"); - pReset=NULL; // to avoid assert condition SetHook((void *)(**(DWORD **)ppD3Ddev8 + 0), extQueryInterfaceDev8, (void **)&pQueryInterfaceDev8, "QueryInterface(D8)"); - SetHook((void *)(**(DWORD **)ppD3Ddev8 + 24), extGetDirect3D, (void **)&pGetDirect3D, "GetDirect3D(D8)"); + SetHook((void *)(**(DWORD **)ppD3Ddev8 + 24), extGetDirect3D8, (void **)&pGetDirect3D8, "GetDirect3D(D8)"); SetHook((void *)(**(DWORD **)ppD3Ddev8 + 32), extGetDisplayMode8, (void **)&pGetDisplayMode8, "GetDisplayMode(D8)"); SetHook((void *)(**(DWORD **)ppD3Ddev8 + 44), extSetCursorPosition8, (void **)&pSetCursorPosition8, "SetCursorPosition(D8)"); SetHook((void *)(**(DWORD **)ppD3Ddev8 + 52), extCreateAdditionalSwapChain, (void **)&pCreateAdditionalSwapChain, "CreateAdditionalSwapChain(D8)"); @@ -497,8 +477,8 @@ void HookD3DDevice8(void** ppD3Ddev8) if(dxw.dwFlags4 & DISABLEFOGGING) (*pSetRenderState)((void *)*ppD3Ddev8, D3DRS_FOGENABLE, FALSE); if(dxw.dwFlags4 & ZBUFFERALWAYS) (*pSetRenderState)((void *)*ppD3Ddev8, D3DRS_ZFUNC, D3DCMP_ALWAYS); //if(1) (*pSetRenderState)((void *)*ppD3Ddev8, D3DRS_SPECULARENABLE, TRUE); - //if(1) (*pSetRenderState)((void *)*ppD3Ddev8, D3DRS_ZFUNC, D3DCMP_LESSEQUAL); } + if (dxw.dwFlags4 & NOTEXTURES) SetHook((void *)(**(DWORD **)ppD3Ddev8 + 244), extSetTexture8, (void **)&pSetTexture8, "SetTexture(D8)"); //if (!(dxw.dwTFlags & OUTPROXYTRACE)) return; //SetHook((void *)(**(DWORD **)ppD3Ddev8 + 4), extAddRef8, (void **)&pAddRef8, "AddRef(D8)"); //SetHook((void *)(**(DWORD **)ppD3Ddev8 + 8), extRelease8, (void **)&pRelease8, "Release(D8)"); @@ -506,11 +486,9 @@ void HookD3DDevice8(void** ppD3Ddev8) void HookD3DDevice9(void** ppD3Ddev9) { - void *pReset; OutTraceDW("Device hook for IID_IDirect3DDevice9 interface\n"); - pReset=NULL; // to avoid assert condition SetHook((void *)(**(DWORD **)ppD3Ddev9 + 0), extQueryInterfaceDev9, (void **)&pQueryInterfaceDev9, "QueryInterface(D9)"); - SetHook((void *)(**(DWORD **)ppD3Ddev9 + 24), extGetDirect3D, (void **)&pGetDirect3D, "GetDirect3D(D9)"); + SetHook((void *)(**(DWORD **)ppD3Ddev9 + 24), extGetDirect3D9, (void **)&pGetDirect3D9, "GetDirect3D(D9)"); SetHook((void *)(**(DWORD **)ppD3Ddev9 + 32), extGetDisplayMode9, (void **)&pGetDisplayMode9, "GetDisplayMode(D9)"); SetHook((void *)(**(DWORD **)ppD3Ddev9 + 44), extSetCursorPosition9, (void **)&pSetCursorPosition9, "SetCursorPosition(D9)"); SetHook((void *)(**(DWORD **)ppD3Ddev9 + 52), extCreateAdditionalSwapChain, (void **)&pCreateAdditionalSwapChain, "CreateAdditionalSwapChain(D9)"); @@ -531,13 +509,22 @@ void HookD3DDevice9(void** ppD3Ddev9) if(dxw.dwFlags4 & DISABLEFOGGING) (*pSetRenderState)((void *)*ppD3Ddev9, D3DRS_FOGENABLE, FALSE); if(dxw.dwFlags4 & ZBUFFERALWAYS) (*pSetRenderState)((void *)*ppD3Ddev9, D3DRS_ZFUNC, D3DCMP_ALWAYS); //if(1) (*pSetRenderState)((void *)*ppD3Ddev9, D3DRS_SPECULARENABLE, TRUE); - //if(1) (*pSetRenderState)((void *)*ppD3Ddev9, D3DRS_ZFUNC, D3DCMP_LESSEQUAL); } + if (dxw.dwFlags4 & NOTEXTURES) SetHook((void *)(**(DWORD **)ppD3Ddev9 + 260), extSetTexture9, (void **)&pSetTexture9, "SetTexture(D9)"); if (!(dxw.dwTFlags & OUTPROXYTRACE)) return; SetHook((void *)(**(DWORD **)ppD3Ddev9 + 4), extAddRef9, (void **)&pAddRef9, "AddRef(D9)"); SetHook((void *)(**(DWORD **)ppD3Ddev9 + 8), extRelease9, (void **)&pRelease9, "Release(D9)"); } +void HookDirect3D8(void *lpd3d) +{ + SetHook((void *)(*(DWORD *)lpd3d + 0), extQueryInterfaceD3D8, (void **)&pQueryInterfaceD3D8, "QueryInterface(D8)"); + SetHook((void *)(*(DWORD *)lpd3d + 16), extGetAdapterCount8, (void **)&pGetAdapterCount8, "GetAdapterCount(D8)"); + SetHook((void *)(*(DWORD *)lpd3d + 20), extGetAdapterIdentifier8, (void **)&pGetAdapterIdentifier8, "GetAdapterIdentifier(D8)"); + SetHook((void *)(*(DWORD *)lpd3d + 28), extEnumAdapterModes8, (void **)&pEnumAdapterModes8, "EnumAdapterModes(D8)"); + SetHook((void *)(*(DWORD *)lpd3d + 32), extGetAdapterDisplayMode8, (void **)&pGetAdapterDisplayMode8, "GetAdapterDisplayMode(D8)"); + SetHook((void *)(*(DWORD *)lpd3d + 60), extCreateDevice, (void **)&pCreateDevice8, "CreateDevice(D8)"); +} void* WINAPI extDirect3DCreate8(UINT sdkversion) { @@ -550,17 +537,23 @@ void* WINAPI extDirect3DCreate8(UINT sdkversion) return 0; } dwD3DVersion = 8; - SetHook((void *)(*(DWORD *)lpd3d + 0), extQueryInterfaceD3D8, (void **)&pQueryInterfaceD3D8, "QueryInterface(D8)"); - SetHook((void *)(*(DWORD *)lpd3d + 16), extGetAdapterCount8, (void **)&pGetAdapterCount8, "GetAdapterCount(D8)"); - SetHook((void *)(*(DWORD *)lpd3d + 20), extGetAdapterIdentifier8, (void **)&pGetAdapterIdentifier8, "GetAdapterIdentifier(D8)"); - SetHook((void *)(*(DWORD *)lpd3d + 28), extEnumAdapterModes8, (void **)&pEnumAdapterModes8, "EnumAdapterModes(D8)"); - SetHook((void *)(*(DWORD *)lpd3d + 32), extGetAdapterDisplayMode8, (void **)&pGetAdapterDisplayMode8, "GetAdapterDisplayMode(D8)"); - SetHook((void *)(*(DWORD *)lpd3d + 60), extCreateDevice, (void **)&pCreateDevice8, "CreateDevice(D8)"); + HookDirect3D8(lpd3d); OutTraceD3D("Direct3DCreate8: d3d=%x\n", lpd3d); return lpd3d; } +void HookDirect3D9(void *lpd3d, BOOL ex) +{ + SetHook((void *)(*(DWORD *)lpd3d + 0), extQueryInterfaceD3D9, (void **)&pQueryInterfaceD3D9, "QueryInterface(D9)"); + SetHook((void *)(*(DWORD *)lpd3d + 16), extGetAdapterCount9, (void **)&pGetAdapterCount9, "GetAdapterCount(D9)"); + SetHook((void *)(*(DWORD *)lpd3d + 20), extGetAdapterIdentifier9, (void **)&pGetAdapterIdentifier9, "GetAdapterIdentifier(D9)"); + SetHook((void *)(*(DWORD *)lpd3d + 28), extEnumAdapterModes9, (void **)&pEnumAdapterModes9, "EnumAdapterModes(D9)"); + SetHook((void *)(*(DWORD *)lpd3d + 32), extGetAdapterDisplayMode9, (void **)&pGetAdapterDisplayMode9, "GetAdapterDisplayMode(D9)"); + SetHook((void *)(*(DWORD *)lpd3d + 64), extCreateDevice, (void **)&pCreateDevice9, "CreateDevice(D9)"); + if(ex) SetHook((void *)(*(DWORD *)lpd3d + 80), extCreateDeviceEx, (void **)&pCreateDeviceEx, "CreateDeviceEx(D9)"); +} + void* WINAPI extDirect3DCreate9(UINT sdkversion) { void *lpd3d; @@ -573,12 +566,7 @@ void* WINAPI extDirect3DCreate9(UINT sdkversion) } dwD3DVersion = 9; - SetHook((void *)(*(DWORD *)lpd3d + 0), extQueryInterfaceD3D9, (void **)&pQueryInterfaceD3D9, "QueryInterface(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 16), extGetAdapterCount9, (void **)&pGetAdapterCount9, "GetAdapterCount(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 20), extGetAdapterIdentifier9, (void **)&pGetAdapterIdentifier9, "GetAdapterIdentifier(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 28), extEnumAdapterModes9, (void **)&pEnumAdapterModes9, "EnumAdapterModes(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 32), extGetAdapterDisplayMode9, (void **)&pGetAdapterDisplayMode9, "GetAdapterDisplayMode(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 64), extCreateDevice, (void **)&pCreateDevice9, "CreateDevice(D9)"); + HookDirect3D9(lpd3d, FALSE); OutTraceD3D("Direct3DCreate9: d3d=%x\n", lpd3d); return lpd3d; @@ -597,13 +585,7 @@ HRESULT WINAPI extDirect3DCreate9Ex(UINT sdkversion, IDirect3D9Ex **ppD3D) } dwD3DVersion = 9; lpd3d = *ppD3D; - SetHook((void *)(*(DWORD *)lpd3d + 0), extQueryInterfaceD3D9, (void **)&pQueryInterfaceD3D9, "QueryInterface(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 16), extGetAdapterCount9, (void **)&pGetAdapterCount9, "GetAdapterCount(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 20), extGetAdapterIdentifier9, (void **)&pGetAdapterIdentifier9, "GetAdapterIdentifier(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 28), extEnumAdapterModes9, (void **)&pEnumAdapterModes9, "EnumAdapterModes(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 32), extGetAdapterDisplayMode9, (void **)&pGetAdapterDisplayMode9, "GetAdapterDisplayMode(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 64), extCreateDevice, (void **)&pCreateDevice9, "CreateDevice(D9)"); - SetHook((void *)(*(DWORD *)lpd3d + 80), extCreateDeviceEx, (void **)&pCreateDeviceEx, "CreateDeviceEx(D9)"); + HookDirect3D9(lpd3d, TRUE); OutTraceD3D("Direct3DCreate9Ex: d3d=%x\n", lpd3d); return res; } @@ -650,9 +632,105 @@ HRESULT WINAPI extGetAdapterIdentifier9(void *pd3dd, UINT Adapter, DWORD Flags, return res; } -HRESULT WINAPI extReset(void *pd3dd, D3DPRESENT_PARAMETERS* pPresentationParameters) +HRESULT WINAPI extReset(void *pd3dd, D3DPRESENT_PARAMETERS* pPresParam) { - OutTraceDW("Reset: SUPPRESSED\n"); + HRESULT res; + DWORD param[64], *tmp; + D3DDISPLAYMODE mode; + int Windowed; + void *pD3D; + + memcpy(param, pPresParam, (dwD3DVersion == 9)?56:52); + + if(IsTraceDW){ + tmp = param; + OutTrace("D3D%d::Reset\n", dwD3DVersion); + OutTrace(" BackBufferWidth = %i\n", *(tmp ++)); + OutTrace(" BackBufferHeight = %i\n", *(tmp ++)); + OutTrace(" BackBufferFormat = %i\n", *(tmp ++)); + OutTrace(" BackBufferCount = %i\n", *(tmp ++)); + OutTrace(" MultiSampleType = %i\n", *(tmp ++)); + if(dwD3DVersion == 9) OutTrace(" MultiSampleQuality = %i\n", *(tmp ++)); + OutTrace(" SwapEffect = 0x%x\n", *(tmp ++)); + OutTrace(" hDeviceWindow = 0x%x\n", *(tmp ++)); + OutTrace(" Windowed = %i\n", (Windowed=*(tmp ++))); + OutTrace(" EnableAutoDepthStencil = %i\n", *(tmp ++)); + OutTrace(" AutoDepthStencilFormat = %i\n", *(tmp ++)); + OutTrace(" Flags = 0x%x\n", *(tmp ++)); + OutTrace(" FullScreen_RefreshRateInHz = %i\n", *(tmp ++)); + OutTrace(" PresentationInterval = 0x%x\n", *(tmp ++)); + } + + if(Windowed) { + // do not attempt to reset when returning to windowed mode: it is useless (you are windowed already) + // and the code below (GetDirect3D, ...) doesn't work. + OutTraceDW("SKIPPED!\n"); + return DD_OK; + } + + if (dwD3DVersion == 9){ + res=(*pGetDirect3D9)(pd3dd, &pD3D); + if(res) { + OutTraceDW("GetDirect3D FAILED! %x\n", res); + return(DD_OK); + } + OutTraceDW("GetDirect3D pd3d=%x\n", pD3D); + res=(*pGetAdapterDisplayMode9)(pD3D, 0, &mode); + if(res) { + OutTraceDW("GetAdapterDisplayMode FAILED! %x\n", res); + return(DD_OK); + } + param[2] = mode.Format; + param[7] = 0; //hDeviceWindow + dxw.SetFullScreen(~param[8]?TRUE:FALSE); + param[8] = 1; //Windowed + //param[11] = D3DPRESENTFLAG_DEVICECLIP; //Flags; + param[12] = 0; //FullScreen_RefreshRateInHz; + param[13] = D3DPRESENT_INTERVAL_DEFAULT; //PresentationInterval + } + else{ + res=(*pGetDirect3D8)(pd3dd, &pD3D); + if(res) { + OutTraceDW("GetDirect3D FAILED! %x\n", res); + return(DD_OK); + } + OutTraceDW("GetDirect3D pd3d=%x\n", pD3D); + res=(*pGetAdapterDisplayMode8)(pD3D, 0, &mode); + if(res) { + OutTraceDW("GetAdapterDisplayMode FAILED! %x\n", res); + return(DD_OK); + } + param[2] = mode.Format; + param[6] = 0; //hDeviceWindow + dxw.SetFullScreen(~param[7]?TRUE:FALSE); + param[7] = 1; //Windowed + //param[10] = D3DPRESENTFLAG_DEVICECLIP; //Flags; + param[11] = 0; //FullScreen_RefreshRateInHz; + param[12] = D3DPRESENT_INTERVAL_DEFAULT; //PresentationInterval + } + + res = (*pReset)(pd3dd, (D3DPRESENT_PARAMETERS *)param); + if(res){ + OutTraceDW("FAILED! %x\n", res); + return res; + } + OutTraceDW("SUCCESS!\n"); + + if(dwD3DVersion == 8){ + HookD3DDevice8(&pd3dd); + } + else { + HookD3DDevice9(&pd3dd); + } + + dxw.SetScreenSize(pPresParam->BackBufferWidth, pPresParam->BackBufferHeight); + + GetHookInfo()->IsFullScreen = dxw.IsFullScreen(); + GetHookInfo()->DXVersion=(short)dwD3DVersion; + GetHookInfo()->Height=(short)dxw.GetScreenHeight(); + GetHookInfo()->Width=(short)dxw.GetScreenWidth(); + GetHookInfo()->ColorDepth=(short)dxw.VirtualPixelFormat.dwRGBBitCount; + return D3D_OK; } @@ -1044,7 +1122,6 @@ HRESULT WINAPI extCreateAdditionalSwapChain(void *lpd3d, D3DPRESENT_PARAMETERS * OutTrace(" PresentationInterval = 0x%x\n", *(tmp ++)); } - //((LPDIRECT3D9)lpd3d)->GetAdapterDisplayMode(0, &mode); if (dwD3DVersion == 9) (*pGetAdapterDisplayMode9)(lpd3d, 0, &mode); else @@ -1291,10 +1368,33 @@ HRESULT WINAPI extQueryInterfaceDev9(void *obj, REFIID riid, void** ppvObj) return res; } -HRESULT WINAPI extGetDirect3D(void *lpdd3dd, IDirect3D9 **ppD3D9) +HRESULT WINAPI extGetDirect3D8(void *lpdd3dd, void **ppD3D8) { + HRESULT res; + OutTraceD3D("Device::GetDirect3D(8): d3dd=%x\n", lpdd3dd); + res=(*pGetDirect3D8)(lpdd3dd, ppD3D8); + if(res) + OutTraceE("Device::GetDirect3D ERROR: d3dd=%x ret=%x\n", lpdd3dd, res); + else{ + OutTraceD3D("Device::GetDirect3D: d3dd=%x d3d=%x\n", lpdd3dd, *ppD3D8); + HookDirect3D8(*ppD3D8); + } + return res; +} + +HRESULT WINAPI extGetDirect3D9(void *lpdd3dd, void **ppD3D9) +{ + HRESULT res; OutTraceD3D("Device::GetDirect3D(9): d3dd=%x\n", lpdd3dd); - return (*pGetDirect3D)(lpdd3dd, ppD3D9); + res=(*pGetDirect3D9)(lpdd3dd, ppD3D9); + if(res) + OutTraceE("Device::GetDirect3D ERROR: d3dd=%x ret=%x\n", lpdd3dd, res); + else{ + OutTraceD3D("Device::GetDirect3D: d3dd=%x d3d=%x\n", lpdd3dd, *ppD3D9); + // re-hook d3d session: neeeded for Need for Speed Underground + HookDirect3D9(*ppD3D9, FALSE); + } + return res; } HRESULT WINAPI extCheckFullScreen(void) @@ -1393,3 +1493,17 @@ ULONG WINAPI extEndScene9(void *lpdd3dd) if (res) OutTraceE("Device::EndScene(9) ERROR: err=%x\n", res); return res; } + +ULONG WINAPI extSetTexture8(void *lpd3dd, DWORD Stage, void* pTexture) +{ + (*pSetTexture8)(lpd3dd, Stage, NULL); + OutTraceD3D("Device::SetTexture(8): d3dd=%x stage=%x\n", lpd3dd, Stage); + return DD_OK; +} + +ULONG WINAPI extSetTexture9(void *lpd3dd, DWORD Stage, void* pTexture) +{ + (*pSetTexture9)(lpd3dd, Stage, NULL); + OutTraceD3D("Device::SetTexture(9): d3dd=%x stage=%x\n", lpd3dd, Stage); + return DD_OK; +} diff --git a/dll/hd3d7.cpp b/dll/hd3d7.cpp index 44026ec..28b43c1 100644 --- a/dll/hd3d7.cpp +++ b/dll/hd3d7.cpp @@ -67,6 +67,8 @@ typedef HRESULT (WINAPI *GetCurrentViewport2_Type)(void *, LPDIRECT3DVIEWPORT2 * typedef HRESULT (WINAPI *SetCurrentViewport2_Type)(void *, LPDIRECT3DVIEWPORT2); typedef HRESULT (WINAPI *GetCurrentViewport3_Type)(void *, LPDIRECT3DVIEWPORT3 *); typedef HRESULT (WINAPI *SetCurrentViewport3_Type)(void *, LPDIRECT3DVIEWPORT3); +typedef HRESULT (WINAPI *SetTexture3_Type)(void *, DWORD, LPDIRECT3DTEXTURE2); +typedef HRESULT (WINAPI *SetTexture7_Type)(void *, DWORD, LPDIRECTDRAWSURFACE7); D3DInitialize_Type pD3DInitialize = NULL; D3DGetCaps_Type pD3DGetCaps = NULL; @@ -92,6 +94,8 @@ GetCurrentViewport2_Type pGetCurrentViewport2 = NULL; SetCurrentViewport2_Type pSetCurrentViewport2 = NULL; GetCurrentViewport3_Type pGetCurrentViewport3 = NULL; SetCurrentViewport3_Type pSetCurrentViewport3 = NULL; +SetTexture3_Type pSetTexture3 = NULL; +SetTexture7_Type pSetTexture7 = NULL; // IDirect3DViewport-n interfaces @@ -124,8 +128,6 @@ DeleteViewport2_Type pDeleteViewport2 = NULL; NextViewport2_Type pNextViewport2 = NULL; - - HRESULT WINAPI extInitialize(void *); HRESULT WINAPI extEnumDevices(void *, LPD3DENUMDEVICESCALLBACK, LPVOID); HRESULT WINAPI extEnumDevices7(void *, LPD3DENUMDEVICESCALLBACK7, LPVOID); @@ -179,6 +181,8 @@ HRESULT WINAPI extSetCurrentViewport3(void *, LPDIRECT3DVIEWPORT3); HRESULT WINAPI extGetCurrentViewport3(void *, LPDIRECT3DVIEWPORT3 *); HRESULT WINAPI extSetViewport7(void *, LPD3DVIEWPORT7); HRESULT WINAPI extGetViewport7(void *, LPD3DVIEWPORT7); +HRESULT WINAPI extSetTexture3(void *, DWORD, LPDIRECT3DTEXTURE2); +HRESULT WINAPI extSetTexture7(void *, DWORD, LPDIRECTDRAWSURFACE7); extern char *ExplainDDError(DWORD); @@ -308,7 +312,6 @@ void HookDirect3DDevice(void **lpd3ddev, int d3dversion) if(dxw.dwFlags2 & WIREFRAME)(*pSetRenderState2)(*lpd3ddev, D3DRENDERSTATE_FILLMODE, D3DFILL_WIREFRAME); if(dxw.dwFlags4 & DISABLEFOGGING) (*pSetRenderState2)(*lpd3ddev, D3DRENDERSTATE_FOGENABLE, FALSE); if(dxw.dwFlags4 & ZBUFFERALWAYS) (*pSetRenderState2)(*lpd3ddev, D3DRENDERSTATE_ZFUNC, D3DCMP_ALWAYS); - //if(1) (*pSetRenderState2)(*lpd3ddev, D3DRENDERSTATE_ZFUNC, D3DCMP_LESSEQUAL); } break; case 3: @@ -320,11 +323,11 @@ void HookDirect3DDevice(void **lpd3ddev, int d3dversion) SetHook((void *)(**(DWORD **)lpd3ddev + 52), extGetCurrentViewport3, (void **)&pGetCurrentViewport3, "GetCurrentViewport(3)"); SetHook((void *)(**(DWORD **)lpd3ddev + 88), extSetRenderState3, (void **)&pSetRenderState3, "SetRenderState(3)"); SetHook((void *)(**(DWORD **)lpd3ddev + 96), extSetLightState3, (void **)&pSetLightState3, "SetLightState(3)"); + if (dxw.dwFlags4 & NOTEXTURES) SetHook((void *)(**(DWORD **)lpd3ddev + 152), extSetTexture3, (void **)&pSetTexture3, "SetTexture(D3)"); if(pSetRenderState3){ if(dxw.dwFlags2 & WIREFRAME)(*pSetRenderState3)(*lpd3ddev, D3DRENDERSTATE_FILLMODE, D3DFILL_WIREFRAME); if(dxw.dwFlags4 & DISABLEFOGGING) (*pSetRenderState3)(*lpd3ddev, D3DRENDERSTATE_FOGENABLE, FALSE); if(dxw.dwFlags4 & ZBUFFERALWAYS) (*pSetRenderState3)(*lpd3ddev, D3DRENDERSTATE_ZFUNC, D3DCMP_ALWAYS); - //if(1) (*pSetRenderState3)(*lpd3ddev, D3DRENDERSTATE_ZFUNC, D3DCMP_LESSEQUAL); } break; case 7: @@ -333,11 +336,11 @@ void HookDirect3DDevice(void **lpd3ddev, int d3dversion) SetHook((void *)(**(DWORD **)lpd3ddev + 52), extSetViewport7, (void **)&pSetViewport7, "SetViewport(7)"); SetHook((void *)(**(DWORD **)lpd3ddev + 60), extGetViewport7, (void **)&pGetViewport7, "GetViewport(7)"); SetHook((void *)(**(DWORD **)lpd3ddev + 80), extSetRenderState7, (void **)&pSetRenderState7, "SetRenderState(7)"); + if (dxw.dwFlags4 & NOTEXTURES) SetHook((void *)(**(DWORD **)lpd3ddev + 140), extSetTexture7, (void **)&pSetTexture7, "SetTexture(D7)"); if(pSetRenderState7){ if(dxw.dwFlags2 & WIREFRAME)(*pSetRenderState7)(*lpd3ddev, D3DRENDERSTATE_FILLMODE, D3DFILL_WIREFRAME); if(dxw.dwFlags4 & DISABLEFOGGING) (*pSetRenderState7)(*lpd3ddev, D3DRENDERSTATE_FOGENABLE, FALSE); if(dxw.dwFlags4 & ZBUFFERALWAYS) (*pSetRenderState7)(*lpd3ddev, D3DRENDERSTATE_ZFUNC, D3DCMP_ALWAYS); - //if(1) (*pSetRenderState7)(*lpd3ddev, D3DRENDERSTATE_ZFUNC, D3DCMP_LESSEQUAL); } break; } @@ -1199,3 +1202,13 @@ HRESULT WINAPI extNextViewport2(void *d3dd, LPDIRECT3DVIEWPORT2 lpd3dvp, LPDIREC else OutTraceD3D("NextViewport(D3DD2): next=%x\n", *vpnext); return res; } + +HRESULT WINAPI extSetTexture3(void *, DWORD, LPDIRECT3DTEXTURE2) +{ + return DD_OK; +} + +HRESULT WINAPI extSetTexture7(void *, DWORD, LPDIRECTDRAWSURFACE7) +{ + return DD_OK; +} diff --git a/host/Resource.h b/host/Resource.h index c28ba0a..8db5baa 100644 --- a/host/Resource.h +++ b/host/Resource.h @@ -205,6 +205,7 @@ #define IDC_HIDEDESKTOP 1163 #define IDC_STRETCHTIMERS 1164 #define IDC_NOFLIPEMULATION 1165 +#define IDC_NOTEXTURES 1166 #define ID_MODIFY 32771 #define ID_DELETE 32772 #define ID_ADD 32773 diff --git a/host/TabDirectX.cpp b/host/TabDirectX.cpp index 66b9ad4..9a5a42a 100644 --- a/host/TabDirectX.cpp +++ b/host/TabDirectX.cpp @@ -43,9 +43,7 @@ void CTabDirectX::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_NOPIXELFORMAT, cTarget->m_NoPixelFormat); DDX_Check(pDX, IDC_NOALPHACHANNEL, cTarget->m_NoAlphaChannel); DDX_Check(pDX, IDC_FIXREFCOUNTER, cTarget->m_FixRefCounter); - DDX_Check(pDX, IDC_ADDPROXYLIBS, cTarget->m_AddProxyLibs); DDX_Check(pDX, IDC_NOFLIPEMULATION, cTarget->m_NoFlipEmulation); - //DDX_Check(pDX, IDC_SAVECAPS, cTarget->m_SaveCaps); } BEGIN_MESSAGE_MAP(CTabDirectX, CDialog) diff --git a/host/TabWindow.cpp b/host/TabWindow.cpp index 82c80bd..eb17c8e 100644 --- a/host/TabWindow.cpp +++ b/host/TabWindow.cpp @@ -60,6 +60,7 @@ void CTabWindow::DoDataExchange(CDataExchange* pDX) DDX_LBIndex(pDX, IDC_LISTRES, cTarget->m_MaxScreenRes); // 3D management + DDX_Check(pDX, IDC_NOTEXTURES, cTarget->m_NoTextures); DDX_Check(pDX, IDC_WIREFRAME, cTarget->m_WireFrame); DDX_Check(pDX, IDC_DISABLEFOGGING, cTarget->m_DisableFogging); } diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 03e2bb6..26aab00 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -63,7 +63,6 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_DisableFogging = FALSE; m_NoPower2Fix = FALSE; m_NoPerfCounter = FALSE; - m_AddProxyLibs = FALSE; m_UnNotify = FALSE; m_Windowize = TRUE; // default true !! m_HookDLLs = TRUE; // default true !! @@ -139,6 +138,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_AnalyticMode = FALSE; m_NoPaletteUpdate = FALSE; m_WireFrame = FALSE; + m_NoTextures = FALSE; m_BlackWhite = FALSE; m_InitX = 0; m_InitY = 0; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index 72a320a..3fb5ac6 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -128,7 +128,6 @@ public: BOOL m_ZBufferAlways; BOOL m_NoPower2Fix; BOOL m_NoPerfCounter; - BOOL m_AddProxyLibs; BOOL m_DisableFogging; BOOL m_SuppressIME; BOOL m_SetCompatibility; @@ -144,6 +143,7 @@ public: BOOL m_SaveCaps; BOOL m_SingleProcAffinity; BOOL m_WireFrame; + BOOL m_NoTextures; BOOL m_BlackWhite; BOOL m_SuppressD3DExt; BOOL m_Force16BPP; diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index 1079619259363f3a8f376a3172565c66daef3187..4bb1ec926b95d385fc742484ae532d46f875371c 100644 GIT binary patch delta 4049 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 delta 3836 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�s=F>qLAq|$ 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 delta 9955 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 t->flags4 |= ZBUFFERALWAYS; if(dlg->m_NoPower2Fix) t->flags4 |= NOPOWER2FIX; if(dlg->m_NoPerfCounter) t->flags4 |= NOPERFCOUNTER; - if(dlg->m_AddProxyLibs) t->flags4 |= ADDPROXYLIBS; if(dlg->m_DisableFogging) t->flags4 |= DISABLEFOGGING; if(dlg->m_SuppressIME) t->flags2 |= SUPPRESSIME; if(dlg->m_SuppressD3DExt) t->flags3 |= SUPPRESSD3DEXT; @@ -238,6 +237,7 @@ static void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_HookOpenGL) t->flags2 |= HOOKOPENGL; if(dlg->m_ForceHookOpenGL) t->flags3 |= FORCEHOOKOPENGL; if(dlg->m_WireFrame) t->flags2 |= WIREFRAME; + if(dlg->m_NoTextures) t->flags4 |= NOTEXTURES; if(dlg->m_BlackWhite) t->flags3 |= BLACKWHITE; if(dlg->m_FakeVersion) t->flags2 |= FAKEVERSION; if(dlg->m_FullRectBlt) t->flags2 |= FULLRECTBLT; @@ -340,7 +340,6 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_ZBufferAlways = t->flags4 & ZBUFFERALWAYS ? 1 : 0; dlg->m_NoPower2Fix = t->flags4 & NOPOWER2FIX ? 1 : 0; dlg->m_NoPerfCounter = t->flags4 & NOPERFCOUNTER ? 1 : 0; - dlg->m_AddProxyLibs = t->flags4 & ADDPROXYLIBS ? 1 : 0; dlg->m_DisableFogging = t->flags4 & DISABLEFOGGING ? 1 : 0; dlg->m_SaveLoad = t->flags & SAVELOAD ? 1 : 0; dlg->m_SlowDown = t->flags & SLOWDOWN ? 1 : 0; @@ -395,6 +394,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_HookOpenGL = t->flags2 & HOOKOPENGL ? 1 : 0; dlg->m_ForceHookOpenGL = t->flags3 & FORCEHOOKOPENGL ? 1 : 0; dlg->m_WireFrame = t->flags2 & WIREFRAME ? 1 : 0; + dlg->m_NoTextures = t->flags4 & NOTEXTURES ? 1 : 0; dlg->m_BlackWhite = t->flags3 & BLACKWHITE ? 1 : 0; dlg->m_FakeVersion = t->flags2 & FAKEVERSION ? 1 : 0; dlg->m_FullRectBlt = t->flags2 & FULLRECTBLT ? 1 : 0; diff --git a/todo.txt b/todo.txt deleted file mode 100644 index fedbe5e..0000000 --- a/todo.txt +++ /dev/null @@ -1,37 +0,0 @@ - int WINAPI D3DPERF_BeginEvent(D3DCOLOR col, LPCWSTR wszName) -{ - if (!gl_hOriginalDll) LoadOriginalDll(); // looking for the "right d3d9.dll" - - typedef int (WINAPI* D3DPERF_BE)(D3DCOLOR,LPCWSTR); - D3DPERF_BE D3DPERF_BeginEvent_fn = (D3DPERF_BE) GetProcAddress( gl_hOriginalDll, "D3DPERF_BeginEvent"); - - return D3DPERF_BeginEvent_fn(col, wszName); -} - -int WINAPI D3DPERF_EndEvent() -{ - if (!gl_hOriginalDll) LoadOriginalDll(); // looking for the "right d3d9.dll" - - typedef int (WINAPI* D3DPERF_EE)(void); - D3DPERF_EE D3DPERF_EndEvent_fn = (D3DPERF_EE) GetProcAddress( gl_hOriginalDll, "D3DPERF_EndEvent"); - - return D3DPERF_EndEvent_fn(); -} - -void WINAPI D3DPERF_SetMarker(D3DCOLOR col, LPCWSTR wszName) -{ - if (!gl_hOriginalDll) LoadOriginalDll(); // looking for the "right d3d9.dll" - - typedef void (WINAPI* D3DPERF_SM)(D3DCOLOR,LPCWSTR); - D3DPERF_SM D3DPERF_SetMarker_fn = (D3DPERF_SM) GetProcAddress( gl_hOriginalDll, "D3DPERF_SetMarker"); - - D3DPERF_SetMarker_fn(col, wszName); -} - -LIBRARY "d3d9" - -EXPORTS - Direct3DCreate9 @1 - D3DPERF_BeginEvent @2 - D3DPERF_EndEvent @3 - D3DPERF_SetMarker @4 \ No newline at end of file