From 5bbc31029fb54704d5280e67506c4caceb2e5a17 Mon Sep 17 00:00:00 2001 From: x1nixmzeng Date: Wed, 21 Dec 2016 23:58:11 +0000 Subject: [PATCH 1/3] Removed all EXE support Very aggressive cull of old Exe support: Removed GUI for importing/exporting Exe files Removed GUI for storing Exe history Removed GUI for Executable Generation Removed unused EmuExe class Removed unused Exe registry settings Removed unused Exe file history Removed unused standalone Cxbe console app which would no longer compile --- build/win32/Cxbx.vcxproj | 8 +- resource/Cxbx.aps | Bin 200116 -> 239464 bytes resource/Cxbx.rc | 51 +-- src/Common/Xbe.cpp | 495 -------------------------- src/Common/Xbe.h | 5 +- src/Cxbx/EmuExe.cpp | 702 ------------------------------------- src/Cxbx/EmuExe.h | 52 --- src/Cxbx/ResCxbx.h | 18 +- src/Cxbx/WinMain.cpp | 4 +- src/Cxbx/WndMain.cpp | 380 +------------------- src/Cxbx/WndMain.h | 38 +- src/Standard/Cxbe/Main.cpp | 277 --------------- 12 files changed, 22 insertions(+), 2008 deletions(-) delete mode 100644 src/Cxbx/EmuExe.cpp delete mode 100644 src/Cxbx/EmuExe.h delete mode 100644 src/Standard/Cxbe/Main.cpp diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 512abaef7..da5c06cc7 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -163,7 +163,6 @@ - @@ -177,6 +176,7 @@ + @@ -215,12 +215,6 @@ %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) diff --git a/resource/Cxbx.aps b/resource/Cxbx.aps index 148c2461c6fe52d9674ceb07dc248a29ad7be8b6..482115be9e88cc42b0a20a507163670ce55318ac 100644 GIT binary patch delta 67923 zcmb@v2Yj5x(LcVAWSdSPNLIIHn___tx>Kj0?oQHKr#o@QvW?-8rL!%NB_Y{hoALl5 zZz{!X5|aQSq`c__(vz2(MnVFCYJ+OutIbnmvk>odja+40HZ zC|Gfk71tb*Llt+rC$8A0=EjjK&Au!a}|3XaYmNc&^eN~;(GyiC?>h=9qbxjQ( zVQe%KE5y=cDPqy38ugE=8oHZ2d@??eE2QFs+)h2Jxg10Kfeu@gUiHuVsufCK@Xr<2 zO1-msrPZou|J7iv(s%!>(ORt^u5N5xr}E}aSi z*3qs`6<9Q#8b}Q0Gx0(snH0=ve(Es6LTarZUD8n9rj*|G_PQiMJ?eBJ+ZZjxI#A{K z#zd4FsH0b%;bJ1uXnd5k+1akvxzK1N6^&D2oguaUjh0noo%zP1wK8#*P((Kth9a5R zSR@nQoZkqtu6ET}9R9))ejVD?4)!nG+gLl>FuP$9y)uRqRc9PXn-3!>I_cR{- z_es{Wsy=n_=o)KP)!FJ`sK#1poujudYppsLsamT+ANkf}k3?A=UFtjoIrFVYF{E3a z&yd!GEw$G1RTpsL4C_KYdc>(#1pn6R*B^1L)sJ5_`h!Qj%!=xVkEm;ic_L>}kwS>7 z(iKv1{ktRTss_}-vzA-StwG&#WL?8h32hhCcBzCOIkK*5gF1LG(GKhDK$|R~?PJN={S+!9e{9!%nKBnJtbW3$eZPHhKx7phK zk#8M+Yt$FSERn*HKy!r+FoAAofMM04Z$GZa?)1^8(vfH`u`z-XPfcQF z#|oq94XGS8S0aTONS)2lbZ#h~*^*9=fb%&%Ix3XtI@GxyT|UK>ooEwl<8UD8zmYP;rKgcto9QfI*v_p#?H1+7Am;0o`f?!+07&x>sGq>0G3r z(0wW+5>!y1+QEQ$HX0eVS-yTX#URvaV;s{ksG{l$ z2Bp#|A2g<>8EPgN(8bj*hK!_R@hHnqxd+q?L$jk1%uell!|iI00i&5jnlv2_sVfO! zV^ZEk1%|_Fo+;v~7$rN@0w;&kBg~*v?dCL1~1dpMmRrBt`Nic>rp6QD<3%>Z5! zknUA`Ih~Cs<56bNr}hD24;LU(iXjoTpK0Qo;?X?D0J8O~Yb0ALGKyivWKnf3!xE{i z=qemj*D)jp=8`Y2u4f3%k;G>}Nk>a!^da5VuU^IYjBNl>^=bx0Mn|(m5L2(=bT%1} z6Njz=bsGax`4KF2n3?x>x2pp_P>4Vwb%zf`W1u^%v=7ulpbqs02V{d;C&4<^8yy%x zT?FbQQ(4K)nR&Rd4oz`Uupg-ol`fd@`39O>QPwMBSxqni3*0 zYVz)WbvM&w?I-^P;X<% z04b)YUEL=s(h26(w@a$Sres*XLz1KkEMV`H6e*#nQ@u-4RR5kX^`DZWs`qrOcT0+D z-P5DqBPptIPp^8fq%dJ1*{9xTk}OU{y^#?dn03B&m8s>cb{UV)cgAMv_5-)2b0g@n}q2#q&|N5bkmLgj;XsP77$nb#wo>U%;&fK@0i(xtx7 zkp4`146{MOEHsgB^&@5J@BgIU`msK%wz1zY+*KI^_K;#ze7EzFI~R8`uE_H_<6JaJX0nk`BZeMfH{jg zPk*<1p#)5wsJ}=3fx*QlglXtl7eIpvGs$r- zfQD0SKpk%Y_DCVJ37~jL)wwjZKO!kt6-LZc!z3mVc400s#7&GWHghG#WCl_7GI8wr2->I4bb%YNQV=Yn&T?U+5o&=r ztREkUMUJYF4@3%#$5hw_jb)>`3=QabTy-!sMFmIEKNvcoI$hdGE=P;pK)dR4VX#jy zz6lyq-7Ykm9;G@DgjJ7zq5dSh*TuwB$uYuosy-J+gG(&8fi876gPo$f)w!IGW<;KW z9(5iA;+qVhSDi0_Ogue6ocq)T44{rq>4>_}W&m5O0Q9Q}r(pp_*ajJhs(#7BS{#U} zC?{DF#)2G(tC(etVXn*b{D+NEyGk=8nu(KT4V#ko;iC+T#j`LXseAy#wz`O+Bk7HX zu0v%Ql1*$ekS>*Fh-;~H)^3#tG*W;SNESS3)n*2mWJqn{WHgzG4jWilUCf-&bq3OC zNY!qW6g}z^1`j8aNdqTvuey}M@l>QAyAv)oq6!X&Ogxr}P>X@IUtQ*ab7I^97**p8 z9E|5YU`%cE1ACJ3)L@Q!2{Odh1mi~GI-$M|(14m`5bqutgvGUJS$g`*jazpx>Y{u+ zvzfLbg6>c|84RN`iy@Xs8+f;xGUV9Q5^pTSR|sV$l8yHd53&^sc&D010k=QZP`wL( zLr>RQGx~>34c4swzos?TmAa+5v3d_MXMJ_Kb(OxTxvt@A=95c|c=j;(#MNGXV{={g zKH~CBjkRAtfSlJL_4u>(jn^7!;`w-Xb1KRr!34ez=*ZXV>(MdMrC1ZRg%fnQxa1jwP(Cq%A?+78Vv4^*Dw%`?g2yUwR+`> z<<+l4z7xMuW4&IFtY~b!g$XhB(~i?+-_fUT)iK^$$5J@D}+V!C}^;Q97^I7zp zSOyjfMkNUEErDmT%wog)HUUR733ve`NzA=0fU4Q^$r2E?_~q5 z7}=)*)vw;ks8l+a7?3HTGp^pFA78n~dN2O1kxIhb@II!?Md6)cu3cgEeg>Jf1ulsW z^#O)pK86WFTS!CNsXnMLY;733-?CBznL;F$O`vKINGhK~cfukURu2-Oz@rCM`7ozg z6PeBM1$=~glWBxrW~?F16#eRB`hnKQ>W@SHU;Tbv^Cy@rmLUJKgXt)?>1shTA?XVKR zq|aL2Y(1%ys~fAoj4ZePWV!VfeFI=m>3aZs8n82ey4?DzeipE2^mD5ld%j_q8E=Kd zEULa4M8x`&(IlDCC@H4Cr7u`hd(Kap1Y^!@WZ@reS3h%r!iqf4KW7kh&Rw3&kYDKA z*3@3|ONM7RlXc;-=v2S*!5uDL>emj`W7Mtw*8#@jk(h_*QNPjF$u-ssdilw#tUv4C zlUG`Q(VI?gZu~1}!2DN0q40$B3>(7i{WpE<$#v8JU^E+fGRcPEK>4RrNB|yI|6({z zrcyDuQvS`LA$N<>9>OI3A_F)2fn7>f=@U<>8Mdlu_Jje#U3WA+YAPJ+QB{nh9_=~? zz-~Yt;lkYtW5aZ0m7Y7Lw)rR*Y5Z1(A6yv6>ibTq?K{pTKz~d3ZxD|I)|gIpJfkq~ z%A|ou<7N8yr_}eHz$7S_{6GnsxVf{2;M1s)+@qLZf~a0qtIt2RA+fy5LKZp!z#wmu zgcy-w)htOWIT1;cLD8XF7&cHC!lv0->_cjGm8B1SHu9e&*DM>N7!k@AHj~X9Xzx+5Q6=tZdzST77j0WY0a{Tph;W<6dZJ=%}(rQUxey z$eBz+Frzzxz2Jq~4c*LaB#kz4ETJ%ZeGh}ph;;gL7=6FjkC3(qV*vDl-6emhZ$6vR zrm4Jqo$4GA9QZ>`^SJ>6cMyi*K0HsS*Vfmc&jiN*=oHYaF3|Sc#_bmhlB69QinBG` z9&V4QeukSd?-kpx;(mm~Evg3mU~ei2!vi@8L9hH{P0c7ss0eudlUQIv=#pFXX>BV` zyR^zO1(A6VODUvwxF9m`0Sc>~db+Kld78_CQ#YO=aNt!ww+Wx4@s;)HCPMUI{l>T-AILy+M`3KHw^FPd?T@hHsH?6 zplFSWWHL00grZly0-VqPb6wNT4h_bMTSpixuL6GV&-K=;_3Rl9^{-*7SSCG6{&?D@ zwud`9V7$ETj3(=K`k^zL8s5(&G}C#Dco;sG59sI5sJA|-k6PC{biYgEO)+6CR3CET z&J+{IGWCE9b?gu-wzpS(L|?hCzW(Db8dIz3J8-dlLf^NpuHnBJ$>RpQ5!ph7BOU4? z{p`Ai>PJzz-~Xj<>tjp>2Paji1LNvx0mxPikdXQ+Lq;)kv+6p~cb*X<$4}k?ul%zN z%HxPZICZM8>C4tPSYOxs*SA>zt?yjl()-+l6XRfe+ zz}ZG4@V(}Y$<4M;2YU1m83)HL)WuT5&i|3n8?P@;*?QDZJrLx?*bv%Y^)p7m!Qoq$ zI^aS7mGF(EVne$7tP=*0sHPtidQ_W zR+}_Ad^*$`FU9no>STi0$PWU^)1^)^RQ+ijVveY8b!q^>IeXM;0ifjVRcouQAxtwF zcyiaS54WjyO2dnr!m$7yD~b6XB4{d&nJt6vrtC1KO*4d42d5&VIoi90RVO83&hW79 zP+gQ9g!7G7rcTw(SX$aVXb-`dyi4`cZ^v@zR(+IoY=$0nHdES(lsRbXRp&4yV&+!W zr_LpSXt!ORM+vDby4v}aBF&&A?pq!e#GFpZB?TiKCZ8WSK!tn59}5pxFGZydwCB<1xD;YMqtzAL=y z<(sOlkx0Rv`a`OypAIj#w=>vx4%wl0lz=eC;737Y@2s|HjxS_UE(%t=Ou9co2bD9B z0CgqT7)}ysH>9pMASfy^0$dDadmUJ06JTc$Fs$}@KsrmsSlRDE$W%h<*XUb2nyef2 z`#PGf8}$<%t=3KYR~^kGuMkSoK2x#~Xar8&jA617o3LbJFeP4BEY;W~`@q~~Fq~mS zV5zyNvti(MKCJWvLSyIjdO-|%z8BgY+#=A89+ZryTlE8-ZDY3^90b5VH=5%`jV6u* zP;%gCmQ08@GthT7OGd<780h%Y(XO59F5TW$v+iz2_zr2QX7?~KV4I*`_v*Q>+J?7P zTNsyxAvn8u0s}An7gF!lZ|$nP{C$F@<41Q!7J_#50l~>`wS6xt!2hZH1s;_+2bm=a zqdtTlOU1x&8i?Qo3iIWF`A>aVuk3CPJq*oc3(nqvrdRqesUBf?bSROeHN`0@i5=*4 zcVp9IjNO>XCd4NO{quiG^|-#TyV3fLeyDqe^;!L0{QEimcjWlI@H6unHDuJ}_<}yG zr@s3M#$%5eD@S zO;0fu+^ELw4+54tsh+;0w*@=a75MjAeQs|<<9{tU9PVVcney+FlHCw;bSNE;9eyiWox5oONegu%`^mqGOt>5c^;@{_W%h@f~ zAM`nAueAQCFUG%r(%0bMKkK{BZp8-jp|cyC{=o&uH_1B2HKB^2rvKD0fc9Vd#B)|! z|JI>%R$DLX+&OEi)Dpe#oK;m-OZ466tf;D9q8~b^rE19%{oQlUuR3ChZaQ~(#gR*> zg^6ioGgcaLkBElUaZB{g=dP(bX^DRCxh+*qOY|4dU16_YVnwqB-#DVq*~UQMkfSki zIs?UK=OIPz(lZ!{h$I{{P!-Vc*D)xHnKo;Hh|gKiKv@tC6l43$C1+6SskH0sq)~hp z(`I4Y^(SQTqJ>ra5`Fu5O;w>K`h({+Rfm^Y2Ui_yEw?+E7{)0VFRiS)030Z=2R5WG z-~?EWL`E^~UC7CicrHQ)?`R^L!^{_9V0JSc6P>D`6S2eqqC=wm8?LJX7zHs-z!A=z zdsKXhWuu%}qF?o@0Y(}F4U6cYq~U8LHyLJ$AqHfK6&BJ2r^d*D#ZtO~Q^rvxa(Ad< z2F6p^K8mmkE`THhhsa=8SX0kRaT*H{EJIpQ)0~D#8xg_OqcWVt%uFlk#wC`%?+0~f zT_QBuQ7(y^4Zf&L9iY(^gTtzTJpcS*qji~{y`ae&*RQ*vp?W)DtNyy&+Myr0puS<6 zGY-ZQSV>(=4wc-ce}6%JpQMuv>Q^u0|0#>sjg;3 z#@!nOLnAl|2lMoWO>iu~`oiXxYnaG?lFkg!U6SfL{rH6qT{cq;W-uDeSRjf}Qr#d0 zC$i+|_o2c`Y_VPzX|i6S&xkZwH|uz0RpTqA9GF4IC(Fg4kXPv&BD9lwbEK)^HB978 zu0jz4&Fl12krnX&{x;IobqmwvQd~D^LzE@qHDU} zM>N?&Y3p<()dvLwC#y7%kL-Tk5^HGqkPsMkK`8U<0iBLDSP$x{Sj)v978+OEpmKkI z#1vpwN}!xY^P@|wETT)vyvF(o^{D@1h;h;kpc`VZ`Qun^-NOQBo61mQd;N$$E?!st zDCVad8m!uy$C${O-v-*TEqYv!#%tDph7pdLPDNot{H!U8oI(^xOJIZ>d`=&T*PQWr zMtZybfe=Lb0t1cxNA%<`c|t!EudV(fWQa6cwXrWrQO^EwAcUC5CmH5cn({%iuP|@~ zOChXD=V)Odgt(HYbY!5u{%OYh#~TzhpuVcF99Vw&cNxhBITVN~hs{s*y(Lzgq0>nsKtFlQic|b?{OYU@zsaKmx-wq5T}; z;h*;4PSbUDt7;GGbZ;W>QcHk{W}LlPN4N_M=n(=-^v5G3;MxUW-jMC_9?ZFsw(NB(M~9pKf&V z8cCB|h9P}wxj-n&j^fQZRyEw+)o!Z>U=oFclWJs546$m_n!lzrU5(q;5IOd<2_oy`n7|Gx;V9lVS(wWQ2f)Kw6LAm@>mg+6T zjq6WcYSE1YQ~)RWxP}0yh{zfegiqG+QhncWO;d*;;+tT1!l&lsKy>m_{mgJpU6r!Jx2U=tZcJOCMu_BfN`OcIen zFz`ZZ+fpl@_3s&yYL-D!_I8U+0Rv}_f!e6vwIv z3=kf@Nwu(a8y7~0%r1g#n%$fMzSHa&7I&r(1H6a9k$f)g_?u|a?*!&57vrsXVh3KW z?;oja+{<{F*4T%c;9S}gCe=Ru!;$6F`x!kJK`^otvn6z!5rl zk*FBNYP74H83tFl3k#`NI&|bE;7TAo>_7B)s%G7*9CAXX$QcPPo$A#BcH;g3>r$`L z_oeEFUhBi)2%7_yfbLPRa|%K1uyX?5->Y8l6yOKelceh6o_sWogksR@meP0xz2KxBXhQ_xr4oWpUZG-NIvm`RwY~8Id#lQFH zYerkGx9Yn`>(9H_$w1wvAE83S6c)zXMYQkR7>jnRfDNhp^b6qjc76Osbq()yC`Tfh zL4+s^2Sl;z^DkNnJM_|v8XDitG^6S4KqfunoIbS2x)FSE;G+7j_d23r@92vgiS?=v zI?PKjed>PwgNvH2kL!P+kWc8QOr!Nl-JMy{`>CZ?f3}c`&>o1d!LU4RT4Qv5nz0@3 z8K;=sT}ky{`t_OSzK0kM_ii3X2h!L~(UVjUGm3oQrED=cAJIR~tZI6cNk;S8p+IIh zDIe1<*`}Vy8K2uc8Xv)#gD2NOQhkO|({(`MJd+*kDaTtn|u zjHWs!6T{A~Nyh)vj4GMY*kzQ2S$ci0zWy1e7)ZjKDx75x^sK%=*HZi%kSSPCh!>+x zp!znaCDZ}|w45?K3&hTH(%nKJaFzjPlLE)V_avRpV@v7qMC`0?&o8%sXfjhRP!vja z8U0AI$&oA&u>gY~GZte^POiJvPZ;0@uHj$@5T5VE7^7+;Eb-S2MMi=iElrQO#Q)V_ z&DT!<#zA_$a-c)~)`M;~;ctjd{2fENLaai>CH|g47^#R%my^f#fo}D@lidgHQ7`Dx zjdgW@11_6`BLL>2v)>NEGQECdll^zW8P#wr!73G?b6$_G(yRWt)XE0dKI*SYRke)3 z!QRH3{Axz{)7~3Y?;1btfA_NWqQk4<2grq zl%5ZhNil4XVkB*AOK=#qM=#SK8f&ULW|{uVSVPmXOqorvIc7ROR*j@OZrL51R#qLq zOt0G1SarfOecqyJeYf+T1+0g7K`_4S6~6qssGOUMaYE zBuPfJ*A;;0G2P1eY(6z?;ujsy&Z=el*3HdTtC#5y;Ln<6`pL~LRVOdgzs8?amgyt6 zw5&UInH9_8I$o9!7pRJ`bk1ZTxrEa(Ih;WgpS4V1w57&w7n~cJN47|aVNC3_57jx$ z;8Z#hOU4le0_I%f4v#}7PO~(J^RSPqlTjTpL>HKu75$`_flz2Xmfd`;<0wt4zGeFP zEe-W&Ga6QoxmG1QI|mJY@k!0+3R1!rDAq!RfN$JUfX-n3}3K28;5f0R3edLzu`?juZ$qNNSE8t>+7Njt4 z`;E)=_qVph$Alt<_TmsiG21pdP|1PLgoSJVkY;elS%AH1Y#>2|`Rip#i)JM=FvY2C0>a*(a+w@9gfObIGzjIz)2a=|zn z=KgVozUa~hYg%7%>B=R$fY(3VT5C&BpAmAuT`e`86GYNyS4(ZL#MnSReB&1mPk}jB zF*o%-fngnW2Lji3zrgkC!poblk>9ea`pD2nuhpZ42J1R~d11A6y}qSz>Ls=i(};EL z2y~7cJn A!abmCpRs#Xvb2ZevEdO?uMcG8Uw#5Zz7IqwtcNW;j-Gs*ZH%g#IMhj z?(6jhmo;|ZV$fKxJfpWAM$)Ywf=hF=0(YCf?XqU;cKw0N8io!SIuiqdaKWUy!z~kc zEqL6b2S6fi;BY`ul$e_ZEZ?Ay8?SGAqgN=ljIbf8hGAMF-lQ)aZ>+o1;1Tdor_?;! zw!tXAa(sF9Tb5b+{ZBO1-(_f=h*s*i>K-6Ze6p_kt@!(aFR!e>cNuN|Fp}j4MYy*U z9*4ItvkpFdtkqck4*dAevDS*7cM2J%8KUS=?~=5$8wIRW{ind>$QqC?^=^IrwvFpg zQq~YAO&ra}oCz0B0|6ptWsr{&s0Ju`xwa;j+jWA(`3T|~`ki3Qc2#fS#+E`~R!sup zWgQ(yHVEj;YNa4jxKg{tc+H^z)hb{*rW`=`hvvwRQ>&DfgLwd>qtKtX=_0x4v|XL- zVc>TZXh@ynLAhvwhjH)R<--QGz&q7x9-Qd~xz;I@ldadbO4^Q#nbM}#df9?gORsA4 zP&9|IzlfBGJ^Se%DzLc1F?)uG${}JMmjtr8aa>^t;!xN$PBW#vp;O zh0ifmZtFQrT)?@8!fnJ{zbzfng`8(d+{Sd6xPbEw1;tUg^C5=Q1qMDggxd*jk%UN08O-(megG|_1FdXVQNeADWQOAO@`ChZ+MBhjm@Z6Ug~5N+0pdc*_J;qQg;pTC zKTbuIG^UgS^q`>KijrVl1`aEY0J!^0;r}%G!#QNcK)H51T|_75av+>b4-T3g1Dkp6 zbSFKRgRPbvi)_xKqf_3HN($7~9Drdp;s7HES&=|s45O3-9f)usJBCkMK>d-V-ZFXg z(5NJx!xiZCB7wkiLbw91U~)^MWEx;uT-NW8WDqxuMb25x2(d}uK3QMCnb5gFbC3$R z>c=MQ`U>ESx_WDHSY0L{-%?Fi+lk8E-FB*N`h;T5ITHeRgI*9#g8S@5>ff5sm3D$* z!8VtJdewGaDArc*ziGICMo7E5QCXwV z6-<7kt&qA|K-5OmWl7*p^-2N4O$2W?yAE)%;x+!v8Bq*(5_OBRq6kQETabqe>;>Jp zqp=Cs$q5;BQ?Lp1MxEZ#gnKzx>}a(P>eugRvF_CG+tJ*B3*wZ+>o(v=TaCBqAA<6( zJ9eH7AK588PqXh)RuXX=!D$u5A-dj881W~&&QBVqbl00u{;`BPfo^#dxNHni*>vgK zAY}oN+3HLTd^FFy1nD&>hTMMwwh`sS_L45puHL6F+gVeMtKHiASZxiibQ6JDW>826 z?&7>{=kkX81wl`0Ah6ikadfH=>96i=s(t|3XP<1Seh`13Mc>B#ZTgsWITe7`)RR3u~ za_a-PvI+FGNA#-8o2|$6`S|y7eevauji14wfe1s9tSoNQSJ76V z*SB51yy**qW_M`>yF7kR0eb0FPw2-kueZLa|L5|S>Mx`b|NptNh8URo0ORs1Me^t<;i*I98WfD>FfG?S2WrG?I68<5puSxZwMT*MP$@bqhkA)#ETKeBNw78=%g4> z@J17D?)cTwTXCt}AjQAcpC1@-R+LVqsJn=chzbV$_q>`(u{`8v>hl1VMe%YK^``T zkcb-Pr!G+}F@k&NK?<67f96rpy+rb!MVz~k)M`Ih`o!s`*snoWGS!6XaytRN;R&t& zMqp+7rc>*==>~+Ry>_~(`Z;vAqn~ZGaj~5^AX40&OsW3Q3)nw%Qk7p2F!}bKq5lT~ z`T9Lo`;P*ZPT?Lk0P!b5IPTeFxu=jC{tSUGe1Co8Uxa|Imoc1t@xn)X_^Y;eHCTVs zZ{D@i`ak`tUCq_FO@Hvfv3SnuANqH@>X+lrd<0eTJN-iHMcp*h07IHl)ECUPXC8f) zfZbbG)U6P1KR#32v(&Oiz^qJ*VYN&!WAXT~95NYIbgCn82X4h@8|)*60!tUX8SYAV zlnc$^1|~)eU1pNJQ1~%|g}Io?AyYOzKn1Xpp?BQQCuuOs;^>HUwIiKMMK%(ew2iy^ zF&I{P@pQD(>W{hSKX|9;zNy9wU&<0uIXAX#H0$jgCOnO zM|b>*H(dpYq%auF*v1&ExAZ-;bt4V97CKn6qCuu+0lP~&L?WSD1k47eGt)4Nmai39 zKjs=QUuoe^rcCG}MM$j?5KRDx$>a)#=^X%~qjg4tCm7zTP7%1-XE3l=ohm>MnU=Nf zG-%+$XY1{?79G`Oaj=~8XCbMgNwto#h>EF55KF4{OknOwpj~|@Dp=w0ECHA!dqn~` zY0ttP=YCxB94HJXH;)=KFGMd82-N2-#nV*|)UjeAV<){pAhhn56aBc0f!t@PW{x89 z(g0{tT{<@9H#ac0p!z-o=atZJmg2nu&ft>+_X9ri*130BXLVtLL}$bmLu^YDIEqCn zJ=<}vE#SyNCNUhrtp|WRx>c{9o3Gu79USL@C62a?kO_g;SFm>z=m>6datn7A>4hx; zW+MI4>LGex%fJu~CE3H%LVmE5*x6c5X6NBL6HYZ zy0Z-DNW_I@hlUfhwdtNz{T>kZB4wUbQT@C5Iy>fIaCskU6CT)nae+9=6qiL$k@j2y zOJ|M9p>f)2`GI&NCXX4IY}B4!pt0K$bUukdBB>~vDPh0}fzanH9DN10R7^&b9k z^BEjIQ7^)CGQ$oMH%!vQZ0mMS(0)s@4AJQ=PYa#2-|_>oA;S4XVjv;AgHGCc>F4)1 z**z2JZ`gAQaXOQQUCm9{p|JH5XeRA6Eb4*nmq54RiW0=ab7dI=ilH%BRNObjPK?Q7 zs4J*?CsfXX;8lkqg5g=FJT?VFmY2SZ$dru+ghs$bz(w?_F$V~bhSN(BcwwLe5$Hpz zj#w+~@|Y*Wn{Y)O?c1leI3Uc^qp%OC^iF#I%ofT-%8`5-Tvow=sQW~P5K&H-Ina0-C)u1G&mWEx^jr)!yf6vRB^cnvifs;Q z#w-@S3Oh?Kdk~-$e&Jdo6}DYX>f3hL+SpMtdI&GvP`AgMRoh(<0;8lny!V71rVz%_ zmHB~-Nrl~}z+jG%st~+3<$&@S1WrFKD(pO&5^pr(ugK88U0vZcU; z)1f~~`M6)R%Z2BMbBP>Z+v}QC*q#dGj5Kz~gqn3gcwtVmV{w`@zzuMlnQo3qnJb<0 z@hDs>660~dP0btHVLV%M*KBR4|siGj{|}YN@EFE z8Lx6dsm+lLB2>5>T)DqmSrd{!oq_;Pb;uDN#O;aztbGn_b7pWeo!h}e*l%FT z2x$&6lh?R_+(x6eZhE5aj<45lyUxMUc|rlF6a9vwNDs8J5Xt}z?PxZQH7;gOah zj$j)XG@6g0|KzDx_l&FmaN&3jjmLgxk=~7y{OO^{7_~>wggW!pE-*EiHjR%+*4G$t z3J-MSJ9Uw$v)gq|yfPvYgF!1t&h@&HIA-eDmhZxfWFF8H*Zk;ft z#}50cn;`D*4F-rsC_0qqp}UQqu477sv!Fjo@9Cx2>pZ9kfHy@2Xcsbhyaywsee{GK zlV&5sL&OvJbK#*dpb;M9+vo*514(6v@%je|v>k8Q8E6!H2h_7L7>Q#V0}>Z=?{<(l zEii?R(}Q+No9qROUIEm<=1pL&c&n2M(+f8{0!8ojU_-diz*_6t#y$|{luU2r(HYvt z&JPFX+6JBU;+;rOo+M?X*(TT_!lalSq>0+c*%89Pu?PitP%T6301+Vk3!=+O_JA;O zGiE%hao0G#h{wg`A{!FaJ@F9DdtA^+WQ+0H+Fje}fjmPxf~Qze3_p@*KnTwyP$xZ< zC!lx|{e@uT^jMz2h9V?is7UYS2?TMj(w*^c%Ka`7PR&7nW)rXbeTblwP=77~FyRV4Tp)}ul89f`V_+WjLp&;a5V>VSdzWwdm?7u0 z&fpaEaR-%&QN^$&CnpVQG{2>vcRe`J`lJDEM6;*N>IhHLr!bBWe7)BGv_X%>@#Gzt z;BA=yazJ>sfu6d;?eT{UXwy)dm%ENm^{@eLjtujnf-e7v10tp31;a<3bUKso=b<*P z9y72l`6S7_0&hG#4*xI$dq{52dc)S|X^8mXhia?8iod`6ScCnHM<*^e_htbWaoi^_ zL+5c(7*9NU=GWIel02T>=7SnPlP>jjkHR&(q4a!is4z=_C{+XduW$P3k}!U07)IoW z5PZu|ASQYNF%ft{S@7TX;l)@l;5my#dX#5Ql<+_L*}ZF8zT+cf^SzMBL@pv0Vf9^o z;=X2FWj}LYbM^P3qh}v!wtk>5-?zg0p?=N26)S&KmY1eC%G*nh8GZKW8m*t`AA`qF z^}qMERKtU!U;IKduHl`tzvaANl;zIjZ9rr$s$Z6&`XfWwjWh4<>Q~^?{N={Tul;1Q z%_v0Z(FmuCaJx7Sk9b$ySHzpnWD*%2|3*KszX=xszp{UY{W~8iwk2i{Qi!;}aV-zW z+oId&4oe)xjFXgE7K;46M=$#rzZB0C(w6RNu<{4*QLvdDCU=fgkA5s_*z=gxLB#n( z0F8yG04mu8p`HKe!@|hJvO;|c9$NY-4E}^?PTc}zm*ki5&wdWPhe83g9rGmoi;qNh zPjI%=E((X^8JyXqH{#_tPla9TufYs9%T%7jug6~XH(w^+w*`9q|M{@aZVYFdvM-a0 z{@o+N&Mbl{p&)<7MINF@9vwxLY}MRxfwzEsL}trI$Ii~)4Lbjq{>}b1xB&XHYgSjk zh~C=w=@nJ@le?z18on(3{3A_vmF1OW_Gf|GfY6nM_GE=9|C@=AVk&cX*-LyxW;<7a zw}$q0Qen8qTrLg)H;lbV%XE_8%*i4}X5B@0#Xb_}84=W~Yeb5UC5CYh@@F3ZDqD z^uMoZtUBJ(jn_6-zYHoq{?YoX6D)nvwM|tg;_bC-*HpvJrmz2OOZ7?kJNCJi>{z?t z^Uc+@NU!_CifVY)^ol1|RKt;`|L=)aHeSdqEzX%cuy27ktrUxD!Xe0-#}=lsoPfNn z5!jV%QHE8MkHYMK3-lO(OkXy10^gidh_e?iVEdcKES81-wxUQ*cjisNu zuC?l9yx4MGvkgC$xDaV zgk2Nw?%i$=U!sfSJw6&g0~20q4WFWmrS9o38m>hb=WP26L;Q=q-63UndnB$404Ij* z43GkPd=zj7IN}QuUP`9~6mI+iB!c`DBDgF)BI6{$v`hQ?qENthxfq4FX5b}%9~rq7 zFeST!hUtM-mx=3PK+ieP(vMx=eChcf+VM3M_=kvafrmCe2frpS^kc>OfSXt{*0H`v zEd7J)TkL*66`T=xIv@WIc~fK5M?kI#XaPHW*B*)a(B!5l4CZn4K+}rI8295{pGCoO zUEp=pkQ(sOi1)%@k3m1yxG|7v$OmRmMq!x$c#TiP1igmUm5WjNESL^8UqY44BO1~x ztWzyiBA|k#oG!IHNMOsxJScOw+7qPmh&)z3>Z($rVZ=T7Ev{a5bqNV}NSH)?RkHik zUO$a^_57V|pATK;-oq5J--kE8yhClvy45xQ47PaxD&%lx8R|+s>RNv$$%EMkR|x3R zg|~ojQ`a4m(9d*2U2j>oGc`JXNcrn=?8Cm*oj*&6{M^RX4drx!ebSBP_+&(X@DoQ> z--Jo+B_cRc-&}?aj`dfT;Y+qnxV#!55g%$Hiw=R|I2<8=DBAN?J|c3H zdV@+_NPZ8}t9`WWeJy19k2Al#CWvQGER%Ttlh=AAFT;~~jte%VUT5iDH>{|7y`^ut zp{4p3sOZIqS61JOzjKeaR^5i#^M;nH+bw;zmlUSUj&%Ei_syAEu+?!TZy~Wa7Z(3b- zm!)sGX=T;jcn;^L*6Mpe-t*L|>{~rSjhtdW!=Zn#4cu0087x-Uyh7YNC`U#9{8BRRU{O5%!tlm|LZX}&a+fjU< z0T;P2GYs-}3|9pLw27pDHh6a_&g(wBs=ddLhyOY-UBB0dWKT9Y+pZ<_J|7l7?LrR! zxa)*^zYi<^ZG5zdO^Xmc`|S*4_GiP*UBLbaVGXRtu=-#L0oukPppV~Rp}W5lMZlN& zAs+?1$0^j)@soqY17-N~@$#ULM%?KI8z0$nZkW)U<8DO&hMTcKXmU3?i+YG2B6o=|OZxV;p$1T0`70p$ju=IJaXs|!&%S29j zZ*~l+PnF{QlVX@&Hg|+|o%aRjm#F@~d?blDKX?iwc%%Fz64{r#p?NIl|V`2@gt#QoFRqaF#L2$;^xT_mI)^I;R7&L8)I`HUdA zef^AwrsIMNrG6F^uv`2-eD$<}aWu_|XvG|M1swktQqN#QdiMQwRbRtr6JF7D%GV94 zyW^yb=7?~nk81FB=uY+D*gL+WuIZbG5}N}$2B#`;X9Sdjf#8*Y}`|7Eg@wut(^n$7T!Rp|s32tt zm7jB;%arex(IX^iaxPh|4KQ!D&pWR*0C5OO#5M{lFj$WhNf@H2f-;Pew4{hbmC$Nm zdu_1%)-rP8+C~uzgIeGc&upbz8A@ z&q8ssb!w({_fEUmIx#!5ySR6E>+E)voXbfm4MLp9NhvJUiSL>cFJTQ4F5skS0$~*wa#A#b zM~5Pu6iwjS!+uU0P2ip1C_=kPFeBMGeT$RQA{t@~;*vI^O;AW5;f-vQ6wOCzBV3Wf z_b6?o+fH$N^W&4k9>?7&P6~I#I;D}c$0vn5UV%L#c-O2rY9u#uCd;)rw`lQaZ_m#;HCPBC&Ms1a=&MaNOvh&Dl? zag;W)O;S)CrHyb!3WuY#k#0MM!tI!!lZxXhyltEm?)c2_1Sgrf-HEt^NlpuMJUL%f z*7o^bCUYkRsv&7IbA%d_A{oLioI7}+M&O_G+1bxu-T7vYU?MT+R6w2^K*g>z9_#6uL; ze@I&7LsZJEBrO6WT;tW8#%Q4FsLSR{SYUwhz<^E)*`l;ah*#baxTjyR_$IcX~1 z+o!%PX{mVcxcZ8ujbz*CW1%Fs5p4n?OEv?HaFgn*LSUpT(%mu2V5HklK}!o0^THp` zk$#ht!XDv&-{PcjMJKYI6S3ctG>d0md6Ugb5;(|1JneM)=_IRu*ojgu2i`FDiO&5c^Abfa178 zBk-_N7Fo5Hl8x6@#regzVPgH-t5gMs~AvL>uzPKF(=7(Tb05dvIjJ6kN7N)K$f*>0amc@nk zwNxE!C_KE~rdCm&*@fL6uu`S~L7Q5QOqt?BasH~}B$Fq@h3xE}`H5m-t%q3Gy0&dy zD@ha*(bpCVGkd0|Ie|^cdYt7HqO&t7oaFTL5NIU^^TqMW@rjAz!h-O`RtTB^w-97X z%#?8gs1h4wgDAGhQZP(d*1}ce(^HeeytNQ3lAfV7uL_GwaJEP=J6B#GNI~FINo=UA zuxotZwxX+-mm*7nM3|kK-dAX&{l}B*zL&BLRk7X4Mv+sL0}MIz!oNE_spPmka2CO4c!Ay zV5hwK;=-Qk-M&6ssyib<8C^w*Y#Lhuktz;`N;1Lm?8rpAT0{&&`AViF_Z*`SyQFlP z6%MNp__O_Gm(}$U!USn;OooRLuSB|+tQ$Dh9r;Xo6H{eO{zoqmv-5S1L^ht%dYV z!C|x3S-nWVyue^AdU z9g#(ifn8n2HaV@%K^DI99Q)iMvb{OSDab#4q-2*7m_tn>Q1mjd=>5g{S&!)=MY}{c zPj~;1MMGVM`SF<@*lV13-n!OyvQUm-2`ZUlnWE2-Lc(c!Zh4zD#Z5~lhSmoG__$&WWR3l!_&r*_$M)9Vgb?n$Oxr=ynZ6b)`Vu~(kAU2$++uQr8m z4RhUC45@!5j-Hg2czRgFwayWe^jV1?E4qx8U9uyrH*7@lmG}szj1loEAIO!O5#LkB zAfB4py-?UaYZoTRcaN6|?BWG&O2fQ?0a$|L;n1e=Mdd4{juB2cziD;=~o0%y;jZFW(URk+!qa_<=G5w<&z?xiGQ^)7{hz z9Y(sVLus>AqA@}SP%L0;Ksehe3m=h&p8&10y|8_De%JW!!UFqb%A2MVk*ksl42)Xv z8R|k7C#OOF_Kvaw%87P3N~(l1?C~*c!+zl~6%Zzd3ig+&r>Q~!>mp4d_%wE5V5&Gh zS-}`~;D%3%#vyI-5r2TwV;G%9)-c(Y)Q_1X9uy!Tt!RMK9|7ZY(S?od1X1R%!11YQ z>Z8u!bbktVAFw0j%5d<$gi!3K`~ku2a_>=)VA9cjDVRB8Cu~@jqD%WI;Y(?tDx3UM zm2ieVJ}oU0SK=2C&15)88O%gfmM1t#6PZogFj?z0ZTJ`7}LTYz~p~3@>A26 zuSxaFe%oQ`USC>z@#MQwC>L?8BPbJ0<+I3E#0$!)_u-r``g*agG zX><{}QvW3taK{b^>(rkyL2me@y39!x`ZG;c?k=AuE>E~%hbBT#t(XNr<#1iB{km(nd+3UF_RvPc zFA`tlx~#UZpy=TB{_s*J4^xM=6{DK{W=sd`98a+hXWS)oT#=$$K?gUlWFIO^e01$tB!OXLEXhJr}!vM7>*SEQJRi} z*z#boY;Q(7ta?ZW_@9EkBv9?j1Fe!2_%gfGQK@>)lyOKIh=}!n2nifU!GVr1y8BD> z#5`nq9+_956Mu2Ig{)0|ELi5DXBXB1ZScI3OrVEX5Oc7D75lhb2${W$+cts?FbBxT z`w$~9KwW)^!#UFZ{dR>7j8m3tSpwi4+6Buw z?BUsyD2*(QMH*A=uRuG3`tY?15cwJqbAuRGo?WGuiUbv#(yafK$;BJ(28yWMdT2a+ zQ=W_TR=x6`Lfk!kfW5Q+xC>(0dbq?CFyWquS1!QA2MRd!Y(8)MbnS7FwTS)VsN&0w z1k_3%O=T&9G?gR?_8;4`)C2nV$_dJXPu0uv%xugARY-a}26mzuq*HwPn&S2tn`}~i z0G-;9_vVZA(-OSH+3nb7O`^>lz7_6LFE*T=(ykKw+s96F1eUlq`n0#pk_0>)TaU)a z*#r8xWBqMYw}8ECe;S8edGnT17}hQr%Z1-~;f*c63|_*yM89_V_S4r4WkpEtKrsSp zQ*SCOYB4Rj5~C#eKZLBTD5oI|HLa)uLiku&QJ!uOr#Fw1OSIj(n66ZzST74!NVjP5 znk~LWJNVLynf7f{_}q3Oi}-hpz&Ug7xJlI>i2(bl8B+_laR4%W;PPx!R~*e$h5Z%i z3i~}u8V)mtcBUe+J>!t0h&FX45yKr*#uqTdmfSsUYPTV*AOd-FT&7f81eUN?@fZ8F zx$*h&UHB;&%s()bymQ(%b&boJ)~rf`pl1VP#4&spFQKFWDj7{(+&fXkK;C6L2WM^S zTBqO&nxZ;+np&h%ZR!;si$#T>2}sZW_r(?D%ISy+)!$5oaPKNp4ny7MC!yQat6cI5 zZ8c>}{B|G@^_p9~Tou$IecMwAr`yy4$yBlG@DqEDhE7a_3X_IyvanJr)F;r^CL783 zW|L2}St(;s&r*Dwx|{NmVocw%lfEMj2jT1KBIdnPnlE1 zBzK@!xD2JY;@{vXA+QXrARN0Cuee23L&7=Qk^QHU0X4t@A#s@Guw)RHY1YMfN}{8< zHuXp#UxmKr=5%L=^q$=|Wj1k&)UKZoa;ebwJT_kcb75`jiyi~k;vyAb9I7Dk4-(}^ zYL*H?-OUJX z0L~=sOnzo)EF3;bPiMu)#Ttve-DJEMv0xR)-prQfTjDDPGp3n4b5cH2Ahg`WqEfBEgeiXhoMjYOHlE1;Nj=19 zwN2FpIZKxU#bFy6G{IJOvo4~cHr05H1^Y)-=vlj%6GZ>mIqN}W_)_z!qfs(J#RwOasD5; z_FYb5sjJ)8knPz-B{i8|paTMlYx3I&8t0U(m0($np445=OD}ozzimbBCXz9P^D;F*CzH=IbvVn7|ElaJNMPAmB zsLk^194;En$)GlMJ{61!jFaUV9gI_d9L12}Qn+D3uV=7Hx(E-lRvA@N`v8*&F_Dh! z(wB+j_P<3qa{f~B`ib-W+(e-`vwMDD8BY%d@z~gyrj^N5kzT2spPiPxb2eSXTbmh; zVzS0(9SVgjit{r?gDvOm#|D)jWXoLfqRxD7c9HQzmN3WWl#-m5muz5>0D1F$$JK{M#(}B0q zR~Z~;GqW=ed@+7PVsn|LJbl@5fCRSr8SGQx6P}r%rlu2|A{x8QK3jy$u$L!|u;&NE zf%zh=J-q*7nE0nA2RH9T&(IWMRt-!QJk|NHe_&`$&RSIwpj{nFn~8=Qfcmr`O?e7yZVIzTs@D%)|!T~H9Ld)(tEUykD|PIP}_@=8)?!N z-Iny84av!KJ$^@a7uKF$h{CQ!Ef_s9lRY^(k4MPn>Gm+ah|R|3!sJ!xuLf*096JCQos7ji?raa_ z6*d=FkZ!(bW{Mno7=GAII?ILdE9+rAE)J2wi9htVOY%foW%j7kNzk2746_{33Q%6Q zSGbSNXwEIrHjlCi3654=j6uxIO5ITSs)~g#R`s&tg|I{bjDM-}q5`y-UsYTXJ~kG+az-wJpAQ4!A^M}k27V}5uMVe*jQk{iUJji6 z{|Z;!So{U7YKN$ugAVe!a?cc)VHVg`gltU?FX%oxj@5Gd5DY=HV0%=4zJ!9Cix`0G zYH%GEyD%|3Slk`kH6EE9pR2S2FG6N`^K=#%V>Y`-O1NUIg`A3%pcZNQ5-L;NBErCh z;c%b8`zs5($7dY(vfoWdT@JG$qYXpnA&EAXb~wOP!BTQ49zF`g1}CDs3*Hjt%-#QbDD(AH-Wk77Tc$1$MOCj4eRnp5d1WToO?{+9Y;um%+;bSgU8+T8m+{9!WDHBl|H**-4q}li1Tt5u zge!&I{ti^o#!PdVN-)Ku72x@UMaY8_WPdauI{^!=QRuS6EJb%IW7C>i|bR} zh*y8{+A}^Og)h-$a(F}d2zgrgL>;-krvBy10!1EQY{MJEc;7jW2chw<@JV{t?JKQ1 zear2uttS1z?Q5EwnQ&kLWc~R;dfr|B3nkS`{d*9%>X#j8wpQtN2Uc0DbqfEk(Q^k@ zEjt+*(^;L?wV~7aXCao(N`92o-kzi{&48ki&W7c&?DqDsAlmfz57gJ4F6dNFGQlNG zna#1@G-zs)hT_^ z8`oHAz2}W>)~LSsjVrCJeiZ-a^bg;-%F1i&O-3l9dfG_6B z7q6)pjEm0pW~uhv6%uD15-EACuj?bENl zv(>srzyHqGrPmTqebJk0k03@#b-n)WovSQcAOGf)8*iZ5LOv9wEdH(d-=DsyH@*3R zs`Qci=(mJV&z`+?aBBC^o^4yBd$;XfpDDs}fX{I&7B;>-&EPZVCsd2R`YjvnmrQ=X zI$6E=Vkah<4wZ;y@SJ)gh3~fI)l23OM?RU-=mq=2rvA7Z(KC0o=uh4C?T?&u&wKDm zwtH`W>GFT{BR{w|TXn`uF8;ep?|S=}Yw0QY=*Gej#?@FP6W^TQs2Z2(-gh*=bWVR( z`u2CUymZz5g;huDQ^}(g5(?kU8N-Kp6hLQL_@mlSIO<6HOaEo@t)Q*=%FdM94Z1z} zj?7kkv}Z5=?!{+~GWb%=G(O8Rz6@WGDXK}mw= zS}mwnHO#CQfa%3|kp92kt_3)b;!N*I7;HT(*(-y=&-jHwGDwys**Hf$yF0r(+S#4; zJoGxdHbS^ix$)7#zi_uqg2{lB{9zXMMl?IQs51%|N&&(B4+ zh}Q4-Tp>s=T`@?7CpKImoc`;HTdxqLul}GjdqpS?>hFr&8M#ON-QzcIzg&p-AS=*t zWH<2yR`@TO2ZoWbXD4zA4P$+GVyydUq|KK*5_5|;!o3&|qVE3_|B=hZznoGwXtW)> z!Nzvm%~bPNq&_r`82*0e%8tl7?4Nc}w+|a~3-=B0qI*E+T||qiZ*KhG-i%|f(vJKB zFrXEr@_oR_gLj2zyp89{D+l=?XU{zN+0cwJzdv4%lvDN|aN@m@0zQeZ(~S2=(`jT{ zIt6sMFBgBw*%H&;pv~^c2(9Pn<-#qeOO?F|-uetHfVc3u0>6Qh5a*t(Q)Y@^KY4al z_K_)VleYv4q=w&)L>62ve)H7J_0Ax?2c!>i%-s0*{{EDrS4}tq2;4R`;fPAvNT`vW zp;E|a{Lh|VRZ|zUc?4U_i!bm0bhO_tILH$ZOUTkZJ6T-X-*qj#6m0-WmTlZeF*F!t zhMKoEQFlNrjm2#}Sx6a!dCtrW%ZWxqtxf&&hIr&aY&2=<85MA+$t;S_e)3fnCo-H3 z)+>;i%Fs$3Y$QxXy4WO;l(t%Vdln{v9xrHRNpY2kc;&z?Z5Cyy#k;C3R06kcHA^W+ zk!MHz>cFj|DssTbRJ|8C6-woBUfB@tz&vHB;Vi^ujdnVtm**KSZ$@H!a-;AF@Cvei z$2260bZx@jD+Yah!r&fKN;ULq!&@5ory9{>u8{)O2)b92;OB=hM9NAPrZ!H^@DzK- zqTO-uhlQAW#%g_NIj@p{h)(dkdKNvWXv3}szPY-!?F2InL#Tx zI8=}iiPtJaHL>E9bh%t`8>-Vst1X}6$75}OVz>hu(09S2VENLwig&Y=;Y@DApeSA+ zYagYl4dORjg>Gm^+AWPXv{OlgtZG66Ajer@NF&+CF^Dow%c^-d0giGZ_pobAl37aK z(G(yffiFY`vE(!(nBekEAi{X%JETWaQ{6t19~Dv^+_7eguu;KgMp_VaDUS z0~l3gDRD;?>@a&In4cc=ylST%vs^sZArZUedy81GF%RUiaCm@rqVZt&Xx`2BsFnnrOU)*ItRmkO*B39Lv} zj)M7>Rt@558@!A0G9fzN<%w1sv26%2e;zhsTWKsM?4nR-zpr8TLAKcZm}XI^L0V0I zi4hiijzvZ9!Dzio+N_Y#AWrc8rdE3p(l=hCipx29FSf=6hD96hGdmO*BD&f!_M=N&zTfG#%1R1-2VQXLy|Q~h{D z)^V*2@c=!wN*s>gr@{EB05Om@VGe}3u#)P7Y6i-(%C;QTr=`fCX}Ph$&Zro6$Ti%uQA<7MVQYYM z`q)x%AjBQ=T*P+|j^7kyclVRK%arv{t!3`hw#azy$GdA9Jnsq0Hl7jBJd zFf9!hw`=9ZhtF)BBYmf=Yd|a@-W_+u%4ZKQlWvoqMLJ8u45u!E+hjXVbAf9kA!Bk7skMR$?7`?r7mLQp@$oB&tHW!mCGg$9lG_CxpK3G zv^D;s0oav+(_xO1z0Y=3&?=5Uut2b6CpI+t z8jp9QSU>SuC=ob2K2`yAe=5F;$*b63*u)hbd@ZBJT{U6yu}m5AaPdMi-tO1nAcTR4 z?@X*{mm;|87?8pwq66na6$d7)QHU~i2pbsZRK^t3w+sU*^2+3Qc{@p<6eJAHXD|ZG z?8*)-qQV_+2$_GLh>DrAAl{!yEcUpi59%Ywj)Gs}+3$P0r4t1n$J+x*63v5!e4NkS zxTUlQyvrct$>&Zh4J@raaAMBkXf*D^Ys%7*rV6g70XoI-(Wq!WEY|u91YzZJ3$eYw zyydIoxk2Jbhj+A1K`IT)oAK%_4{h*ul=0dButKThxJJq{-Mm zmI{YRH6VE4tpoc~7k_fo_Mr1VBAa8HHjHf1{`^zdx_Y5<`MY@eFFrqirJU)<&$vr$ zI@Gf7h5JgAE$!1Tn(X+4FU(dFL<&|b<~m$1xy!t56hz1XuVAG66(0OPZyUr$gCup`b$`*hnSvLnbR#$HsTewYmc z2H_Ptd)CB1zj)UYk0EgvS@I*pKqa&dDG-r35nKH+l=Ts$m)A2p?LBe*wLI&LiTlx| zcmp+qnf9M}tBab!GZ5sV<_*)4M4GhBvEt89{^tUZ=3aGp@L@ooCmz`|OZ?SK=NEeY zpaUFILKeA>p2E3<(b)Qv-!7@_6b3lL>|nlpuBOS;#VSs6Z4gQ#a9o_oPh;_E^Ghk5&G81jwh5G zLF-^lKljBsV#d$5imk_I&4iVt=3xSiZ^r*J(gZaaPADz_)nv?G3UO7jd1nt0lVNHL7@$x~`g zqi00J<_0iv+b>$>V4fQ%w*2B}P28nqVu;0W?Ow}uWf~i=uf?f7xR%W4GCPx-#KUiW zX|^1VZDSg){_SN8+494eP8KKJfvhsB=@Kj6-rLPpo|jIwxGLZcLW+QDaB0A+VXK3x zM#TQNzug#fD43i!`+4m)oqp&#xpql4fm43CJla4WekrcLJa>9oG>g>SITP_pcq_1B zv8`(+|v-bvSCf*dYc*CpI{zInCu>c{`_onB=~PEh&|c%h3;;QnmE ziTk%Zx>!kaKen5xm(-|Ph;}27@A!jC)>zz$gE*)Z#=A@ExkiRg#P)X|8|CkTzek{$ z7JV56Y}hF4iU+juqpQ?wglf?XhATzZx^P#;r=V}%QT4W4cNa#aqCHRIr~GuY6E zT7KreCl<-~$ULQ&SPXL&+lFHEnT2)yl>?1p+nM2J{wf^;dSh4|KNFq9m7cjlwReb9 zXKvoXwd^8Oolh+&YH&xKY?ba3#SoCEusu~Wy+E1-^fx$`s&LE4qiiX71XG9!1*Dos(ctyOMdTtj@=TFS# zZPuSQ4b9VNIq~xOJ>GE;4vBCWW3cxVGY2%W@xt;p+G^OBmXlBiZ8O=AXfwdkWt)Ip z(#=J!7`U)WPK1MTRI~3wTuLP`utjxmUg(wB`6mZd8NJvhE1^I6B!DV6T)cUyTwsdx zpk{qnFe>|))M@L*HF8jnl2Xk>7uQ7jwNPA?>VJ4~(Mqmo50}76UryQA#cU<~jeY4}~Evazwws`e-3zpKoA-V_%UU8hMmI7h+ zPrv(OlN5N`K-|FDkeL(t-?z3%K?gT8o(7VdiLi3t_~(BgziN3pfvbqnuXvj-_%Ud2 z=zdGhtFVB@lOHUs#mM5s2e!Aw2|b(D62S`F<8}XbylyqYD%BB0Tnh|CM8Gv+sVQ;n zqs0vH+($z#5?xgHv(2K~_yeo))<5j6y=9u)JRSJMb6kwVzgdxy&p^xaARVM2p8Z$l z^Rq?~x1|eRbP1`i)5P_@W{0tg5u(+m?5Eg;SRPgIrKoifZ zeOgR+_%vd@oDEHrjy#8;GiZFTnpSKz9n1RU^y)1b8}Kd=tF{usg}~wib;`5L2oeHm zRuXy@km%-Rm|O^?7H_Oqmb7~7?l*?dVq=*Uhp7E`#iKjt6-VloEge1wNn1v<uuY)OVy~cw$YXvT;V#9}!Ue6XxR9xyoWW;NQ$u4o+mF z%37t^HBXr*W`3t(;zWzGuBO;CUx^l%%~!OElk=4YHS=i|$u@>WUDH9A>8^^*#Q!NV zt9bqfWyO4)pFi0gi7dr)a)Ip5|87$b*L*mmczBKS=@|pK-L-vU z=Pk;8H51L9N?(ogVDZi_Wo2f$5qw943Z3wzC@!*Z&K9x5nXw~1JP%x=r)uWN-=3t>CEg0yzSBk%>uU%Xlc~vPc z!E(s7l?Dy-MQO|rXG9_ozoryl zSfgBj^+|MobZFd$Cn7TXc?94E;g+44zP&%ks2kZqEyqcfA z_X?I^e2K>7rKqvJlxISsG3C9yXjGDzL=)rxd(Qn$S>osa`Tz5l54&@|=iGbG?dP6b z=C`kne)^Upcekopd&awyBgp=__e)NS%vjvNb=8)wi^E%nHmuyZVR3ZT*3-9b+_X5d zefjpqE4OZ2yK2MYv(|1}yk*tajc06Gu}T=zx2!-M&)i6R&Wh#|`N;h6eDbt;sEQ~N z4d-*2WGL4S#7l=UlFj#q5~2y+^PCIIP>dVZqiPqyGR~d|ELeYFO7U#n9c*%VT2dQ-n%SR3R z2}fN+;~@gk^k9mE2B=BD>u@=m$y#=!s&}-IbpigWR(+DwrN--ov&AuithaAe&1#|* zx>>o@vDSv0m0KOBpLe>|BnZ4^7eYM!3{eefo&zu4#rp5Xnb<(R?&Ekce^KgRDpQp?re+_9~a^)X!EmI%g2du13`! z0a34)P9|&GlWM$kCg3M(mD}3*q&iHUqGue|>X=2=olmNk3A4*-C3-oncsAW@r{?q0 z90Yy6PSsm)KdFv!hKkgfr_>l{*ibD;qhNFCq$ud?pooEwJse7)prX3%@JT9$-!*#O z;YX@CK2__h4%D1spdmCjB!99X|D0c|%72HdGhv1@F zyN~)0!TlodrvZZ(xE8aVa6lLV8ayOGyWs6K{}5cV)80V~4#Ck%kbxjAJOu9)ypt9Q z9*ZXW^3ncY{rnN5j^w7q+zt;d*87f_l3gM)7;gF!sjghUE0&s{5rH5r{U_F7pRhV9 z|4*#m5VL}9v`qi}2)7!tJ~&ggI8G&N&ogN1Yjo$xCTAP1)eA;8s?(l2bL2ISLK~@E zcX}|N&csrKi4;Z#LN~R+1e%f!ddX{p@&05o7sR=4! zGofrO)fY*obI2H??G!ZK*B#3)Os9LvTc8;gf~*7!`p{Q6xCr*AMAT0+Ne%SmlV&WT zw(S_Z!vbZ?kQeQprR@F=As`s~|WF#32Wf_Q|HF4_MSYLlO#YhzGh>=`(0;6@?c264`iYS;)^<~q^0%IOD z62@eH1ns58LT5t#xfl!hXo(3F$|U+iNrwDr862i3lnOB&pk+dLhf-a!eh~@KPzfp` z%LSR+pPDP7ItsKxka!|x;tkTuVjv^ZNvi}vLUR+GQYWnzAeM`SGNN9X)(C>uG7!s3 zHY0SJK&f=90*%t?g4$y=A}hpboj|?mXe=Via~g44FK8|k!U*5C-P=YR1;}I*X)bE7 zhc*e2ip}Q)F}!XTI+ltu>7y+|c4PEp+D}`BmPr$IfVK%;=+7{_oz4)_%$xu^=u81* zrUV_NvxLsYlCg*+*h$+3fkr6-LUgtO7+fO#=mQ89rgKcFR49X9CSnmfSFl7XhqB`O z_eSYFfue}q1dP%7g7A#Q5^=gf=p=e0=s=h*6*_Cv5xPw1P$rXOev~d3I+u*aID$Z& zt`Q*B-wWHJ4G_lM-J}X=LI%UUxV_y&dn&}Z543yfx(dk0kdJf)Ht*0h-y_}K^6(wSw+V&@mnif~vu}^l?FLJ*waHR(xXRXs7$Bz1V#5Ue=!Mk&YNP)YBwIo} z^p>7CZd~V2436QA2XcfC`RJ!6v^|iA{B*zw6@dW#jFgqRK-Dz9Bb;zHJ&182A5Uio zLs@Rep$__mer=rF`7R_sgrxeVR@E-&uRzW!D7Wj^!vfj^Tqr`n(V6Pn#D5ESAf4>* zjpgmpD-@&OR>Csoh2r!-0`|f-388G~_vN{Za6N?E=y&>w>V~@aDkO4!X&y?#UV2}@ zTixLPz3`Hu{#2x!mv>wQVLyEUJrC|sjfD>@`52hEg@oJbqeEbBDd7$}C@|Nu$c5;W z5|Byu=U6CApO&ylx);U{zzF@V1okFUMlwo&C%vzxy6{dBWTcHgF9F;r zqhT7UxJ$Ak+*_g%`cettK8&$uR0-e?gVEy162M(18mFUdpwOES%?A|oP;E(u7sY_Q zR3{K@ELnIk=A-%&hP5gXKe+_SWYdvYF4q&|kuMgY#*$po_=vSrixEW~#`;(cv-?DW zI5*iC>`O*FX<7-Ki|K%|5KS*(nGn}NEKDa=K%#Pl+A1I}z*v+#C1@}g>C18}h{eb& zXn_-sz=#nvPQH?CsIQMFvN+8D5(XOtotRM%1xjcno#8ykz0_X9Lj8T**W*6wC}FWw za*#1U1xr|g4L4(~#RJqScroR6I$7vQ)~FZnpqT>1=G#D!PBB0>mX34Oois}TI5$M4 z5X}}^>{IZ=G)HI{Js~kW3h@YqOb{v5c$C6IO1aopV?0I?r3Nv)!LUX$Sb4TlN)TAt zY)uR1p|oJpSPtV2rw=(VWd!U^57=TpnkPsuu`oti5eiUNpptbiXgl=*4dr3@vDJ>? zG+zLl^w0t!BgsUh$Hu(0P#^88DJ+)wdJ@TGJdNr#x&z_C;)jP;Eq5~8Joq3LB~ z(QJro2x^BZUxfRN{RS{X%LMGgGN=SbX{ZuR#!_8<-PTb{)Db5x7e)qtC2rP;AWka; z;^l@(A9LqQrL5*w@Yo%H@YXPP5NtYw|kpN7Rw&vpeXB! z&>8w8cb)4@VfQ6^%hoRK-? za3W-LeW5(Xe!tP}-esaq z!`7`($k$0%>(-`P*X}YKO&{w`E;BfWv`#nGIj=`tV>YVBwKs^Esb6@s%<6=vXb5-E zmxY^255lh}5Uf_EGK1NC8h${!)qIZgym-Pi&xv%K0doC0EOMh+*fHqH5WF49-8oxT zJMX}UkGfS&-JQ02nFY~MA5U^fFGP21PqVw`9^s|ZeTldk0{k(0Krd^asPoM=JY&E; z(^{F8q>dRIm-EUWcP`4 zU`{=+N4M72zhHCA;|I*uZ$ReSb5%{-i^4_P+%vcUxL{$iep7JnXBFXs^zV9SYrXS3 z2)*-sRqy;RKI}aoCHp=7T5F?vNx#?XcE4;VXge#!25V~z1?UysGQQFIeT2F50{D$z zwdHJoMNuwDujx(W8`bOj>hW&p4ds(sxd%cD@fXb){-?euNL3u2fCVgZQxfO67L{L4spk%p*DMCfM1E(;xM; ziFND#ENn3Y&DiXL8|5#hB-uPH;$Hfz;5^8hEW)Aki9p?@g$8`Ne)?3vfl4qye^Ywz z#A@f?q1e)^;OYHL>31jAI{yKB&sA!i<8!6Q99!cghq9grUpe(0kRw2T$Yhn?d~BmS zOkZ396)5{$c!Ux1F+FC15|PS9^1*W7dBFdAuz3}b%D&c5FRB-p|4<^;u2Si|4r}M(!*RGq7ce^?alXEfH9g|{&79r}? z^Nz2tpDA286WMQAOfo{J=$*&Ar_3q`EjD5=yn-RX91}J%k{IJXnACgpcaCp9KJ8F; zOl*b2s`1eL62w+GATKS@qfT%+m!Kk>cB73g)pJg8P0LGCJf9b9z>9{yTu_*U_C)7J zJ70l-=j~Rmx|Oze10`lVtpf8=Fkvyhae}LUtr3YP%A>0n+OE^;#5(7C$R52%)lT0~ zl)^Ftt`}*|UYH>pi@5El!#;?gHtGC{^|hOetUh*!bG^b1w?$u#XtyHT+x9?(ZTiI% zUH&tQlIRYltid4IE;t;_FjLSCibk*(yGCd0(UV=ya}ZDKbubIg)w3rzsPpuq$qmjO z05@KTiD0L`c5=P*LXdY}r<$D?;lqoJU##DqT;se1ol@_-3gmb!#MLf6 zXG)!Gw^4~(1k8A2e0$*l*rPX1aTTr?ZYm<}zJl+i8-xS@AZOTzj&O$o%pwPfhwc<4 zgAq?k#fR#?%LoI&S>4&Gfoey(PuUBs8BlvLS4Ul=-fyieiud>C+l5H8OpW%Q4Z0%Sx!K!0L^ z;&j8$ZOqbau0SQ`!7K2TsDI$F1Q-0B!T!!y26?Nq&?d~pE@bD&`u05b{M)3=W|d5MgdK<>2QK~>5hd;$Sk{z`qGD^m>@Atzv~&-Io;-4{RDo3_4Io*(izX zwC}`1+~y%JEYl)=;@;pfq6?)tZ2ysKDlK5e4x~6`1T1=tQKNpECs5g03@}Jp0V{SU zVWQVlPS9ai0Gd+29^f1_tB$|Z-R9T_okcpT-QByAHs z(w#{1styGuKS}sEMg`mrX9{;9kxLk-5K7vICl?dOPWv2F2; zVM{0JT$6}BnsMDm>}bx@uLbJc&lf&cYw@gcy`ju)feVZVWuqRZ8~-HX25D?}HS7?6 zab)DE(QbslQ)k*6)rER}dtJjtA_ZTf?FNT{D3_#*^&Ra^>Qeo6{Ju;dXm`1<6j|qVh@R2eiWz%Rr@LXFBpjP>rZLG1 z=LA`OQtyWBQ+h9cKds;BoS>f3f9#y-_=;24&lvA`)~QdP(d_uDQ!kp)vq2o^`I&%b0<=-|@Sh8sN|)Sz z+?C%JFbB&loG?8YbxQ9z^+_`u9KUettruCWLKa7=xYkXG6opW5*D@n|~1?%Q0ah{i{%eY>r|o z{X{6+gJbme(We5&Qdp$LjkbjKz~2Pzj%Ilh4$x;pVm?B`1n1~KgpMY{0|A0WM~b$a7ul-SOJ>!(8id^yO<T71zyC;rNz43g7_lVnk5Uu`L{f$}m zzT<>l+FWNQ4*^MSeQCf$1XAl|`?y`wRy|n7fevA#JH@hPm%C&wNkQQi2XPb5gOD@yx;f42WPR0~ zhQLgb=}%!qhp*Q30Xu~ggO2sqkVa7eQ=&p+xDkyhCmHK30VH?<6!uwoXZ#R4?x@idU6`FcfoV#5NK!O5#bYRi|z39Y-rZnZ>zE$nhF zHBxr|p@sb^uRjR8)G~cUq-oKRktr1)q)MNc8(wjW1*`aR#R!$dIaM~mG4Vn%I!zFJ zO&dqU#LmNxNKIj#!EFOfq_GrUFDNgvOZyRVJ^{Hw@Ju!~P=N<6n}*`T(*2KAC<$6ypTsE2OU%i=Ys-(+~bxPQKsBhh<^L%HZ_U0|t|!Q=m3_ z5b`fPp=uf)D$3(TS{7qtjs*fidKd!NLcsNi5n#QFH5F*5N5Ni(^a_uG9my6~Z$57T zbL?J&CBm^#FQN;;-?q;{gCT4sGJ?$!gWyODObmts^pt^MNi*F}PaE3KdplbHGX{~p z51+T)?5F|h^83emsCZ2YB*&rCp?7p=v?}OWbHb)um?jp(^Wjf zYfQohVc@7_SQg&Kc4z|F%X=Q?#0U;Hw9&DG!BbtrJak-9j{OOe3!I{wbX{-t)Z>fN z%t@KE0XRf;f`Q9f3kT>#J*T(MJ-LE|{arcIgLFG^PhxX#ZT-|@d^k^A+#(L+#E-tC z*X5jEg&pRd@L`{%-{`F^w23V5*q{&FCpN-3&{Kr_3;6)-)=jDE6FY=kbZNImIw&Ye zytj`dF~>|ILF~FbmU1~~AT!G@!nAO*{za-$&D5Xa_bJ+)Zf%?;!B7P_J`+u+$XgNAW=*YOU8=x644;_79%@^(@80Pex?xy>dl!JHK?D-p=JCd|SSnLZwG+Ok_rFzG_@eO$q$@J&ChXuwt%w_s(^BOvagx|Ly6YC9Ov1hilGGxWL6R*&tv$gfBL_nswVmR)`tM$xmec{wn=whVkj7eG}aK(sYujkeZ z9+3^9VgT&1BqYny&NFnnAIryLoB=vtzn-gYEZBirUnGT8OA+nRs;{ZAQv}dA%r0>| zT_`~LELR6z1VlzPV@7dya8BcN^d+Dm8Yz6A0T|l!qCxD@mPl8A} z;ke$_A}kp(P=Ky2#+v92$r=J0wA1cltQBYncHBPftEA@;}$3TnYp(_220r$WoCN<;YvU^8c8wU7Cg&{5^ z+k;f%qQgICxZFyj-RbPYVn0NeNz&t0x^1w*@kEvG9c*;$g+7C>rhO73mBu19o+yub zyz2i-mA-4R&hc!Oer~XF@T(#y#XYy*oCjgm#U1mU;l)BpwxP=n1bpez|0eugf2s%9 zmW;k;UjJH^o;JVH@%1X*gFnw#>9zBl94}Pq%kk$MRr-PXO;ca2Qc(=d;hgL)aA-Jj zUJ{U99qFhXNau=wxk`UDzk1p$hF3bM#sk{-1ry<71#u2vtHx|~nyl><&57|C;lPfNx--D%(T2ePb2LBH# zBF0&j{$8n1DXI^v^qfU4j*qJJ&?1-PV3j^^QB(aNjC=~!B!}sY<@U!ay>HPt_s51Q zt6Vd;nPK}c=#7hJpY%zUiXhjOeFeGx+@S0&EuK7)ZcjS7xIrnsW^vO9$6+d>_bqIi z>%<3pTCX%nxk-#Ltl_q(_${jpr&z9%@5A&*i(Tq){iP)>>Igk~NpoSOk*c(&P3A@! zMzX@3=FN~K9eJ3_L79qv3DetPMO#<~wrYc6!Ynm;$zhGbc{&dzPrzEkv^>;$t>Ku- zv?37NYMuUYiA&Y%kxM5im!7(G(h|23=AK$ID9|n%%5YaUVV{$Q)=h^gUZ&)^LBqji z(nLKRYvZL;yW9nj(@!j|aZjoYk}?|rG6Wy5-(Ko&Kfz|BvEj;N%pP=LEuC0qNNS~^ z;7!)k^NnhX?#a8RO||9hLl8Jcm!xT>G|OktSflBBPu>la`_X)TLt8n1ED7OQ=FH$c z6K*E!ck=E!pUuZnc;2a&?!Fu+l*TTrbp{So*80WDF+FS?U-!@FwQW~M{^8aTzdlZQ^;Uu zPa8;p!n$c_U|Kb)Zj6%Hp^X+t*dWy!5MJmm*<0ZJAWfIPbEvl9Hcaf8V8t9R9zJZN zCQ?~6(motN##JvVA#?yb&cFkqYsBjF34;)|c+; zl9^QMVJhx4^hdya_&CJdsD;|<_rtpi-Fc7w-Fz9n1 zLz$gyu%gEnPS}}H>9xyMZQ~r=l?{io!;6gbiQBQ(!3R`zp$mcSK?o=Idd$!YwR#L* z?)zR!8mMB3pk4!&%x6EP3^L4grnCX&6oxchKi`(+bUQ0eB)&7tAOiDU4-_Z%!41T- zOHn&C+#J-ubG33e^cl8PWX0+erP8loKecAjfZ-q7V&)qdzHc-NvypexNxokw>KDFvc6CTWBPfrx{V2!eLjmwQ2vCNQRts*OaTBY}_sdM2vtgz8!!u`>x zIhPInPt`B3sjFUNxTOMx)@$|qYg|)sL6(ET!Cky|#mfp>M=AsLU{}}$iQG?lMe1_W}2T={Lo8akb4uBB2}%@Mv+v3#EIF z9=onlU8|?9Yf`&)&pKDb9wW_Nx4ioxWqO@1tgCn8(yDdvK^z&mLGN8xo5HnI&I4;D z>k)hHx_Sljcat3zA15gnIA1X3Akq+uEr&ZA?wDE`#O%BcANJmaqjb1CYR!2VA8>8d z`d}~4)ZL{E>+9=r8x+T;;OWbiT^iU3zfV80-qm=&Ve(r6$xt|!wEJn0FNRvT=M|3a zUALjZ`4Fgg*Q;9hBSs$Gredt*{h7yfYD0Yku6c4=(z;Nzw(E(zz!Q4s2DfjY;j<&u z9;i4kxZla4_?ExiO|-+w;P{k&Z9}aScRZ~n594&^Gg@t|Q_t%2HZ@Lt0m0CmDjT4e zzG1+MKI5eq5qf>Es#D+8KilML`L+>(FE$e67FH}))Ej*lqO(uM-JS30lQ!2*dD)0^ zi-mKR&oXn1rB@8hW}|60ZS<<%w7JIpnqlzM1Ibv)4TUVeuJ71f=X?XPA3Omk?%%Xk zU~761ZcrJPctH3M{oZDm`hl+6($eumBUIW|mB9$<$?WhWTZM8p$Taa|q%eM;s;$Qr z(hv%#atZ0-yQ0>IAyv2ZfZ=kxwQrW8i~0GcC*Z+qB!NOx9A%3U z)8Ah(0^${nVIvc21D8J;E)Aq8Bn*JK{;40?*3k8L!(~$gw`*iR7XdEG&j@!{a(V7o z#hfT55SOAk!p?=|z>)rgy{hH}r{PvQ#DX-!fO23CEe~Z>rRSdER);S6orJl?J`AwyYgrXnN)dY9wv z8XL`FCk5*#p#GKc9ogtY>@u+63Y^z7P&kysZVF>7aU{jYFrsGrb9SUY!hy;nBh`gM z=ScAoN)hZ&Vt>#Gqc{RKjE#^GvIbe4JBB4A*~ED-xMZaX__4EKgV{97Q$#&OIKN_} z3vug*LkDOctQ`p+4cT`+@x}(s9fRQ(VmGUVrvqT_7_1+j1VGp^g1sXUt^i_kkqA3s zzP6lOQ!(p(2QbwMNkuY&wY`7gEIJ z2z!B%A{tA>H!S(Y3p-JL@Z53Lu_6!q*s@R$Qe1n^s|j`4jP6)C8H@4Y!@$mxsar4G zW(Hf3?OMQ29+)*S(*%PLbih`x9q;kjU;^6-sC0<{&uhSD6X9NL8z4hAzM3CUv2kahN$Hk{5T38iok{Q}jbNULKg??(+DvlAuBhn z#L&%Pei{%hL-HHwq*IGnGCd%b=~>Qiv{-xAsOl+ei%hf)yCV(pb1f#8!4P|*xr9A9 zadPL*>H;iM!&-o5$tUyzL;O68V11!px%iLm-wh?GPZo1nEN(19u_OwE;~b(*MXWo- zsd!fL!!0JR{%nt3kgEySu7LeLR{a`v)TFINIveGPFimVLA`8RP;jmymL(jRWuHj6q zhu|CM!8jG`hxubn1=@iEIB7bpw4L~{H>_OF3-RHN>3EXsVtn{MkmgIuVa*Vok994; zb7C^~U8*--(&)SlvhQY8BQAzKdP%eM3XmVbQ^eO}m;L_mh5hSBv8T(m%nU2T6arYl8csa!T>i znC#&vPpr2hs?iC%*V-@_mjxfiho-c0J02rlxTe+dIO)5tX>>hN4v$y&a1oFT*n@XX z^rCAUoG^Q>YdG|i_%I`l%ZE?l!>)O1f>^dY{Hn(B4Cxp4G&;UQy7RiGz;osJdWvHp z;`_HUjDvFJ(G9GxA;xq&RQ)g68Uk*=$|ar%rHwA0KWRL@~UI56{m>BCp}YD+`qS zxYz$VZfuIegN#Q5xJ;MR8xU2CQJ65It#=kf)&IbUO-q3M03ZIc1ku5Cwk}(ynjAkO z{e#;kIDZWKy&*Kn|0G?1d#mFu(lc(K;QmQPVuP^N%oNXdvVP+BX2${2`MVk&KO=qq zU9QuAUKZ}>{$JS(-aeEUK_^RM9%q%k^bXiqP?nC~0i@s9SaH70&&PW*EDk$ZpK?!w zbk^lh0%$;wzx{pyWO7hWG!Ok666)dt}+uquhZHYys1b@;y0GiXTN0 zoou*x?Ha=)Ka64>JxevT{?V4{E*c2Ka_}+f-S;*-{!DuBy)BNv!Xm%dUHF95cp}BW zSFSsC>-06`AhlxKy7<~HTeorcc$HHxP;$sdR)oz_A*G57?i*>3rw5DJYpn+G*LqZSjQkuNx(qp z6w;Ig&NRU$2G^7XPFceo25FZB%mdiMOxubL(J6+uHCs-zgf7@c;aS19FbA-eTgiqn z)3$P}*al|W)^0W1zgvb@n)or-b_r>shs_D|6IxVD~aTxF!L)(fCu``kNv^87KonVPSA>5z-VU?7gi*nzF>YvH%keQJbp9xxzDqG*yk`uCUXuGDYoS)WX+E#4^KdZ;It=mexsaFud)@~I)smB7gdaLE7mVJ@#EO|145eU@wnfELYmm|y5B=Wn#l3I-@`(h zsPVqvBSM;(@xb4sLYjOR@WkI^LYs`^iND8%G#SSmf3Q?p4^v}!rBFUP4ECIz9Ysj-SUZ6Pr%ns@9E}!^=saT2b13t#U)0Y6J)zFlf^@!eelDU z;7<0#@(ytc!m#}zwj|9V%rfd>yOJMEDnnj6sBhm_JNXaH;N#DRg)zeuzySV7#DcRY z#iTHX|4F~SudeMc@Sw&9hbxW|{I6w|WAlyD7`Q)y#d_d=xa~jHbDpeo{te{V2UM*C zZ}NTP$r|g?FRA)zHF$PUT)g}U7ks91JOt0%#Q^yzBAd4GFQR;4f7V$Czl7(D8?2*8 zsR^pZ@{dvz7qp6OoNv&C`^^hZ#vzf*y6w7lYwq>RY zluzfpX25}KnWM)E0c+?;RbMyV@XebDa(;=KCt16}M4#mN^7-&Et-<%&40DesSB#ot z#x9`G`UQvf+d`RMSSLkoc^5D+Jai=&nQph*j#8~EXwAc)7MP-}g6N;m^cGX%OrZ2; zSi6r>P3mOp@uN^FGp*N-QttZM2!iWb#n;VPDb{Mvmq%mw1GXhIquGIBDuu1-qg7pf z#Bc}Zmy4IrtwyaSqmfL^I(Iboy}B)HG*U}g`$t31xz=0!r^ot)!KCFH1Ib>iV+^R2 zH8=*Z)u*j9$Eb-aW8KWWdDgRI;GxM{KVmRveKJO!h=ZD}mKRTNruy=D<_!k{%KAb1 z!AkxBcF*kh*CcZ&i22rvv2YzNK=Xcl7IwoHTX&6BbuJiz1895PSNJ(f@sRW8Lf(3F zEc(PU>;19F&c$z<%4>f( zI0FlgV__aYR+TAt2X3gRTl+Ykb=Ip$QEjk($A30jhaZE2*<>Ae4Eoe&tNR!f%oc0i zF(|^V)-L|D&3csooMC;RMb5N7JO<@@mNj}DivDctB>r=bl^F+-^Q=wd;BGqKx^A30 zb`s30;-V8@5y7_za9K~bS*GDms4#!^IazOvQ+p5p_DDi^B$^4T-GaPCk85is z838BU4{+VIoOEbi}C9HD&VKXO}-I} zxW(AJ+Kx5mcB)wnk*$E&LVyL&!lzAEtVs=7cTZ4WWNa~3!4dq<;4sP%Bv&JfEpYkg z5NQwawFtKYyfYBfDokAOHK~q&HSDR)|9aS8HLK2lHQk{Wb<)2Y_D3zs_pgTSZMDdtBD&S?UPuom14V{Wr~0>m62eNQJF)LnwsrhSYu5O<{GW{>>Hj)~ylDiA_-` zu_LM`>7MIGS#LxUk&3Aktge_^X#IQ{&D&ad_s&4;L-Rezc-LOcF zu_n${S_Jh=H;=Z)^r+c--l*#Rx<`#t)>o1+1e$x5*V@plZn1(XRl}jiT6d<<1{cp) zU$VxfVI*9NjSOo{Mm=lYwn!areUw4oJLjpL`wz^6k!Qto>f`;__o=bCSK1Hd>IYQ2 zwSGV?wLTs|Jj(`AEcXto0~W+bT5rr(KeK+gKz(Svzfk?bT0EqV*niAoRF^d}uOilk zd00|E%`3~gcA0v_S~P@-_K!pA6YKNkn2vX?P$BD=E7Sw~Z(pf?gl&t}u!MfMT6ON9 zbE*nBtjpJ;^uM`QeapK2G_}T>dAi!k&!9G1$E;JASZ}UVH(3|1$KxvA&Eu@}2AEHe zZBVnnyix7mfA>Z;OIaUpQsa)qLxggglg&kI#%9%`-)*k5c5cSBUcE()ZNh8Vu7>GcZzgEDyc?&F*+O2Bb81s@lzFmOVP3?Z`qOI!wFO|TcwQidl8pV;>&-GjC z3^jQo$2RP3ev<;f&0l<)-`aDA@>fAH?y){T1NPqfGg0DSJyUJBLT91DoOKo|?dNB~ zu8VG0FIcT-qYS@#wyL$%IckQLI!B#i-Fc3RTA!YSFDz<57p;58x$1c9IsB@VcPmrF zU-N_pdh9Hhl|B!(d;NLJv;UXpshdYx*5zm`-@RO2Xl=Mc)$G6f3Kbk-9dV61+G@H6 zPY~R_xqAP7*QmR`WSxDJ8fWdkNiEnv@@93RbNVn>En;VrC^CRUVA&`heUB~ZAHX^X z4k(90`HtNG)!Wpjk)v>2r}%t{wf6zlWWD(SX0WFoMAZNDpgOyr&&VEnN)>S@^_v^U zSx-C!)0fYyTEU0ayZg_1M0He+;}C}&S+)LauiAI?KYgpw{>%2Mu&NiUWw`zpzy6UV?LiX4FSSLS&7U_9L#l{_C9-#m_tesD( zn#tHeg9*iSXNB&S;>GXr;exK&zvCHow8MIMznWM-+?ZAl8iDUltD=$CYx{8z}`;dhjRw5)62!_3HQ3_^D2r94bwTqwqCrj{|MR|Ia^n;Qwj1 zjP>M8>N&@Rk=BNn)v`33537V@el5Fo5ws^SH_Nt{HZE{ z;S)yH4t(^Rk2~=(V8k!93g3s^ML;?X^J07q^2ce;9k6g4UR9T&>sj}_u8u31yzRF0 zvH~{FHrPPRMHAMlOEl#fm@T8VVr+4kYY}Hiq&K2W3~vR>xz z{Z!53zikK1-%SV9WcQf}j30a}9+4wcgCg*t)v>8+J$*pkq{i+~{Y;JfAEb@Ht@|(h zw&T;c)hz4$d!6plC4=>u8;Ks=b9T#N7b2F6Z?fJVrj85l`_*5tHtdZddrV*GtqA!s+5`jPcjc8Gcy|$GU3F3VUHVTU*p^RXv9?O_WPX8 zj^tG9`TLv`kEt-f>%qQpsJX{A-8x_WjUo>TK&D{P*6l)%<|7&Q~G!-rGdaPH|u} SE`zq*g~&et+^)!B8T~&UPu4sD diff --git a/resource/Cxbx.rc b/resource/Cxbx.rc index 66a70fb9b..f767baae5 100644 --- a/resource/Cxbx.rc +++ b/resource/Cxbx.rc @@ -9,21 +9,15 @@ // #include "WinResrc.h" -#ifndef IDC_STATIC -#define IDC_STATIC -1 -#endif // IDC_STATIC - ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources +// English (United States) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) -#endif //_WIN32 ///////////////////////////////////////////////////////////////////////////// // @@ -53,7 +47,6 @@ END 3 TEXTINCLUDE BEGIN - "\r\n" "\0" END @@ -72,15 +65,12 @@ IDB_LOGO BITMAP "Logo.bmp" // Menu // -IDR_MAINMENU MENU +IDR_MAINMENU MENU BEGIN POPUP "&File" BEGIN MENUITEM "&Open Xbe...", ID_FILE_OPEN_XBE - MENUITEM "&Close xbe", ID_FILE_CLOSE_XBE, GRAYED - MENUITEM SEPARATOR - MENUITEM "&Import Exe...", ID_FILE_IMPORTFROMEXE - MENUITEM "&Export Exe...", ID_FILE_EXPORTTOEXE, GRAYED + MENUITEM "&Close Xbe", ID_FILE_CLOSE_XBE, GRAYED MENUITEM SEPARATOR MENUITEM "&Save Xbe", ID_FILE_SAVEXBEFILE, GRAYED MENUITEM "Save Xbe &As...", ID_FILE_SAVEXBEFILEAS, GRAYED @@ -98,19 +88,6 @@ BEGIN MENUITEM "&8 : Recent Placeholder", ID_FILE_RXBE_8 MENUITEM "&9 : Recent Placeholder", ID_FILE_RXBE_9 END - POPUP "Recent Exe &Files" - BEGIN - MENUITEM "&0 : Recent Placeholder", ID_FILE_REXE_0 - MENUITEM "&1 : Recent Placeholder", ID_FILE_REXE_1 - MENUITEM "&2 : Recent Placeholder", ID_FILE_REXE_2 - MENUITEM "&3 : Recent Placeholder", ID_FILE_REXE_3 - MENUITEM "&4 : Recent Placeholder", ID_FILE_REXE_4 - MENUITEM "&5 : Recent Placeholder", ID_FILE_REXE_5 - MENUITEM "&6 : Recent Placeholder", ID_FILE_REXE_6 - MENUITEM "&7 : Recent Placeholder", ID_FILE_REXE_7 - MENUITEM "&8 : Recent Placeholder", ID_FILE_REXE_8 - MENUITEM "&9 : Recent Placeholder", ID_FILE_REXE_9 - END MENUITEM SEPARATOR MENUITEM "E&xit", ID_FILE_EXIT END @@ -151,13 +128,6 @@ BEGIN MENUITEM "Config &Controller...", ID_SETTINGS_CONFIG_CONTROLLER MENUITEM "Config &Audio...", ID_SETTINGS_CONFIGURESOUND, GRAYED MENUITEM "Config &Video...", ID_SETTINGS_CONFIG_VIDEO - MENUITEM SEPARATOR - POPUP "Executable &Generation" - BEGIN - MENUITEM "&Automatic (&Windows Temp)", ID_SETTINGS_GENWT - MENUITEM "Automatic (&Xbe Path)", ID_SETTINGS_GENXP - MENUITEM "&Manual", ID_SETTINGS_GENMA - END END POPUP "E&mulation" BEGIN @@ -179,7 +149,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO BEGIN IDD_CONTROLLER_CFG, DIALOG BEGIN @@ -273,18 +243,7 @@ END IDR_JPEG_ABOUT JPEG "About.jpg" IDR_JPEG_SPLASH JPEG "Splash.jpg" -#endif // English (U.S.) resources +#endif // English (United States) resources ///////////////////////////////////////////////////////////////////////////// - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/src/Common/Xbe.cpp b/src/Common/Xbe.cpp index 869dd3413..f260f346a 100644 --- a/src/Common/Xbe.cpp +++ b/src/Common/Xbe.cpp @@ -32,7 +32,6 @@ // * // ****************************************************************** #include "Xbe.h" -#include "Exe.h" #include "CxbxUtil.h" #include @@ -322,500 +321,6 @@ cleanup: return; } -// construct via Exe file object -Xbe::Xbe(class Exe *x_Exe, const char *x_szTitle, bool x_bRetail) -{ - ConstructorInit(); - - time_t CurrentTime; - - time(&CurrentTime); - - printf("Xbe::Xbe: Pass 1 (Simple Pass)..."); - - // pass 1 - { - // standard Xbe magic number - m_Header.dwMagic = *(uint32*)"XBEH"; - - // nobody has the private key yet, so zero this out - memset(m_Header.pbDigitalSignature, 0, 256); - - // we'll only allow 0x00010000 for now - m_Header.dwBaseAddr = 0x00010000; - - // this is a constant value - m_Header.dwSizeofImageHeader = sizeof(m_Header); - - // we'll have the same number of sections as the Exe - m_Header.dwSections = x_Exe->m_Header.m_sections; - - // TODO: allow configuration - { - memset(&m_Header.dwInitFlags, 0, sizeof(m_Header.dwInitFlags)); - - m_Header.dwInitFlags.bLimit64MB = 1; - m_Header.dwInitFlags.bDontSetupHarddisk = 0; - m_Header.dwInitFlags.bMountUtilityDrive = 1; - } - - // various PE copies - { - m_Header.dwPeStackCommit = 0x00010000; //x_Exe->m_OptionalHeader.m_sizeof_stack_commit; - m_Header.dwPeHeapReserve = x_Exe->m_OptionalHeader.m_sizeof_heap_reserve; - m_Header.dwPeHeapCommit = x_Exe->m_OptionalHeader.m_sizeof_heap_commit; - m_Header.dwPeSizeofImage = x_Exe->m_OptionalHeader.m_sizeof_image; - m_Header.dwPeChecksum = 0x00000000; - m_Header.dwPeTimeDate = x_Exe->m_Header.m_timedate; - } - - // build time/date - m_Header.dwTimeDate = (uint32)CurrentTime; - - // TODO: generate valid addr if necessary - m_Header.dwNonKernelImportDirAddr = 0; - - // TODO: generate these values - m_Header.dwLibraryVersions = 0; - m_Header.dwLibraryVersionsAddr = 0; - m_Header.dwKernelLibraryVersionAddr = 0; - m_Header.dwXAPILibraryVersionAddr = 0; - } - - printf("OK\n"); - - printf("Xbe::Xbe: Pass 2 (Calculating Requirements)..."); - - // pass 2 - { - // make-room cursor - uint32 mrc = m_Header.dwBaseAddr + sizeof(m_Header); - - // make room for certificate - { - m_Header.dwCertificateAddr = mrc; - - mrc += sizeof(m_Certificate); - } - - // make room for section headers - { - m_Header.dwSectionHeadersAddr = mrc; - - mrc += m_Header.dwSections * (sizeof(*m_SectionHeader)); - - // make room for head/tail reference count words - mrc += (m_Header.dwSections+1)*2; - - // make room for section names - for(uint32 v=0;vm_SectionHeader[v].m_name[s] != '\0') - s++; - - mrc += s + 1; - } - } - - // TODO: make room for library versions - { - } - - // make room for debug path / debug file names - { - // TODO: allow this to be configured, right now we will just null out these values - m_Header.dwDebugUnicodeFilenameAddr = mrc; - m_Header.dwDebugPathnameAddr = mrc; - m_Header.dwDebugFilenameAddr = mrc; - - mrc += 2; - } - - // make room for largest possible logo bitmap - { - mrc = RoundUp(mrc, 0x10); - - m_Header.dwLogoBitmapAddr = mrc; - m_Header.dwSizeofLogoBitmap = 100*17; // Max Possible - - mrc += m_Header.dwSizeofLogoBitmap; - } - - // update size of headers - m_Header.dwSizeofHeaders = mrc - m_Header.dwBaseAddr; - } - - printf("OK\n"); - - printf("Xbe::Xbe: Pass 3 (Generating Xbe)...\n"); - - // pass 3 - { - m_Header.dwPeBaseAddr = m_Header.dwBaseAddr + RoundUp(m_Header.dwSizeofHeaders, 0x1000) - x_Exe->m_SectionHeader[0].m_virtual_addr; - - // encode entry point - { - printf("Xbe::Xbe: Encoding %s Entry Point...", x_bRetail?"Retail":"Debug"); - - uint32 ep = x_Exe->m_OptionalHeader.m_entry + m_Header.dwPeBaseAddr; - - if(x_bRetail) - ep ^= XOR_EP_RETAIL; - else - ep ^= XOR_EP_DEBUG; - - m_Header.dwEntryAddr = ep; - - printf("OK (0x%.08X)\n", ep); - } - - // header write cursor - uint32 hwc = m_Header.dwBaseAddr + sizeof(m_Header); - - // check if we need to store extra header bytes (we always will) - if(m_Header.dwSizeofHeaders > sizeof(m_Header)) - { - printf("Xbe::Xbe: Found Extra Header Bytes..."); - - uint32 ExSize = RoundUp(m_Header.dwSizeofHeaders - sizeof(m_Header), 0x1000); - - m_HeaderEx = new char[ExSize]; - - printf("OK\n"); - } - - // start a write buffer inside of m_HeaderEx - char *szBuffer = m_HeaderEx; - - // write certificate - { - // certificate size is a constant - m_Certificate.dwSize = sizeof(m_Certificate); - - m_Certificate.dwTimeDate = (uint32)CurrentTime; - - // TODO: generate in the form CX-9999 - m_Certificate.dwTitleId = 0xFFFF0002; - - // title name - memset(m_Certificate.wszTitleName, 0, 40 * sizeof(wchar_t)); - mbstowcs(m_Certificate.wszTitleName, x_szTitle, 40); - - // zero out alternate ids - { - for(uint32 c=0;c<0x10;c++) - m_Certificate.dwAlternateTitleId[c] = 0; - } - - // for now we'll just allow any media you could want - m_Certificate.dwAllowedMedia = XBEIMAGE_MEDIA_TYPE_HARD_DISK | XBEIMAGE_MEDIA_TYPE_DVD_CD | XBEIMAGE_MEDIA_TYPE_MEDIA_BOARD; - - // TODO: allow configuration - m_Certificate.dwGameRegion = XBEIMAGE_GAME_REGION_MANUFACTURING | XBEIMAGE_GAME_REGION_NA | XBEIMAGE_GAME_REGION_JAPAN | XBEIMAGE_GAME_REGION_RESTOFWORLD; - - // TODO: allow configuration - m_Certificate.dwGameRatings = 0xFFFFFFFF; - - // always disk 0, AFAIK - m_Certificate.dwDiskNumber = 0; - - // TODO: allow configuration - m_Certificate.dwVersion = 0; - - // generate blank LAN, signature, and alternate signature keys - { - for(uint32 v=0;v<0x10;v++) - m_Certificate.bzLanKey[v] = m_Certificate.bzSignatureKey[v] = 0; - - for(uint32 x=0;x<0x10;x++) - for(uint32 y=0;y<0x10;y++) - m_Certificate.bzTitleAlternateSignatureKey[x][y] = 0; - - } - - // write certificate - { - memcpy(szBuffer, &m_Certificate, sizeof(m_Certificate)); - - szBuffer += sizeof(m_Certificate); - - hwc += sizeof(m_Certificate); - } - } - - // generate ascii title from certificate title name - setlocale( LC_ALL, "English" ); - wcstombs(m_szAsciiTitle, m_Certificate.wszTitleName, 40); - - // write section headers / section names - { - m_szSectionName = new char[m_Header.dwSections][9]; - - m_SectionHeader = new SectionHeader[m_Header.dwSections]; - - uint32 SectionCursor = RoundUp(m_Header.dwSizeofHeaders, 0x1000); - - // head/tail reference count write buffer - uint16 *htrc = (uint16*)(szBuffer + m_Header.dwSections*sizeof(*m_SectionHeader)); - - // section write buffer - char *secn = (char*)((uint32)htrc + (m_Header.dwSections+1)*2); - - // head/tail reference count write cursor - uint32 hwc_htrc = hwc + m_Header.dwSections*sizeof(*m_SectionHeader); - - // section write cursor - uint32 hwc_secn = hwc_htrc + (m_Header.dwSections+1)*2; - - printf("Xbe::Xbe: Generating Section Headers...\n"); - - for(uint32 v=0;vm_SectionHeader[v].m_characteristics; - - memset(&m_SectionHeader[v].dwFlags, 0, sizeof(m_SectionHeader->dwFlags)); - - if(characteristics & IMAGE_SCN_MEM_WRITE) - m_SectionHeader[v].dwFlags.bWritable = 1; - - if( (characteristics & IMAGE_SCN_MEM_EXECUTE) || (characteristics & IMAGE_SCN_CNT_CODE) ) - m_SectionHeader[v].dwFlags.bExecutable = 1; - - m_SectionHeader[v].dwFlags.bPreload = 1; - m_SectionHeader[v].dwVirtualAddr = x_Exe->m_SectionHeader[v].m_virtual_addr + m_Header.dwPeBaseAddr; - - if(v < m_Header.dwSections-1) - m_SectionHeader[v].dwVirtualSize = x_Exe->m_SectionHeader[v+1].m_virtual_addr - x_Exe->m_SectionHeader[v].m_virtual_addr; - else - m_SectionHeader[v].dwVirtualSize = RoundUp(x_Exe->m_SectionHeader[v].m_virtual_size, 4); - - m_SectionHeader[v].dwRawAddr = SectionCursor; - - // calculate sizeof_raw by locating the last non-zero value in the raw section data - { - uint32 r = x_Exe->m_SectionHeader[v].m_sizeof_raw - 1; - - while(r > 0) - { - if(x_Exe->m_bzSection[v][r--] != 0) - break; - } - - // word aligned - m_SectionHeader[v].dwSizeofRaw = RoundUp(r+2, 4); - } - - SectionCursor += RoundUp(m_SectionHeader[v].dwSizeofRaw, 0x1000); - - // head/tail reference count - { - m_SectionHeader[v].dwHeadSharedRefCountAddr = hwc_htrc; - htrc[v] = 0; - - hwc_htrc += 2; - - m_SectionHeader[v].dwTailSharedRefCountAddr = hwc_htrc; - htrc[v+1] = 0; - } - - // section name - { - uint32 s = 0; - - memset(secn, 0, 8); - - m_SectionHeader[v].dwSectionNameAddr = hwc_secn; - while(s < 8 && x_Exe->m_SectionHeader[v].m_name[s] != '\0') - { - m_szSectionName[v][s] = secn[s] = x_Exe->m_SectionHeader[v].m_name[s]; - s++; - } - - m_szSectionName[v][s] = '\0'; - - secn += s+1; - hwc_secn += s+1; - } - - m_SectionHeader[v].dwSectionRefCount = 0; - - // write section digest (just zeros) - memset(m_SectionHeader[v].bzSectionDigest, 0, 20); - - // write section header - memcpy(szBuffer, &m_SectionHeader[v], sizeof(*m_SectionHeader)); - - szBuffer += sizeof(*m_SectionHeader); - - printf("OK\n"); - } - - hwc = hwc_secn; - } - - // write debug path / debug file names - { - *(uint16*)szBuffer = 0x0000; - - szBuffer += 2; - hwc += 2; - } - - // write default "OpenXDK" logo bitmap - { - printf("Xbe::Xbe: Generating \"OpenXDK\" Logo Bitmap..."); - - uint08 *RawAddr = GetAddr(m_Header.dwLogoBitmapAddr); - - memset(RawAddr, 0, 100*17); - - memcpy(RawAddr, OpenXDK, dwSizeOfOpenXDK); - - m_Header.dwSizeofLogoBitmap = dwSizeOfOpenXDK; - - printf("OK\n"); - } - - // write sections - { - printf("Xbe::Xbe: Generating Sections...\n"); - - m_bzSection = new uint08*[m_Header.dwSections]; - - memset(m_bzSection, 0, m_Header.dwSections); - - for(uint32 v=0;vm_bzSection[v], RawSize); - - printf("OK\n"); - } - } - } - - printf("Xbe::Xbe: Pass 4 (Finalizing)...\n"); - - // pass 4 - { - m_Header.dwSizeofImage = m_SectionHeader[m_Header.dwSections-1].dwVirtualAddr + m_SectionHeader[m_Header.dwSections-1].dwVirtualSize - m_Header.dwBaseAddr; - - m_Header.dwTLSAddr = 0; - - // relocate to base : 0x00010000 - { - printf("Xbe::Xbe: Relocating to Base 0x00010000..."); - - uint32 fixCount = 0; - - uint32 relo_addr = x_Exe->m_OptionalHeader.m_image_data_directory[5].m_virtual_addr; - uint32 relo_size = x_Exe->m_OptionalHeader.m_image_data_directory[5].m_size; - - uint32 dwBaseDiff = m_Header.dwPeBaseAddr - x_Exe->m_OptionalHeader.m_image_base; - - uint08 *reloc = GetAddr(relo_addr + m_Header.dwPeBaseAddr); - - // relocate, if necessary - if(reloc != 0) - { - uint32 v = 0; - - // relocate each relocation block - while(v < relo_size) - { - uint32 block_addr = *(uint32 *)&reloc[v+0]; - uint32 block_stop = *(uint32 *)&reloc[v+4] + v; - - v += 8; - - // relocate each rva - while(v < block_stop && v < relo_size) - { - uint16 data = *(uint16 *)&reloc[v]; - - uint32 type = (data & 0xF000) >> 12; - - if(type == 0) - { - v+=2; - break; - } - - // 32-bit field relocation - if(type == IMAGE_REL_BASED_HIGHLOW) - { - fixCount++; - - uint32 dwFixAddr = block_addr + (data & 0x0FFF) + m_Header.dwPeBaseAddr; - - uint08 *bzModRVA = GetAddr(dwFixAddr); - - if(bzModRVA != 0) - *(uint32*)bzModRVA += dwBaseDiff; - } - else - { - SetError("Unsupported relocation type", true); - goto cleanup; - } - - v+=2; - } - } - } - - printf("OK (%d Fixups)\n", fixCount); - } - - // locate kernel thunk table - { - // unfortunately, GCC doesn't populate the IAT entry in the data directory - // so if the value is 0, then it could mean there are no imports, or it - // could mean the EXE was compiled by GCC - uint32 ktRVA = x_Exe->m_OptionalHeader.m_image_data_directory[12].m_virtual_addr; - - if(ktRVA == 0) - { - // lets check to see if there is an import section. if so, look at offset 16 - // for the RVA of the Import Address Table - uint32 importRVA = x_Exe->m_OptionalHeader.m_image_data_directory[1].m_virtual_addr; - - if(importRVA != 0) - { - uint08 *importSection = GetAddr(importRVA + m_Header.dwPeBaseAddr); - - ktRVA = *(uint32 *)&importSection[16]; - } - } - - uint32 kt = ktRVA + m_Header.dwPeBaseAddr; - - kt ^= (x_bRetail ? XOR_KT_RETAIL : XOR_KT_DEBUG ); - - m_Header.dwKernelImageThunkAddr = kt; - } - } - -cleanup: - - if(GetError() != 0) - { - printf("FAILED!\n"); - printf("Xbe::Xbe: ERROR -> %s\n", GetError()); - } - - return; -} - // deconstructor Xbe::~Xbe() { diff --git a/src/Common/Xbe.h b/src/Common/Xbe.h index 8f84804b5..1f24cb25f 100644 --- a/src/Common/Xbe.h +++ b/src/Common/Xbe.h @@ -49,10 +49,7 @@ class Xbe : public Error public: // construct via Xbe file Xbe(const char *x_szFilename); - - // construct via Exe file object - Xbe(class Exe *x_Exe, const char *x_szTitle, bool x_bRetail); - + // deconstructor ~Xbe(); diff --git a/src/Cxbx/EmuExe.cpp b/src/Cxbx/EmuExe.cpp deleted file mode 100644 index 3d0d5f292..000000000 --- a/src/Cxbx/EmuExe.cpp +++ /dev/null @@ -1,702 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Win32->Cxbx->EmuExe.cpp -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** - -#include "EmuExe.h" -#include "Prolog.h" -#include "CxbxUtil.h" -#include "CxbxKrnl/CxbxKrnl.h" - -#include - -// ****************************************************************** -// * constructor -// ****************************************************************** -EmuExe::EmuExe(Xbe *x_Xbe, DebugMode x_debug_mode, char *x_debug_filename, HWND hwndParent) : Exe() -{ - ConstructorInit(); - - printf("EmuExe::EmuExe: Generating Exe file...\n"); - - // ****************************************************************** - // * generate pe header - // ****************************************************************** - { - printf("EmuExe::EmuExe: Generating PE header..."); - - m_Header.m_magic = *(uint32 *)"PE\0\0"; // magic number : "PE\0\0" - m_Header.m_machine = IMAGE_FILE_MACHINE_I386; // machine type : i386 - m_Header.m_sections = (uint16)(x_Xbe->m_Header.dwSections + 2); // xbe sections + .cxbximp + .cxbxplg - m_Header.m_timedate = x_Xbe->m_Header.dwTimeDate; // time/date stamp - m_Header.m_symbol_table_addr = 0; // unused - m_Header.m_symbols = 0; // unused - m_Header.m_sizeof_optional_header = sizeof(OptionalHeader); // size of optional header - m_Header.m_characteristics = 0x012F; // should be fine.. - - printf("OK\n"); - } - - // ****************************************************************** - // * generate optional header - // ****************************************************************** - { - printf("EmuExe::EmuExe: Generating Optional Header..."); - - m_OptionalHeader.m_magic = 0x010B; // magic number : 0x010B - - // ****************************************************************** - // * abitrary linker version : 6.0 - // ****************************************************************** - m_OptionalHeader.m_linker_version_major = 0x06; - m_OptionalHeader.m_linker_version_minor = 0x00; - - // ****************************************************************** - // * size of headers - // ****************************************************************** - m_OptionalHeader.m_sizeof_headers = sizeof(bzDOSStub) + sizeof(m_Header); - m_OptionalHeader.m_sizeof_headers += sizeof(m_OptionalHeader) + sizeof(*m_SectionHeader)*m_Header.m_sections; - m_OptionalHeader.m_sizeof_headers = RoundUp(m_OptionalHeader.m_sizeof_headers, PE_FILE_ALIGN); - - m_OptionalHeader.m_image_base = x_Xbe->m_Header.dwBaseAddr; - - m_OptionalHeader.m_section_alignment = PE_SEGM_ALIGN; - m_OptionalHeader.m_file_alignment = PE_FILE_ALIGN; - - // ****************************************************************** - // * OS version : 4.0 - // ****************************************************************** - m_OptionalHeader.m_os_version_major = 0x0004; - m_OptionalHeader.m_os_version_minor = 0x0000; - - // ****************************************************************** - // * image version : 0.0 - // ****************************************************************** - m_OptionalHeader.m_image_version_major = 0x0000; - m_OptionalHeader.m_image_version_minor = 0x0000; - - // ****************************************************************** - // * subsystem version : 4.0 - // ****************************************************************** - m_OptionalHeader.m_subsystem_version_major = 0x0004; - m_OptionalHeader.m_subsystem_version_minor = 0x0000; - - m_OptionalHeader.m_win32_version = 0x00000000; - m_OptionalHeader.m_checksum = 0x00000000; - m_OptionalHeader.m_subsystem = IMAGE_SUBSYSTEM_WINDOWS_GUI; - - // ****************************************************************** - // * no special dll characteristics are necessary - // ****************************************************************** - m_OptionalHeader.m_dll_characteristics = 0x0000; - - // ****************************************************************** - // * TODO: for each of these, check for bad values and correct them - // ****************************************************************** - m_OptionalHeader.m_sizeof_stack_reserve = 0x00100000; - m_OptionalHeader.m_sizeof_stack_commit = x_Xbe->m_Header.dwPeStackCommit; - m_OptionalHeader.m_sizeof_heap_reserve = x_Xbe->m_Header.dwPeHeapReserve; - m_OptionalHeader.m_sizeof_heap_commit = x_Xbe->m_Header.dwPeHeapCommit; - - // ****************************************************************** - // * this member is obsolete, so we'll just set it to zero - // ****************************************************************** - m_OptionalHeader.m_loader_flags = 0x00000000; - - // ****************************************************************** - // * we'll set this to the typical 0x10 (16) - // ****************************************************************** - m_OptionalHeader.m_data_directories = 0x10; - - // ****************************************************************** - // * clear all data directories (we'll setup some later) - // ****************************************************************** - for(uint32 d=0;dm_SectionHeader[0].dwRawAddr; - - // ****************************************************************** - // * generate xbe section headers - // ****************************************************************** - { - for(uint32 v=0;vm_Header.dwSections;v++) - { - printf("EmuExe::EmuExe: Generating Section Header 0x%.04X...", v); - - // ****************************************************************** - // * generate xbe section name - // ****************************************************************** - { - memset(m_SectionHeader[v].m_name, 0, 8); - - for(int c=0;c<8;c++) - { - m_SectionHeader[v].m_name[c] = x_Xbe->m_szSectionName[v][c]; - - if(m_SectionHeader[v].m_name[c] == '\0') - break; - } - } - - // ****************************************************************** - // * generate xbe section virtual size / addr - // ****************************************************************** - { - uint32 VirtSize = x_Xbe->m_SectionHeader[v].dwVirtualSize; - uint32 VirtAddr = x_Xbe->m_SectionHeader[v].dwVirtualAddr - x_Xbe->m_Header.dwBaseAddr; - - m_SectionHeader[v].m_virtual_size = VirtSize; - m_SectionHeader[v].m_virtual_addr = VirtAddr; - } - - // ****************************************************************** - // * generate xbe section raw size / addr - // ****************************************************************** - { - // TODO: get this working such that m_sizeof_raw can be the actual raw size, not virtual size - uint32 RawSize = RoundUp(x_Xbe->m_SectionHeader[v].dwVirtualSize, PE_FILE_ALIGN); - uint32 RawAddr = dwSectionCursor; - - m_SectionHeader[v].m_sizeof_raw = RawSize; - m_SectionHeader[v].m_raw_addr = RawAddr; - - dwSectionCursor += RawSize; - } - - // ****************************************************************** - // * relocation / line numbers will not exist - // ****************************************************************** - { - m_SectionHeader[v].m_relocations_addr = 0; - m_SectionHeader[v].m_linenumbers_addr = 0; - - m_SectionHeader[v].m_relocations = 0; - m_SectionHeader[v].m_linenumbers = 0; - } - - // ****************************************************************** - // * generate flags for this xbe section - // ****************************************************************** - { - uint32 flags = IMAGE_SCN_MEM_READ; - - if(x_Xbe->m_SectionHeader[v].dwFlags.bExecutable) - { - flags |= IMAGE_SCN_MEM_EXECUTE; - flags |= IMAGE_SCN_CNT_CODE; - } - else - { - flags |= IMAGE_SCN_CNT_INITIALIZED_DATA; - } - - if(x_Xbe->m_SectionHeader[v].dwFlags.bWritable) - flags |= IMAGE_SCN_MEM_WRITE; - - m_SectionHeader[v].m_characteristics = flags; - } - - printf("OK\n"); - } - } - - // ****************************************************************** - // * generate .cxbximp section header - // ****************************************************************** - { - uint32 i = m_Header.m_sections - 2; - - printf("EmuExe::EmuExe: Generating Section Header 0x%.04X (.cxbximp)...", i); - - memcpy(m_SectionHeader[i].m_name, ".cxbximp", 8); - - // ****************************************************************** - // * generate .cxbximp section virtual size / addr - // ****************************************************************** - { - uint32 virt_size = RoundUp(0x6E, PE_SEGM_ALIGN); - uint32 virt_addr = RoundUp(m_SectionHeader[i-1].m_virtual_addr + m_SectionHeader[i-1].m_virtual_size, PE_SEGM_ALIGN); - - m_SectionHeader[i].m_virtual_size = virt_size; - m_SectionHeader[i].m_virtual_addr = virt_addr; - } - - // ****************************************************************** - // * generate .cxbximp section raw size / addr - // ****************************************************************** - { - uint32 raw_size = RoundUp(m_SectionHeader[i].m_virtual_size, PE_FILE_ALIGN); - - m_SectionHeader[i].m_sizeof_raw = raw_size; - m_SectionHeader[i].m_raw_addr = dwSectionCursor; - - dwSectionCursor += raw_size; - } - - // ****************************************************************** - // * relocation / line numbers will not exist - // ****************************************************************** - { - m_SectionHeader[i].m_relocations_addr = 0; - m_SectionHeader[i].m_linenumbers_addr = 0; - - m_SectionHeader[i].m_relocations = 0; - m_SectionHeader[i].m_linenumbers = 0; - } - - // ****************************************************************** - // * make this section readable initialized data - // ****************************************************************** - m_SectionHeader[i].m_characteristics = IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA; - - // ****************************************************************** - // * update import table directory entry - // ****************************************************************** - m_OptionalHeader.m_image_data_directory[IMAGE_DIRECTORY_ENTRY_IMPORT].m_virtual_addr = m_SectionHeader[i].m_virtual_addr + 0x08; - m_OptionalHeader.m_image_data_directory[IMAGE_DIRECTORY_ENTRY_IMPORT].m_size = 0x28; - - // ****************************************************************** - // * update import address table directory entry - // ****************************************************************** - m_OptionalHeader.m_image_data_directory[IMAGE_DIRECTORY_ENTRY_IAT].m_virtual_addr = m_SectionHeader[i].m_virtual_addr; - m_OptionalHeader.m_image_data_directory[IMAGE_DIRECTORY_ENTRY_IAT].m_size = 0x08; - - printf("OK\n"); - } - - // ****************************************************************** - // * generate .cxbxplg section header - // ****************************************************************** - { - uint32 i = m_Header.m_sections - 1; - - printf("EmuExe::EmuExe: Generating Section Header 0x%.04X (.cxbxplg)...", i); - - memcpy(m_SectionHeader[i].m_name, ".cxbxplg", 8); - - // ****************************************************************** - // * generate .cxbxplg section virtual size / addr - // ****************************************************************** - { - uint32 virt_size = RoundUp(m_OptionalHeader.m_image_base + 0x100 + x_Xbe->m_Header.dwSizeofHeaders + 260 - + sizeof(Xbe::LibraryVersion) * x_Xbe->m_Header.dwLibraryVersions + sizeof(Xbe::TLS) - + (x_Xbe->m_TLS->dwDataEndAddr - x_Xbe->m_TLS->dwDataStartAddr), 0x1000); - uint32 virt_addr = RoundUp(m_SectionHeader[i-1].m_virtual_addr + m_SectionHeader[i-1].m_virtual_size, PE_SEGM_ALIGN); - - m_SectionHeader[i].m_virtual_size = virt_size; - m_SectionHeader[i].m_virtual_addr = virt_addr; - - // our entry point should be the first bytes in this section - m_OptionalHeader.m_entry = virt_addr; - } - - // ****************************************************************** - // * generate .cxbxplg section raw size / addr - // ****************************************************************** - { - uint32 raw_size = RoundUp(m_SectionHeader[i].m_virtual_size, PE_FILE_ALIGN); - - m_SectionHeader[i].m_sizeof_raw = raw_size; - m_SectionHeader[i].m_raw_addr = dwSectionCursor; - - dwSectionCursor += raw_size; - } - - // ****************************************************************** - // * relocation / line numbers will not exist - // ****************************************************************** - { - m_SectionHeader[i].m_relocations_addr = 0; - m_SectionHeader[i].m_linenumbers_addr = 0; - - m_SectionHeader[i].m_relocations = 0; - m_SectionHeader[i].m_linenumbers = 0; - } - - // ****************************************************************** - // * make this section readable and executable - // ****************************************************************** - m_SectionHeader[i].m_characteristics = IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_CNT_CODE; - - printf("OK\n"); - } - } - - // ****************************************************************** - // * generate sections - // ****************************************************************** - { - printf("EmuExe::EmuExe: Generating Sections...\n"); - - m_bzSection = new uint08*[m_Header.m_sections]; - - // ****************************************************************** - // * generate xbe sections - // ****************************************************************** - { - uint32 kt = x_Xbe->m_Header.dwKernelImageThunkAddr; - - // ****************************************************************** - // * decode kernel thunk address - // ****************************************************************** - { - if((kt ^ XOR_KT_DEBUG) > 0x01000000) - kt ^= XOR_KT_RETAIL; - else - kt ^= XOR_KT_DEBUG; - } - - // ****************************************************************** - // * generate xbe sections - // ****************************************************************** - for(uint32 v=0;vm_Header.dwSections;v++) - { - printf("EmuExe::EmuExe: Generating Section 0x%.04X...", v); - - uint32 SectionSize = m_SectionHeader[v].m_sizeof_raw; - - m_bzSection[v] = new uint08[SectionSize]; - - memset(m_bzSection[v], 0, SectionSize); - - memcpy(m_bzSection[v], x_Xbe->m_bzSection[v], x_Xbe->m_SectionHeader[v].dwSizeofRaw); - - printf("OK\n"); - } - - } - - // ****************************************************************** - // * generate .cxbximp section - // ****************************************************************** - { - uint32 i = m_Header.m_sections - 2; - - printf("EmuExe::EmuExe: Generating Section 0x%.04X (.cxbximp)...", i); - - uint32 dwVirtAddr = m_SectionHeader[i].m_virtual_addr; - - uint32 dwRawSize = m_SectionHeader[i].m_sizeof_raw; - - m_bzSection[i] = new uint08[dwRawSize]; - - memset(m_bzSection[i], 0, dwRawSize); - - *(uint32*)&m_bzSection[i][0x00] = dwVirtAddr + 0x38; - *(uint32*)&m_bzSection[i][0x04] = 0; - *(uint32*)&m_bzSection[i][0x08] = dwVirtAddr + 0x30; - *(uint32*)&m_bzSection[i][0x0C] = 0; - - *(uint32*)&m_bzSection[i][0x10] = 0; - *(uint32*)&m_bzSection[i][0x14] = dwVirtAddr + 0x4A; - *(uint32*)&m_bzSection[i][0x18] = dwVirtAddr + 0x00; - *(uint32*)&m_bzSection[i][0x1C] = 0; - - *(uint32*)&m_bzSection[i][0x20] = 0; - *(uint32*)&m_bzSection[i][0x24] = 0; - *(uint32*)&m_bzSection[i][0x28] = 0; - *(uint32*)&m_bzSection[i][0x2C] = 0; - - *(uint32*)&m_bzSection[i][0x30] = dwVirtAddr + 0x38; - *(uint32*)&m_bzSection[i][0x34] = 0; - *(uint16*)&m_bzSection[i][0x38] = 0x0001; - - memcpy(&m_bzSection[i][0x3A], "CxbxKrnlNoFunc\0\0CxbxKrnl.dll\0\0", 30); - - printf("OK\n"); - } - - // ****************************************************************** - // * generate .cxbxplg section - // ****************************************************************** - { - uint32 ep = x_Xbe->m_Header.dwEntryAddr; - uint32 i = m_Header.m_sections - 1; - - printf("EmuExe::EmuExe: Generating Section 0x%.04X (.cxbxplg)...", i); - - // ****************************************************************** - // * decode entry point - // ****************************************************************** - if( (ep ^ XOR_EP_RETAIL) > 0x01000000) - ep ^= XOR_EP_DEBUG; - else - ep ^= XOR_EP_RETAIL; - - m_bzSection[i] = new uint08[m_SectionHeader[i].m_sizeof_raw]; - - uint08 *pWriteCursor = m_bzSection[i]; - - // ****************************************************************** - // * append prolog section - // ****************************************************************** - memcpy(pWriteCursor, Prolog, 0x1000); - pWriteCursor += 0x100; - - // ****************************************************************** - // * append xbe header - // ****************************************************************** - memcpy(pWriteCursor, &x_Xbe->m_Header, sizeof(Xbe::Header)); - pWriteCursor += sizeof(Xbe::Header); - - // ****************************************************************** - // * append xbe extra header bytes - // ****************************************************************** - memcpy(pWriteCursor, x_Xbe->m_HeaderEx, x_Xbe->m_Header.dwSizeofHeaders - sizeof(Xbe::Header)); - pWriteCursor -= sizeof(Xbe::Header); - pWriteCursor += x_Xbe->m_Header.dwSizeofHeaders; - - // ****************************************************************** - // * append x_debug_filename - // ****************************************************************** - memcpy(pWriteCursor, x_debug_filename, 260); - pWriteCursor += 260; - - // ****************************************************************** - // * append library versions - // ****************************************************************** - if(x_Xbe->m_LibraryVersion != 0) - { - memcpy(pWriteCursor, x_Xbe->m_LibraryVersion, sizeof(Xbe::LibraryVersion) * x_Xbe->m_Header.dwLibraryVersions); - pWriteCursor += sizeof(Xbe::LibraryVersion) * x_Xbe->m_Header.dwLibraryVersions; - } - - // ****************************************************************** - // * append TLS data - // ****************************************************************** - if(x_Xbe->m_TLS != 0) - { - memcpy(pWriteCursor, x_Xbe->m_TLS, sizeof(Xbe::TLS)); - pWriteCursor += sizeof(Xbe::TLS); - memcpy(pWriteCursor, x_Xbe->GetTLSData(), x_Xbe->m_TLS->dwDataEndAddr - x_Xbe->m_TLS->dwDataStartAddr); - pWriteCursor += x_Xbe->m_TLS->dwDataEndAddr - x_Xbe->m_TLS->dwDataStartAddr; - } - - // ****************************************************************** - // * patch prolog function parameters - // ****************************************************************** - uint32 WriteCursor = m_SectionHeader[i].m_virtual_addr + m_OptionalHeader.m_image_base + 0x100; - - // Function Pointer - *(uint32 *)((uint32)m_bzSection[i] + 1) = (uint32)CxbxKrnlInit; - - // Param 8 : Entry - *(uint32 *)((uint32)m_bzSection[i] + 6) = (uint32)ep; - - // Param 7 : dwXbeHeaderSize - *(uint32 *)((uint32)m_bzSection[i] + 11) = (uint32)x_Xbe->m_Header.dwSizeofHeaders; - - // Param 6 : pXbeHeader - *(uint32 *)((uint32)m_bzSection[i] + 16) = WriteCursor; - WriteCursor += x_Xbe->m_Header.dwSizeofHeaders; - - // Param 5 : szDebugFilename - *(uint32 *)((uint32)m_bzSection[i] + 21) = WriteCursor; - WriteCursor += 260; - - // Param 4 : DbgMode - *(uint32 *)((uint32)m_bzSection[i] + 26) = x_debug_mode; - - // Param 3 : pLibraryVersion - if(x_Xbe->m_LibraryVersion != 0) - { - *(uint32 *)((uint32)m_bzSection[i] + 31) = WriteCursor; - WriteCursor += sizeof(Xbe::LibraryVersion) * x_Xbe->m_Header.dwLibraryVersions; - } - else - { - *(uint32 *)((uint32)m_bzSection[i] + 31) = 0; - } - - // Param 2 : pTLS - if(x_Xbe->m_TLS != 0) - { - *(uint32 *)((uint32)m_bzSection[i] + 36) = WriteCursor; - WriteCursor += sizeof(Xbe::TLS); - } - else - { - *(uint32 *)((uint32)m_bzSection[i] + 36) = 0; - } - - // Param 1 : pTLSData - if(x_Xbe->m_TLS != 0) - { - *(uint32 *)((uint32)m_bzSection[i] + 41) = WriteCursor; - WriteCursor += x_Xbe->m_TLS->dwDataEndAddr - x_Xbe->m_TLS->dwDataStartAddr; - } - else - { - *(uint32 *)((uint32)m_bzSection[i] + 41) = 0; - } - - // Param 0 : hwndParent - *(uint32 *)((uint32)m_bzSection[i] + 46) = (uint32)hwndParent; - - printf("OK\n"); - } - } - - // ****************************************************************** - // * patch kernel thunk table - // ****************************************************************** - { - printf("EmuExe::EmuExe: Hijacking Kernel Imports...\n"); - - uint32 kt = x_Xbe->m_Header.dwKernelImageThunkAddr; - - // ****************************************************************** - // * decode kernel thunk address - // ****************************************************************** - { - if( (kt ^ XOR_KT_DEBUG) > 0x01000000) - kt ^= XOR_KT_RETAIL; - else - kt ^= XOR_KT_DEBUG; - } - - // ****************************************************************** - // * locate section containing kernel thunk table - // ****************************************************************** - for(uint32 v=0;vm_Header.dwSections;v++) - { - uint32 imag_base = m_OptionalHeader.m_image_base; - - uint32 virt_addr = m_SectionHeader[v].m_virtual_addr; - uint32 virt_size = m_SectionHeader[v].m_virtual_size; - - // ****************************************************************** - // * modify kernel thunk table, if found - // ****************************************************************** - if(kt >= virt_addr + imag_base && kt < virt_addr + virt_size + imag_base) - { - printf("EmuExe::EmuExe: Located Thunk Table in Section 0x%.04X (0x%.08X)...\n", v, kt); - - uint32 *kt_tbl = (uint32*)&m_bzSection[v][kt - virt_addr - imag_base]; - - for(int k=0;kt_tbl[k] != 0;k++) - { - int t = kt_tbl[k] & 0x7FFFFFFF; - - kt_tbl[k] = CxbxKrnl_KernelThunkTable[t]; - - if(t != -1) - printf("EmuExe::EmuExe: Thunk %.03d : *0x%.08X := 0x%.08X\n", t, kt + k*4, kt_tbl[k]); - } - - break; - } - } - } - - // ****************************************************************** - // * update imcomplete header fields - // ****************************************************************** - { - printf("EmuExe::EmuExe: Finalizing Exe file..."); - - // ****************************************************************** - // * calculate size of code / data / image - // ****************************************************************** - { - uint32 sizeof_code = 0; - uint32 sizeof_data = 0; - uint32 sizeof_undata = 0; - uint32 sizeof_image = 0; - - for(uint32 v=0;vWin32->Cxbx->EmuExe.h -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** -#ifndef EMUEXE_H -#define EMUEXE_H - -#include "Common/Exe.h" -#include - -// ****************************************************************** -// * class : EmuExe -// ****************************************************************** -class EmuExe : public Exe -{ - public: - // ****************************************************************** - // * Construct via Xbe file object - // ****************************************************************** - EmuExe(class Xbe *x_Xbe, DebugMode x_debug_mode, char *x_debug_filename, HWND hwndParent = NULL); -}; - -#endif diff --git a/src/Cxbx/ResCxbx.h b/src/Cxbx/ResCxbx.h index 22e453ee9..98b038ce6 100644 --- a/src/Cxbx/ResCxbx.h +++ b/src/Cxbx/ResCxbx.h @@ -1,6 +1,6 @@ //{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. -// Used by C:\Users\Brandon\Desktop\Cxbx\dstien\wip\resource\Cxbx.rc +// Used by S:\GitHub\Cxbx-Reloaded\resource\Cxbx.rc // #define IDI_CXBX 101 #define IDB_SPLASH 102 @@ -52,7 +52,6 @@ #define ID_FILE_EXIT 40005 #define ID_HELP_ABOUT 40008 #define ID_EMULATION_START 40009 -#define ID_FILE_EXPORTTOEXE 40011 #define ID_FILE_OPEN_XBE 40013 #define ID_FILE_CLOSE_XBE 40014 #define ID_HELP_HOMEPAGE 40019 @@ -62,7 +61,6 @@ #define ID_EDIT_LOGOBITMAP_IMPORT 40026 #define ID_EDIT_PATCH_ALLOW64MB 40027 #define ID_EDIT_PATCH_DEBUGMODE 40031 -#define ID_FILE_IMPORTFROMEXE 40032 #define ID_EMULATION_DEBUGOUTPUTGUI_CONSOLE 40035 #define ID_EMULATION_DEBUGOUTPUTGUI_FILE 40036 #define ID_EMULATION_DEBUGOUTPUTKERNEL_CONSOLE 40037 @@ -80,22 +78,10 @@ #define ID_FILE_RXBE_7 40057 #define ID_FILE_RXBE_8 40058 #define ID_FILE_RXBE_9 40059 -#define ID_FILE_REXE_0 40060 -#define ID_FILE_REXE_1 40061 -#define ID_FILE_REXE_2 40062 -#define ID_FILE_REXE_3 40063 -#define ID_FILE_REXE_4 40064 -#define ID_FILE_REXE_5 40065 -#define ID_FILE_REXE_6 40066 -#define ID_FILE_REXE_7 40067 -#define ID_FILE_REXE_8 40068 -#define ID_FILE_REXE_9 40069 #define ID_EDIT_DUMPXBEINFOTO_FILE 40071 #define ID_EDIT_DUMPXBEINFOTO_DEBUGCONSOLE 40072 -#define ID_SETTINGS_GENXP 40078 -#define ID_SETTINGS_GENWT 40079 -#define ID_SETTINGS_GENMA 40080 #define ID_EMULATION_STOP 40082 +#define IDC_STATIC -1 // Next default values for new objects // diff --git a/src/Cxbx/WinMain.cpp b/src/Cxbx/WinMain.cpp index a43bfb671..5afd251c0 100644 --- a/src/Cxbx/WinMain.cpp +++ b/src/Cxbx/WinMain.cpp @@ -34,8 +34,6 @@ #include "WndMain.h" -#include "Cxbx/EmuExe.h" - #include "CxbxKrnl/CxbxKrnl.h" #include "CxbxKrnl/Emu.h" #include "CxbxKrnl/EmuShared.h" @@ -73,7 +71,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine { MainWindow->OpenXbe(__argv[1]); - MainWindow->StartEmulation(AUTO_CONVERT_WINDOWS_TEMP, MainWindow->GetHwnd()); + MainWindow->StartEmulation(MainWindow->GetHwnd()); } /*! wait for window to be closed, or failure */ diff --git a/src/Cxbx/WndMain.cpp b/src/Cxbx/WndMain.cpp index b80b636fe..446d629fd 100644 --- a/src/Cxbx/WndMain.cpp +++ b/src/Cxbx/WndMain.cpp @@ -37,7 +37,6 @@ #include "DlgVideoConfig.h" #include "CxbxKrnl/EmuShared.h" #include "ResCxbx.h" -#include "EmuExe.h" #include "jpegdec/jpegdec.h" #include @@ -48,7 +47,7 @@ FILE _iob[] = { *stdin, *stdout, *stderr }; extern "C" FILE * __cdecl __iob_func(void) { return _iob; } -WndMain::WndMain(HINSTANCE x_hInstance) : Wnd(x_hInstance), m_bCreated(false), m_Xbe(0), m_Exe(0), m_bExeChanged(false), m_bXbeChanged(false), m_bCanStart(true), m_hwndChild(NULL), m_AutoConvertToExe(AUTO_CONVERT_WINDOWS_TEMP), m_KrnlDebug(DM_NONE), m_CxbxDebug(DM_NONE), m_dwRecentXbe(0), m_dwRecentExe(0) +WndMain::WndMain(HINSTANCE x_hInstance) : Wnd(x_hInstance), m_bCreated(false), m_Xbe(0), m_bXbeChanged(false), m_bCanStart(true), m_hwndChild(NULL), m_KrnlDebug(DM_NONE), m_CxbxDebug(DM_NONE), m_dwRecentXbe(0) { // initialize members { @@ -58,19 +57,13 @@ WndMain::WndMain(HINSTANCE x_hInstance) : Wnd(x_hInstance), m_bCreated(false), m m_w = 640; m_h = 480; - m_ExeFilename = (char*)calloc(1, MAX_PATH); m_XbeFilename = (char*)calloc(1, MAX_PATH); m_CxbxDebugFilename = (char*)calloc(1, MAX_PATH); m_KrnlDebugFilename = (char*)calloc(1, MAX_PATH); - int v=0; - - for(v=0;vm_Header.dwInitFlags.bLimit64MB = !m_Xbe->m_Header.dwInitFlags.bLimit64MB; @@ -826,7 +711,6 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP case ID_EDIT_PATCH_DEBUGMODE: { - m_bExeChanged = true; m_bXbeChanged = true; // patch to/from debug mode @@ -957,8 +841,6 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP MessageBox(m_hwnd, "This will not take effect until the next time emulation is started.\n", "Cxbx-Reloaded", MB_OK); - m_bExeChanged = true; - RefreshMenus(); UpdateDebugConsoles(); @@ -999,8 +881,6 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP strncpy(m_KrnlDebugFilename, ofn.lpstrFile, MAX_PATH-1); - m_bExeChanged = true; - m_KrnlDebug = DM_FILE; RefreshMenus(); @@ -1068,37 +948,13 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP break; case ID_EMULATION_START: - StartEmulation(m_AutoConvertToExe, hwnd); + StartEmulation(hwnd); break; case ID_EMULATION_STOP: StopEmulation(); break; - case ID_SETTINGS_GENWT: - { - m_AutoConvertToExe = AUTO_CONVERT_WINDOWS_TEMP; - - RefreshMenus(); - } - break; - - case ID_SETTINGS_GENXP: - { - m_AutoConvertToExe = AUTO_CONVERT_XBE_PATH; - - RefreshMenus(); - } - break; - - case ID_SETTINGS_GENMA: - { - m_AutoConvertToExe = AUTO_CONVERT_MANUAL; - - RefreshMenus(); - } - break; - case ID_HELP_ABOUT: { WndAbout *AboutWnd = new WndAbout(m_hInstance, m_hwnd); @@ -1239,27 +1095,15 @@ void WndMain::RefreshMenus() // enable/disable save .xbe file as EnableMenuItem(file_menu, ID_FILE_SAVEXBEFILEAS, MF_BYCOMMAND | ((m_Xbe == 0) ? MF_GRAYED : MF_ENABLED)); - - // enable/disable export to .exe - EnableMenuItem(file_menu, ID_FILE_EXPORTTOEXE, MF_BYCOMMAND | ((m_Xbe == 0) ? MF_GRAYED : MF_ENABLED)); - + // recent xbe files menu { - HMENU rxbe_menu = GetSubMenu(file_menu, 9); + HMENU rxbe_menu = GetSubMenu(file_menu, 6); int max = m_dwRecentXbe; for(int v=0;vGetError() != 0) - { - MessageBox(m_hwnd, i_exe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK); - - delete i_exe; - - return; - } - - m_Xbe = new Xbe(i_exe, "Untitled", true); - - if(m_Xbe->GetError() != 0) - { - MessageBox(m_hwnd, m_Xbe->GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK); - - delete m_Xbe; m_Xbe = 0; - - return; - } - - // save this exe to the list of recent exe files - if(m_ExeFilename[0] != '\0') - { - bool found = false; - - // if this filename already exists, temporarily remove it - for(int c=0, r=0;c m_dwRecentExe - 1) - m_szRecentExe[c] = 0; - else - strncpy(m_szRecentExe[c], m_szRecentExe[r], MAX_PATH-1); - } - } - - if(found) - m_dwRecentExe--; - - // move all items down one, removing the last one if necessary - for(int v=RECENT_EXE_SIZE-1;v>0;v--) - { - if(m_szRecentExe[v-1] == 0) - m_szRecentExe[v] = 0; - else - { - if(m_szRecentExe[v] == 0) - m_szRecentExe[v] = (char*)calloc(1, MAX_PATH); - strncpy(m_szRecentExe[v], m_szRecentExe[v-1], MAX_PATH-1); - } - } - - // add new item as first index - { - if(m_szRecentExe[0] == 0) - m_szRecentExe[0] = (char*)calloc(1, MAX_PATH); - - strcpy(m_szRecentExe[0], m_ExeFilename); - } - - if(m_dwRecentExe < RECENT_EXE_SIZE) - m_dwRecentExe++; - } - - UpdateRecentFiles(); - - XbeLoaded(); - - m_bExeChanged = true; -} - -// convert to exe file -bool WndMain::ConvertToExe(const char *x_filename, bool x_bVerifyIfExists, HWND hwndParent) -{ - char filename[MAX_PATH] = "default.exe"; - - if(x_filename == NULL) - { - OPENFILENAME ofn = {0}; - - SuggestFilename(m_XbeFilename, filename, ".exe"); - - ofn.lStructSize = sizeof(OPENFILENAME); - ofn.hwndOwner = m_hwnd; - ofn.lpstrFilter = "Windows Executables (*.exe)\0*.exe\0"; - ofn.lpstrFile = filename; - ofn.nMaxFile = MAX_PATH; - ofn.nFilterIndex = 1; - ofn.lpstrFileTitle = NULL; - ofn.nMaxFileTitle = 0; - ofn.lpstrInitialDir = NULL; - ofn.lpstrDefExt = "exe"; - ofn.Flags = OFN_PATHMUSTEXIST; - - if(GetSaveFileName(&ofn) == FALSE) - return false; - - strcpy(filename, ofn.lpstrFile); - } - else - { - strcpy(filename, x_filename); - } - - // ask permission to overwrite if this file already exists - if(x_bVerifyIfExists) - { - if(_access(filename, 0) != -1) - { - if(MessageBox(m_hwnd, "Overwrite existing file?", "Cxbx-Reloaded", MB_ICONQUESTION | MB_YESNO) != IDYES) - return false; - } - } - - // convert file - { - EmuExe i_EmuExe(m_Xbe, m_KrnlDebug, m_KrnlDebugFilename, hwndParent); - - i_EmuExe.Export(filename); - - if(i_EmuExe.GetError() != 0) - { - MessageBox(m_hwnd, i_EmuExe.GetError(), "Cxbx-Reloaded", MB_ICONSTOP | MB_OK); - return false; - } - else - { - strcpy(m_ExeFilename, filename); - - printf("WndMain: %s was converted to .exe.\n", m_Xbe->m_szAsciiTitle); - - m_bExeChanged = false; - } - } - - return true; -} - // start emulation -void WndMain::StartEmulation(EnumAutoConvert x_AutoConvert, HWND hwndParent) +void WndMain::StartEmulation(HWND hwndParent) { char szBuffer[MAX_PATH]; diff --git a/src/Cxbx/WndMain.h b/src/Cxbx/WndMain.h index cdc776a7d..2eb3a8e30 100644 --- a/src/Cxbx/WndMain.h +++ b/src/Cxbx/WndMain.h @@ -35,24 +35,12 @@ #define WNDMAIN_H #include "Wnd.h" -#include "Common/Exe.h" #include "Common/Xbe.h" // ****************************************************************** // * constants // ****************************************************************** #define RECENT_XBE_SIZE 10 -#define RECENT_EXE_SIZE 10 - -// ****************************************************************** -// * AutoConvert methods -// ****************************************************************** -enum EnumAutoConvert -{ - AUTO_CONVERT_MANUAL = 0, - AUTO_CONVERT_XBE_PATH = 1, - AUTO_CONVERT_WINDOWS_TEMP = 2 -}; // ****************************************************************** // * class : WndMain @@ -77,15 +65,9 @@ class WndMain : public Wnd void SaveXbeAs(); // ****************************************************************** - // * Exe operations + // * start emulation // ****************************************************************** - void ImportExe(const char *x_filename); - bool ConvertToExe(const char *x_filename, bool x_bVerifyIfExists, HWND hwndParent); - - // ****************************************************************** - // * start emulation (converting to .exe if not done already) - // ****************************************************************** - void StartEmulation(EnumAutoConvert x_bAutoConvert, HWND hwndParent); + void StartEmulation(HWND hwndParent); // ****************************************************************** // * stop emulation (close existing child window) @@ -139,46 +121,32 @@ class WndMain : public Wnd HBITMAP m_LogoBmp; // ****************************************************************** - // * Xbe/Exe objects + // * Xbe objects // ****************************************************************** Xbe *m_Xbe; - Exe *m_Exe; // ****************************************************************** // * changes remembered for internal purposes // ****************************************************************** bool m_bXbeChanged; - bool m_bExeChanged; bool m_bCanStart; // ****************************************************************** // * cached filenames // ****************************************************************** char *m_XbeFilename; - char *m_ExeFilename; // ****************************************************************** // * cached child window handle // ****************************************************************** HWND m_hwndChild; - // ****************************************************************** - // * should emulation always auto-create the .exe? - // ****************************************************************** - EnumAutoConvert m_AutoConvertToExe; - // ****************************************************************** // * Recent Xbe files // ****************************************************************** int m_dwRecentXbe; char *m_szRecentXbe[RECENT_XBE_SIZE]; - // ****************************************************************** - // * Recent Exe files - // ****************************************************************** - int m_dwRecentExe; - char *m_szRecentExe[RECENT_EXE_SIZE]; - // ****************************************************************** // * is this window fully initialized? // ****************************************************************** diff --git a/src/Standard/Cxbe/Main.cpp b/src/Standard/Cxbe/Main.cpp deleted file mode 100644 index d78c7f388..000000000 --- a/src/Standard/Cxbe/Main.cpp +++ /dev/null @@ -1,277 +0,0 @@ -// ****************************************************************** -// * -// * .,-::::: .,:: .::::::::. .,:: .: -// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; -// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' -// * $$$ Y$$$P $$""""Y$$ Y$$$P -// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, -// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, -// * -// * Cxbx->Standard->Cxbe->Main.cpp -// * -// * This file is part of the Cxbx project. -// * -// * Cxbx and Cxbe are free software; you can redistribute them -// * and/or modify them under the terms of the GNU General Public -// * License as published by the Free Software Foundation; either -// * version 2 of the license, or (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have recieved a copy of the GNU General Public License -// * along with this program; see the file COPYING. -// * If not, write to the Free Software Foundation, Inc., -// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. -// * -// * (c) 2002-2003 Aaron Robinson -// * -// * All rights reserved -// * -// ****************************************************************** -#include "Exe.h" -#include "Xbe.h" - -#include - -// static global(s) -static void ShowUsage(); -static void MakeUpper(char *str); - -// program entry point -int main(int argc, char *argv[]) -{ - char szErrorMessage[266] = {0}; - char szExeFilename[266] = {0}; - char szXbeFilename[266] = {0}; - char szDumpFilename[266] = {0}; - char szXbeTitle[256] = "Untitled"; - bool bRetail = true; - - // parse command line - for(int v=1;v 256) - printf("WARNING: Title too long, using default title\n"); - else - strcpy(szXbeTitle, szParam); - } - else if(strcmp(szOptionU, "MODE") == 0) - { - if(strcmp(szParamU, "RETAIL") == 0) - bRetail = true; - else if(strcmp(szParamU, "DEBUG") == 0) - bRetail = false; - else - { - strcpy(szErrorMessage, "invalid MODE"); - goto cleanup; - } - } - else - { - char szBuffer[255]; - sprintf(szBuffer, "Unrecognized command : %s", szOption); - strcpy(szErrorMessage, szBuffer); - goto cleanup; - } - } - } - - // verify we recieved the required parameters - if(szExeFilename[0] == '\0') - { - ShowUsage(); - return 1; - } - - // if we don't have an Xbe filename, generate one from szExeFilename - if(szXbeFilename[0] == '\0') - { - strcpy(szXbeFilename, szExeFilename); - - char *szFilename = &szXbeFilename[0]; - - // locate last \ or / (if there are any) - { - for(int c=0;szXbeFilename[c] != 0;c++) - if(szXbeFilename[c] == '\\' || szXbeFilename[c] == '/') - szFilename = &szXbeFilename[c+1]; - } - - // locate and remove last . (if there are any) - { - char szWorkingU[266]; - - char *szWorking = szFilename; - - strncpy(szWorkingU, szWorking, 265); - - for(int c=0;szFilename[c] != 0;c++) - if(szFilename[c] == '.') - szWorking = &szFilename[c]; - - MakeUpper(szWorking); - - if(strcmp(szWorkingU, ".exe") == 0) - strcpy(szWorking, ".xbe"); - else - strcat(szXbeFilename, ".xbe"); - } - } - - // open and convert Exe file - { - Exe *ExeFile = new Exe(szExeFilename); - - if(ExeFile->GetError() != 0) - { - strcpy(szErrorMessage, ExeFile->GetError()); - goto cleanup; - } - - Xbe *XbeFile = new Xbe(ExeFile, szXbeTitle, bRetail); - - if(XbeFile->GetError() != 0) - { - strcpy(szErrorMessage, XbeFile->GetError()); - goto cleanup; - } - - if(szDumpFilename[0] != 0) - { - FILE *outfile = fopen(szDumpFilename, "wt"); - XbeFile->DumpInformation(outfile); - fclose(outfile); - - if(XbeFile->GetError() != 0) - { - if(XbeFile->IsFatal()) - { - strcpy(szErrorMessage, XbeFile->GetError()); - goto cleanup; - } - else - { - printf("DUMPINFO -> Warning: %s\n", XbeFile->GetError()); - XbeFile->ClearError(); - } - } - } - - XbeFile->Export(szXbeFilename); - - if(XbeFile->GetError() != 0) - { - strcpy(szErrorMessage, XbeFile->GetError()); - goto cleanup; - } - } - -cleanup: - - if(szErrorMessage[0] != 0) - { - ShowUsage(); - - printf("\n"); - printf(" * Error : %s\n", szErrorMessage); - - return 1; - } - - return 0; -} - -// show program usage -static void ShowUsage() -{ - printf - ( - "CXBE XBE->EXE (XBox->Win32) Relinker (CXBX Core Version " _CXBX_VERSION ")\n" - "Copyright (C) Aaron Robinson 2002-2003. All rights reserved.\n" - "\n" - "Usage : cxbe [options] [exefile]\n" - "\n" - "Options :\n" - "\n" - " -OUT:filename\n" - " -DUMPINFO:filename\n" - " -TITLE:title\n" - " -MODE:{debug|retail}\n" - ); -} - -// convert string to upper case -static void MakeUpper(char *str) -{ - while(*str != '\0') - { - if(*str >= 'a' && *str <= 'z') - *str = *str - ('a' - 'A'); - - str++; - } -} From ea78ca05d86c9172c45365f9b0b9b3477598270f Mon Sep 17 00:00:00 2001 From: Luke Usher Date: Thu, 22 Dec 2016 20:35:17 +0000 Subject: [PATCH 2/3] Oovpa refactoring (#51) * Cleanup (renames, comments and indenting) Read GetCurrentProcess() once (g_CurrentProcessHandle further on) Forwarded KeWaitForSingleObject to KeWaitForMultipleObjects * Refactored all OOVPA's * Fixed a few small mistakes --- .../HLEDataBase - Copy/D3D8.1.0.3925.h | 45 + .../HLEDataBase - Copy/D3D8.1.0.3925.inl | 6054 ++++++++++++++++ .../HLEDataBase - Copy/D3D8.1.0.4034.h | 44 + .../HLEDataBase - Copy/D3D8.1.0.4034.inl | 2781 +++++++ .../HLEDataBase - Copy/D3D8.1.0.4134.h | 45 + .../HLEDataBase - Copy/D3D8.1.0.4134.inl | 3837 ++++++++++ .../HLEDataBase - Copy/D3D8.1.0.4361.h | 44 + .../HLEDataBase - Copy/D3D8.1.0.4361.inl | 3749 ++++++++++ .../HLEDataBase - Copy/D3D8.1.0.4432.h | 42 + .../HLEDataBase - Copy/D3D8.1.0.4432.inl | 2097 ++++++ .../HLEDataBase - Copy/D3D8.1.0.4627.h | 44 + .../HLEDataBase - Copy/D3D8.1.0.4627.inl | 6376 +++++++++++++++++ .../HLEDataBase - Copy/D3D8.1.0.5233.h | 44 + .../HLEDataBase - Copy/D3D8.1.0.5233.inl | 3694 ++++++++++ .../HLEDataBase - Copy/D3D8.1.0.5558.h | 42 + .../HLEDataBase - Copy/D3D8.1.0.5558.inl | 3737 ++++++++++ .../HLEDataBase - Copy/D3D8.1.0.5849.h | 42 + .../HLEDataBase - Copy/D3D8.1.0.5849.inl | 3373 +++++++++ .../HLEDataBase - Copy/D3D8LTCG.1.0.5849.h | 45 + .../HLEDataBase - Copy/D3D8LTCG.1.0.5849.inl | 1729 +++++ .../HLEDataBase - Copy/DSound.1.0.3936.h | 42 + .../HLEDataBase - Copy/DSound.1.0.3936.inl | 6191 ++++++++++++++++ .../HLEDataBase - Copy/DSound.1.0.4134.h | 42 + .../HLEDataBase - Copy/DSound.1.0.4134.inl | 716 ++ .../HLEDataBase - Copy/DSound.1.0.4361.h | 42 + .../HLEDataBase - Copy/DSound.1.0.4361.inl | 1302 ++++ .../HLEDataBase - Copy/DSound.1.0.4432.h | 42 + .../HLEDataBase - Copy/DSound.1.0.4432.inl | 1015 +++ .../HLEDataBase - Copy/DSound.1.0.4627.h | 42 + .../HLEDataBase - Copy/DSound.1.0.4627.inl | 5015 +++++++++++++ .../HLEDataBase - Copy/DSound.1.0.5233.h | 42 + .../HLEDataBase - Copy/DSound.1.0.5233.inl | 1977 +++++ .../HLEDataBase - Copy/DSound.1.0.5558.h | 42 + .../HLEDataBase - Copy/DSound.1.0.5558.inl | 3651 ++++++++++ .../HLEDataBase - Copy/DSound.1.0.5849.h | 42 + .../HLEDataBase - Copy/DSound.1.0.5849.inl | 3026 ++++++++ src/CxbxKrnl/HLEDataBase - Copy/HLE_3911.rar | Bin 0 -> 30746 bytes src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.3911.h | 42 + .../HLEDataBase - Copy/XG.1.0.3911.inl | 239 + src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.h | 42 + .../HLEDataBase - Copy/XG.1.0.4034.inl | 210 + src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.h | 42 + .../HLEDataBase - Copy/XG.1.0.4361.inl | 274 + src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.h | 42 + .../HLEDataBase - Copy/XG.1.0.4432.inl | 67 + src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.h | 42 + .../HLEDataBase - Copy/XG.1.0.4627.inl | 172 + src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.h | 42 + .../HLEDataBase - Copy/XG.1.0.5233.inl | 65 + src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.h | 42 + .../HLEDataBase - Copy/XG.1.0.5558.inl | 219 + src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.h | 42 + .../HLEDataBase - Copy/XG.1.0.5849.inl | 140 + .../HLEDataBase - Copy/XNet.1.0.3911.h | 42 + .../HLEDataBase - Copy/XNet.1.0.3911.inl | 206 + .../HLEDataBase - Copy/XOnline.1.0.4361.h | 42 + .../HLEDataBase - Copy/XOnline.1.0.4361.inl | 330 + .../HLEDataBase - Copy/XOnline.1.0.4627.h | 42 + .../HLEDataBase - Copy/XOnline.1.0.4627.inl | 208 + .../HLEDataBase - Copy/XOnline.1.0.5233.h | 42 + .../HLEDataBase - Copy/XOnline.1.0.5233.inl | 233 + .../HLEDataBase - Copy/XOnline.1.0.5558.h | 42 + .../HLEDataBase - Copy/XOnline.1.0.5558.inl | 241 + .../HLEDataBase - Copy/XOnline.1.0.5849.h | 42 + .../HLEDataBase - Copy/XOnline.1.0.5849.inl | 173 + .../HLEDataBase - Copy/XactEng.1.0.4627.h | 42 + .../HLEDataBase - Copy/XactEng.1.0.4627.inl | 1006 +++ .../HLEDataBase - Copy/Xapi.1.0.3911.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.3911.inl | 2020 ++++++ .../HLEDataBase - Copy/Xapi.1.0.4034.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.4034.inl | 437 ++ .../HLEDataBase - Copy/Xapi.1.0.4134.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.4134.inl | 678 ++ .../HLEDataBase - Copy/Xapi.1.0.4361.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.4361.inl | 846 +++ .../HLEDataBase - Copy/Xapi.1.0.4432.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.4432.inl | 314 + .../HLEDataBase - Copy/Xapi.1.0.4627.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.4627.inl | 1592 ++++ .../HLEDataBase - Copy/Xapi.1.0.5233.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.5233.inl | 356 + .../HLEDataBase - Copy/Xapi.1.0.5558.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.5558.inl | 780 ++ .../HLEDataBase - Copy/Xapi.1.0.5849.h | 42 + .../HLEDataBase - Copy/Xapi.1.0.5849.inl | 464 ++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 3644 ++-------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 2109 +----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 2531 ++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 2438 +------ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 1671 +---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 4180 ++--------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 2723 ++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 2831 ++------ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 2719 ++----- .../HLEDataBase/D3D8LTCG.1.0.5849.inl | 1051 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 3454 +++------ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 480 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 757 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 623 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 3208 ++------- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 1531 +--- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2569 ++----- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2136 ++---- src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl | 135 +- src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl | 111 +- src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl | 145 +- src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl | 24 +- src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl | 92 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl | 24 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl | 116 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl | 70 +- src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl | 95 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl | 168 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl | 135 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl | 157 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl | 151 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl | 91 +- src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl | 627 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl | 1086 +-- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4034.inl | 287 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl | 428 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl | 456 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl | 237 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl | 1023 +-- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl | 269 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl | 533 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl | 353 +- src/CxbxKrnl/HLEIntercept.cpp | 53 +- src/CxbxKrnl/OOVPA.h | 134 +- 129 files changed, 82041 insertions(+), 38985 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/HLE_3911.rar create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.3911.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.3911.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.inl create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.h create mode 100644 src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.inl diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.h new file mode 100644 index 000000000..1729bc28d --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.h @@ -0,0 +1,45 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.3925.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_3925_H +#define D3D8_1_0_3925_H + +#include "OOVPA.h" + +extern SOOVPA<11> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925; +extern SOOVPA<15> IDirect3DDevice8_SetRenderState_CullMode_1_0_3925; + +extern OOVPATable D3D8_1_0_3925[]; +extern uint32 D3D8_1_0_3925_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.inl new file mode 100644 index 000000000..b65f0b64b --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.3925.inl @@ -0,0 +1,6054 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.3925.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3D8_CreateDevice +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDevice_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x07 : jnz +0x0A + { 0x07, 0x75 }, // (Offset,Value)-Pair #1 + { 0x08, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x79 : mov eax, esi + { 0x79, 0x8B }, // (Offset,Value)-Pair #3 + { 0x7A, 0xC6 }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x7C : retn 0x18 + { 0x7C, 0xC2 }, // (Offset,Value)-Pair #5 + { 0x7D, 0x18 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0x90 : retn 0x18 + { 0x90, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x91, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_IsBusy +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_IsBusy_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x90 }, // (Offset,Value)-Pair #2 + { 0x0D, 0x04 }, // (Offset,Value)-Pair #3 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #4 + + { 0x1E, 0x74 }, // (Offset,Value)-Pair #5 + { 0x1F, 0x06 }, // (Offset,Value)-Pair #6 + + { 0x25, 0xC3 }, // (Offset,Value)-Pair #7 + + { 0x33, 0xC3 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDeviceCaps +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_GetDeviceCaps_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDeviceCaps+0x00 : push esi; push edi + { 0x00, 0x56 }, // (Offset,Value)-Pair #1 + { 0x01, 0x57 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDeviceCaps+0x06 : mov ecx, 0x35 + { 0x06, 0xB9 }, // (Offset,Value)-Pair #3 + { 0x07, 0x35 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetDeviceCaps+0x10 : rep movsd + { 0x10, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x11, 0xA5 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetDeviceCaps+0x14 : retn 0x04 + { 0x14, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x15, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BeginVisibilityTest +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BeginVisibilityTest_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BeginVisibilityTest+0x0D : mov ecx, 1 + { 0x0D, 0xB9 }, // (Offset,Value)-Pair #1 + { 0x0E, 0x01 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x00 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_BeginVisibilityTest+0x12 : mov dword ptr [eax], 0x000817C8 + { 0x12, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x13, 0x00 }, // (Offset,Value)-Pair #5 + { 0x14, 0xC8 }, // (Offset,Value)-Pair #6 + { 0x15, 0x17 }, // (Offset,Value)-Pair #7 + { 0x16, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_BeginVisibilityTest+0x1E : add eax, 0x0C + { 0x1E, 0x83 }, // (Offset,Value)-Pair #9 + { 0x1F, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x20, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * D3DDevice_GetMaterial +// ****************************************************************** +SOOVPA<9> D3DDevice_GetMaterial_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0C, 0xB0 }, + { 0x0D, 0x18 }, + { 0x0E, 0x0B }, + { 0x11, 0xB9 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_EndVisibilityTest +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_EndVisibilityTest_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_EndVisibilityTest+0x11 : mov eax, 0x8007000E + { 0x11, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x12, 0x0E }, // (Offset,Value)-Pair #2 + { 0x13, 0x00 }, // (Offset,Value)-Pair #3 + { 0x14, 0x07 }, // (Offset,Value)-Pair #4 + { 0x15, 0x80 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_EndVisibilityTest+0x2D : mov dword ptr [eax], 0x000817CC + { 0x2D, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x2E, 0x00 }, // (Offset,Value)-Pair #7 + { 0x2F, 0xCC }, // (Offset,Value)-Pair #8 + { 0x30, 0x17 }, // (Offset,Value)-Pair #9 + { 0x31, 0x08 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_EndVisibilityTest+0x43 : add eax, 0x0C + { 0x43, 0x83 }, // (Offset,Value)-Pair #11 + { 0x44, 0xC0 }, // (Offset,Value)-Pair #12 + { 0x45, 0x0C }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetVisibilityTestResult +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_GetVisibilityTestResult_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetVisibilityTestResult+0x0C : shr ecx, 8 + { 0x0C, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xE9 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetVisibilityTestResult+0x0F : and eax, 0xFF + { 0x0F, 0x25 }, // (Offset,Value)-Pair #4 + { 0x10, 0xFF }, // (Offset,Value)-Pair #5 + { 0x11, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetVisibilityTestResult+0x2B : mov eax, 0x88760828 + { 0x2B, 0xB8 }, // (Offset,Value)-Pair #7 + { 0x2C, 0x28 }, // (Offset,Value)-Pair #8 + { 0x2D, 0x08 }, // (Offset,Value)-Pair #9 + { 0x2E, 0x76 }, // (Offset,Value)-Pair #10 + { 0x2F, 0x88 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3D8_KickOffAndWaitForIdle +// ****************************************************************** +// * Actually, this is D3D::CDevice::KickOff +// ****************************************************************** +SOOVPA<10> IDirect3D8_KickOffAndWaitForIdle_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0xA1 }, // (Offset,Value)-Pair #1 + + { 0x32, 0x81 }, // (Offset,Value)-Pair #2 + { 0x33, 0xCA }, // (Offset,Value)-Pair #3 + { 0x36, 0x01 }, // (Offset,Value)-Pair #4 + + { 0x5E, 0x89 }, // (Offset,Value)-Pair #5 + { 0x5F, 0x50 }, // (Offset,Value)-Pair #6 + { 0x60, 0x40 }, // (Offset,Value)-Pair #7 + + { 0x90, 0x83 }, // (Offset,Value)-Pair #8 + { 0x91, 0xEA }, // (Offset,Value)-Pair #9 + { 0x92, 0x02 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LoadVertexShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x0C] + { 0x07, 0x8A }, // (Offset,Value)-Pair #1 + { 0x08, 0x43 }, // (Offset,Value)-Pair #2 + { 0x09, 0x0C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_LoadVertexShader+0x3D : mov dword ptr [eax], 0x00041E9C + { 0x3D, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x3E, 0x00 }, // (Offset,Value)-Pair #5 + { 0x3F, 0x9C }, // (Offset,Value)-Pair #6 + { 0x40, 0x1E }, // (Offset,Value)-Pair #7 + { 0x41, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_LoadVertexShader+0x4E : mov [ebx], ebx + { 0x4E, 0x89 }, // (Offset,Value)-Pair #9 + { 0x4F, 0x13 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SelectVertexShader +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SelectVertexShader+0x16 : or ecx, 0x3A0 + { 0x16, 0x81 }, // (Offset,Value)-Pair #1 + { 0x17, 0xC9 }, // (Offset,Value)-Pair #2 + { 0x18, 0xA0 }, // (Offset,Value)-Pair #3 + { 0x19, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SelectVertexShader+0x3F : mov dword ptr [eax], 0x00081E94 + { 0x3F, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x40, 0x00 }, // (Offset,Value)-Pair #6 + { 0x41, 0x94 }, // (Offset,Value)-Pair #7 + { 0x42, 0x1E }, // (Offset,Value)-Pair #8 + { 0x43, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SelectVertexShader+0x51 : mov [esi], eax + { 0x51, 0x89 }, // (Offset,Value)-Pair #10 + { 0x52, 0x06 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0;push 0;push 1 + { 0x05, 0x6A }, // (Offset,Value)-Pair #1 + { 0x06, 0x00 }, // (Offset,Value)-Pair #2 + { 0x07, 0x6A }, // (Offset,Value)-Pair #3 + { 0x08, 0x00 }, // (Offset,Value)-Pair #4 + { 0x09, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0A, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x0B : mov dword ptr [eax+0x24F4], + { 0x0B, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x0C, 0x80 }, // (Offset,Value)-Pair #8 + { 0x0D, 0xF4 }, // (Offset,Value)-Pair #9 + { 0x0E, 0x24 }, // (Offset,Value)-Pair #10 + { 0x0F, 0x00 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x17 : and eax, 0x24F0 + { 0x17, 0x05 }, // (Offset,Value)-Pair #12 + { 0x18, 0xF0 }, // (Offset,Value)-Pair #13 + { 0x19, 0x24 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x24EC], eax + { 0x0A, 0x89 }, // (Offset,Value)-Pair #5 + { 0x0B, 0x81 }, // (Offset,Value)-Pair #6 + { 0x0C, 0xEC }, // (Offset,Value)-Pair #7 + { 0x0D, 0x24 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x00 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x11, 0x04 }, // (Offset,Value)-Pair #11 + { 0x12, 0x00 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderTarget +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderTarget_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderTarget+0x00 : sub esp, 0x20 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x20 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderTarget+0x32 : mov [esp+0x34], ebx + { 0x32, 0x89 }, // (Offset,Value)-Pair #4 + { 0x33, 0x5C }, // (Offset,Value)-Pair #5 + { 0x34, 0x24 }, // (Offset,Value)-Pair #6 + { 0x35, 0x34 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderTarget+0x55 : and ecx, 0x0F + { 0x55, 0x83 }, // (Offset,Value)-Pair #8 + { 0x56, 0xE1 }, // (Offset,Value)-Pair #9 + { 0x57, 0x0F }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderTarget+0xDC : push edx + { 0xDC, 0x52 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderTarget +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderTarget_1_0_3948 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderTarget+0x00 : sub esp, 0x30 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x30 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderTarget+0x32 : and ecx, 0x0F + { 0x32, 0x83 }, // (Offset,Value)-Pair #4 + { 0x33, 0xE1 }, // (Offset,Value)-Pair #5 + { 0x34, 0x0F }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderTarget+0x69 : push ebx + { 0x69, 0x53 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderTarget+0xDA : push edx + { 0xDA, 0x52 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * D3DSurface_GetDesc +// ****************************************************************** +SOOVPA<7> D3DSurface_GetDesc_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x04 }, + { 0x0A, 0x00 }, + { 0x11, 0xC2 }, + { 0x12, 0x08 }, + { 0x13, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetTransform +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetTransform+0x0A : add esi, 0x22 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0B, 0xC6 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x22 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetTransform+0x12 : shl esi, 6; add esi, eax + { 0x12, 0xC1 }, // (Offset,Value)-Pair #4 + { 0x13, 0xE6 }, // (Offset,Value)-Pair #5 + { 0x14, 0x06 }, // (Offset,Value)-Pair #6 + { 0x15, 0x03 }, // (Offset,Value)-Pair #7 + { 0x16, 0xF0 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetTransform+0x17 : mov ecx, 0x10 + { 0x17, 0xB9 }, // (Offset,Value)-Pair #7 + { 0x18, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetTransform+0x20 : retn 0x08 + { 0x20, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x21, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetStreamSource +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetStreamSource_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetStreamSource+0x39 : add edx, 0xFFF80000 + { 0x39, 0x81 }, // (Offset,Value)-Pair #1 + { 0x3A, 0xC2 }, // (Offset,Value)-Pair #2 + { 0x3B, 0x00 }, // (Offset,Value)-Pair #3 + { 0x3C, 0x00 }, // (Offset,Value)-Pair #4 + { 0x3D, 0xF8 }, // (Offset,Value)-Pair #5 + { 0x3E, 0xFF }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetStreamSource+0x49 : jnz +0x06 + { 0x49, 0x75 }, // (Offset,Value)-Pair #7 + { 0x4A, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetStreamSource+0x6A : or ecx, 0x280 + { 0x6A, 0x81 }, // (Offset,Value)-Pair #9 + { 0x6B, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x6C, 0x80 }, // (Offset,Value)-Pair #11 + { 0x6D, 0x02 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShader +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_3925 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShader+0x05 : test bl, 1 + { 0x05, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x06, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x07, 0x01 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShader+0x10 : mov eax, [esi+0x0470] + { 0x10, 0x8B }, // (Offset,Value)-Pair #4 + { 0x11, 0x86 }, // (Offset,Value)-Pair #5 + { 0x12, 0x70 }, // (Offset,Value)-Pair #6 + { 0x13, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetVertexShader+0x6D : retn 0x04 + { 0x6D, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x6E, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShader+0x8C : mov dword ptr [eax], 0x81E94 + { 0x8C, 0xC7 }, // (Offset,Value)-Pair #10 + { 0x8D, 0x40 }, // (Offset,Value)-Pair #11 + { 0x8E, 0x08 }, // (Offset,Value)-Pair #12 + { 0x8F, 0x94 }, // (Offset,Value)-Pair #13 + { 0x90, 0x1E }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreatePixelShader +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_CreatePixelShader_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreatePixelShader+0x00 : push 0xFC + { 0x00, 0x68 }, // (Offset,Value)-Pair #1 + { 0x01, 0xFC }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreatePixelShader+0x10 : mov eax, 0x8007000E + { 0x10, 0xB8 }, // (Offset,Value)-Pair #3 + { 0x11, 0x0E }, // (Offset,Value)-Pair #4 + { 0x12, 0x00 }, // (Offset,Value)-Pair #5 + { 0x13, 0x07 }, // (Offset,Value)-Pair #6 + { 0x14, 0x80 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreatePixelShader+0x31 : mov ecx, 0x3C + { 0x31, 0xB9 }, // (Offset,Value)-Pair #8 + { 0x32, 0x3C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_CreatePixelShader+0x42 : retn 0x08 + { 0x42, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x43, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0414] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0xB3 }, // (Offset,Value)-Pair #2 + { 0x10, 0x14 }, // (Offset,Value)-Pair #3 + { 0x11, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetPixelShader+0x34 : or eax, 0x40 + { 0x35, 0xC8 }, // (Offset,Value)-Pair #5 + { 0x36, 0x40 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetPixelShader+0x68 : retn 0x04 + { 0x68, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x69, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetPixelShader+0xE3 : rep movsd + { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 + { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 + + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetIndices +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 + { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 + { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetIndices+0x3E : test ecx, 0x78FFFF + { 0x3E, 0xF7 }, // (Offset,Value)-Pair #3 + { 0x3F, 0xC1 }, // (Offset,Value)-Pair #4 + { 0x40, 0xFF }, // (Offset,Value)-Pair #5 + { 0x41, 0xFF }, // (Offset,Value)-Pair #6 + { 0x42, 0x78 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetIndices+0x67 : mov [esi+0x047C], edi + { 0x67, 0x89 }, // (Offset,Value)-Pair #8 + { 0x68, 0xBE }, // (Offset,Value)-Pair #9 + { 0x69, 0x7C }, // (Offset,Value)-Pair #10 + { 0x6A, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetViewport +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetViewport_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetViewport+0x00 : sub esp, 0x08 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetViewport+0x2F : mov ebx, [esp+0x1C] + { 0x2F, 0x8B }, // (Offset,Value)-Pair #4 + { 0x30, 0x5C }, // (Offset,Value)-Pair #5 + { 0x31, 0x24 }, // (Offset,Value)-Pair #6 + { 0x32, 0x1C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetViewport+0x55 : jnz +0x12 + { 0x55, 0x75 }, // (Offset,Value)-Pair #8 + { 0x56, 0x12 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetViewport+0x9D : inc edx + { 0x9D, 0x42 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTexture +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetTexture_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTexture+0x0E : sub esp, 0x08 + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x84 }, // (Offset,Value)-Pair #2 + { 0x10, 0x9F }, // (Offset,Value)-Pair #3 + { 0x11, 0xA0 }, // (Offset,Value)-Pair #4 + { 0x12, 0x0B }, // (Offset,Value)-Pair #5 + { 0x13, 0x00 }, // (Offset,Value)-Pair #6 + { 0x14, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetTexture+0x57 : shl edx, 6 + { 0x57, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x58, 0xE2 }, // (Offset,Value)-Pair #9 + { 0x59, 0x06 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetTexture+0x7D : retn 0x08 + { 0x7D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x7E, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVertices +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_DrawIndexedVertices_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x0478] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x86 }, // (Offset,Value)-Pair #2 + { 0x10, 0x78 }, // (Offset,Value)-Pair #3 + { 0x11, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_DrawIndexedVertices+0x44 : mov dword ptr [ebx-8], 0x000417FC + { 0x44, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x45, 0x43 }, // (Offset,Value)-Pair #6 + { 0x46, 0xF8 }, // (Offset,Value)-Pair #7 + { 0x47, 0xFC }, // (Offset,Value)-Pair #8 + { 0x48, 0x17 }, // (Offset,Value)-Pair #9 + { 0x49, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_DrawIndexedVertices+0xDA : lea ebx, [ebx+0] + { 0xDA, 0x8D }, // (Offset,Value)-Pair #11 + { 0xDB, 0x9B }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Begin +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Begin_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Begin+0x20 : mov dword ptr [eax], 0x417FC + { 0x20, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x21, 0x00 }, // (Offset,Value)-Pair #2 + { 0x22, 0xFC }, // (Offset,Value)-Pair #3 + { 0x23, 0x17 }, // (Offset,Value)-Pair #4 + { 0x24, 0x04 }, // (Offset,Value)-Pair #5 + { 0x25, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_Begin+0x2E : shl edx, 6 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #7 + { 0x2F, 0x00 }, // (Offset,Value)-Pair #8 + { 0x30, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Begin+0x38 : retn 0x08 + { 0x38, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x39, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData2f +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_3925 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexData2f+0x11 : lea edx, ds:abs[ecx*8] + { 0x11, 0x8D }, // (Offset,Value)-Pair #1 + { 0x12, 0x14 }, // (Offset,Value)-Pair #2 + { 0x13, 0xCD }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexData2f+0x1C : mov [eax], edx; mov edx, [esp+0x10] + { 0x1C, 0x89 }, // (Offset,Value)-Pair #4 + { 0x1D, 0x10 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x8B }, // (Offset,Value)-Pair #6 + { 0x1F, 0x54 }, // (Offset,Value)-Pair #7 + { 0x20, 0x24 }, // (Offset,Value)-Pair #8 + { 0x21, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexData2f+0x28 : add eax, 0x0C + { 0x28, 0x83 }, // (Offset,Value)-Pair #10 + { 0x29, 0xC0 }, // (Offset,Value)-Pair #11 + { 0x2A, 0x0C }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_SetVertexData2f+0x2E : retn 0x0C + { 0x2E, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x2F, 0x0C }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData2s +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexData2s_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexData2s+0x11 : lea edx, ds:abs[ecx*4] + { 0x11, 0x8D }, // (Offset,Value)-Pair #1 + { 0x12, 0x14 }, // (Offset,Value)-Pair #2 + { 0x13, 0x8D }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexData2s+0x24 : shl ecx, 0x10 + { 0x24, 0xC1 }, // (Offset,Value)-Pair #4 + { 0x25, 0xE1 }, // (Offset,Value)-Pair #5 + { 0x26, 0x10 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVertexData2s+0x29 : mov [eax+4], ecx + { 0x29, 0x89 }, // (Offset,Value)-Pair #7 + { 0x2A, 0x48 }, // (Offset,Value)-Pair #8 + { 0x2B, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexData2s+0x32 : retn 0x0C + { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x33, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData4f +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexData4f_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexData4f+0x11 : cmp ecx, -1; jnz +0x07 + { 0x11, 0x83 }, // (Offset,Value)-Pair #1 + { 0x12, 0xF9 }, // (Offset,Value)-Pair #2 + { 0x13, 0xFF }, // (Offset,Value)-Pair #3 + { 0x14, 0x75 }, // (Offset,Value)-Pair #4 + { 0x15, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexData4f+0x1D : add ecx, 0x01A0 + { 0x1D, 0x81 }, // (Offset,Value)-Pair #6 + { 0x1E, 0xC1 }, // (Offset,Value)-Pair #7 + { 0x1F, 0xA0 }, // (Offset,Value)-Pair #8 + { 0x20, 0x01 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexData4f+0x50 : retn 0x14 + { 0x50, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x51, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexDataColor +// ****************************************************************** +SOOVPA<17> IDirect3DDevice8_SetVertexDataColor_1_0_3925 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexDataColor+0x1F : mov byte ptr [esp+?] + { 0x1F, 0x0F }, // (Offset,Value)-Pair #1 + { 0x20, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x21, 0x54 }, // (Offset,Value)-Pair #3 + { 0x22, 0x24 }, // (Offset,Value)-Pair #4 + { 0x23, 0x12 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexDataColor+0x26 : add edi, 0xFF; shl edi, 0x10 + { 0x26, 0x81 }, // (Offset,Value)-Pair #6 + { 0x27, 0xE7 }, // (Offset,Value)-Pair #7 + { 0x28, 0xFF }, // (Offset,Value)-Pair #8 + { 0x2C, 0xC1 }, // (Offset,Value)-Pair #9 + { 0x2D, 0xE7 }, // (Offset,Value)-Pair #10 + { 0x2E, 0x10 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetVertexDataColor+0x31 : and ecx, 0xFF00FF00 + { 0x31, 0x81 }, // (Offset,Value)-Pair #12 + { 0x32, 0xE1 }, // (Offset,Value)-Pair #13 + { 0x33, 0x00 }, // (Offset,Value)-Pair #14 + { 0x34, 0xFF }, // (Offset,Value)-Pair #15 + { 0x35, 0x00 }, // (Offset,Value)-Pair #16 + { 0x36, 0xFF }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_End +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_End_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_End+0x17 : mov dword ptr [eax], 0x417FC + { 0x17, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x18, 0x00 }, // (Offset,Value)-Pair #2 + { 0x19, 0xFC }, // (Offset,Value)-Pair #3 + { 0x1A, 0x17 }, // (Offset,Value)-Pair #4 + { 0x1B, 0x04 }, // (Offset,Value)-Pair #5 + { 0x1C, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_End+0x2C : test ah, 0x10 + { 0x2C, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x2D, 0xC4 }, // (Offset,Value)-Pair #8 + { 0x2E, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_End+0x2F : jz +0x07 + { 0x2F, 0x74 }, // (Offset,Value)-Pair #10 + { 0x30, 0x07 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_End+0x40 : retn + { 0x40, 0xC3 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Clear +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_Clear_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Clear+0x00 : sub esp, 0x38 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x38 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_Clear+0x25 : test cl, 1 + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x27, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_Clear+0x5D : mov [esi], eax; xor ebp, ebp + { 0x5D, 0x89 }, // (Offset,Value)-Pair #7 + { 0x5E, 0x06 }, // (Offset,Value)-Pair #8 + { 0x5F, 0x33 }, // (Offset,Value)-Pair #9 + { 0x60, 0xED }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreatePalette +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreatePalette_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreatePalette+0x01 : push 0x0C + { 0x01, 0x6A }, // (Offset,Value)-Pair #1 + { 0x02, 0x0C }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreatePalette+0x03 : push 0x40 + { 0x03, 0x6A }, // (Offset,Value)-Pair #3 + { 0x04, 0x40 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CreatePalette+0x10 : mov eax, 0x8007000E + { 0x10, 0xB8 }, // (Offset,Value)-Pair #5 + { 0x11, 0x0E }, // (Offset,Value)-Pair #6 + { 0x12, 0x00 }, // (Offset,Value)-Pair #7 + { 0x13, 0x07 }, // (Offset,Value)-Pair #8 + { 0x14, 0x80 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_CreatePalette+0x4E : shl esi, 0x1E + { 0x4E, 0xC1 }, // (Offset,Value)-Pair #10 + { 0x4F, 0xE6 }, // (Offset,Value)-Pair #11 + { 0x50, 0x1E }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPalette +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0BB0] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xB7 }, // (Offset,Value)-Pair #3 + { 0x10, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x11, 0x0B }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPalette+0x68 : add esi, 0x41B20 + { 0x68, 0x81 }, // (Offset,Value)-Pair #6 + { 0x69, 0xC6 }, // (Offset,Value)-Pair #7 + { 0x6A, 0x20 }, // (Offset,Value)-Pair #8 + { 0x6B, 0x1B }, // (Offset,Value)-Pair #9 + { 0x6C, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetPalette+0x7C : retn 0x08 + { 0x7C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x7D, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateTexture +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_CreateTexture_1_0_3925 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateTexture+0x00 : mov eax, [esp+0x1C] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x1C }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CreateTexture+0x0C : push eax + { 0x0C, 0x50 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateTexture+0x11 : push 0 + { 0x11, 0x6A }, // (Offset,Value)-Pair #6 + { 0x12, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateTexture+0x13 : push 0 + { 0x13, 0x6A }, // (Offset,Value)-Pair #8 + { 0x14, 0x00 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_CreateTexture+0x15 : push ecx + { 0x15, 0x51 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_CreateTexture+0x22 : push ecx + { 0x22, 0x51 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_CreateTexture+0x23 : push edx + { 0x23, 0x52 }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_CreateTexture+0x29 : retn 0x1C + { 0x29, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x2A, 0x1C }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVolumeTexture +// ****************************************************************** +SOOVPA<15> IDirect3DDevice8_CreateVolumeTexture_1_0_3925 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateVolumeTexture+0x00 : mov eax, [esp+0x1C] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CreateVolumeTexture+0x0C : push eax + { 0x0C, 0x50 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateVolumeTexture+0x11 : push 1 + { 0x11, 0x6A }, // (Offset,Value)-Pair #6 + { 0x12, 0x01 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateVolumeTexture+0x13 : push 0 + { 0x13, 0x6A }, // (Offset,Value)-Pair #8 + { 0x14, 0x00 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_CreateVolumeTexture+0x16 : mov ecx, [esp+0x1C] + { 0x16, 0x8B }, // (Offset,Value)-Pair #10 + { 0x17, 0x4C }, // (Offset,Value)-Pair #11 + { 0x18, 0x24 }, // (Offset,Value)-Pair #12 + { 0x19, 0x1C }, // (Offset,Value)-Pair #13 + + // IDirect3DDevice8_CreateVolumeTexture+0x2C : retn 0x20 + { 0x2C, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x2D, 0x20 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateCubeTexture +// ****************************************************************** +SOOVPA<15> IDirect3DDevice8_CreateCubeTexture_1_0_3925 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateCubeTexture+0x00 : mov eax, [esp+0x1C] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CreateCubeTexture+0x0C : push eax + { 0x0C, 0x50 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateCubeTexture+0x11 : push 0 + { 0x11, 0x6A }, // (Offset,Value)-Pair #6 + { 0x12, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateCubeTexture+0x13 : push 1 + { 0x13, 0x6A }, // (Offset,Value)-Pair #8 + { 0x14, 0x01 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_CreateCubeTexture+0x18 : mov eax, [esp+0x1C] + { 0x18, 0x8B }, // (Offset,Value)-Pair #10 + { 0x19, 0x44 }, // (Offset,Value)-Pair #11 + { 0x1A, 0x24 }, // (Offset,Value)-Pair #12 + { 0x1B, 0x1C }, // (Offset,Value)-Pair #13 + + // IDirect3DDevice8_CreateCubeTexture+0x25 : retn 0x18 + { 0x25, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x26, 0x18 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateIndexBuffer +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_CreateIndexBuffer_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateIndexBuffer+0x13 : mov eax, 0x8007000E + { 0x13, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x14, 0x0E }, // (Offset,Value)-Pair #2 + { 0x15, 0x00 }, // (Offset,Value)-Pair #3 + { 0x16, 0x07 }, // (Offset,Value)-Pair #4 + { 0x17, 0x80 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateIndexBuffer+0x18 : retn 0x14 + { 0x18, 0xC2 }, // (Offset,Value)-Pair #6 + { 0x19, 0x14 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateIndexBuffer+0x2E : mov dword ptr [eax], 0x1010001 + { 0x2E, 0xC7 }, // (Offset,Value)-Pair #8 + { 0x2F, 0x00 }, // (Offset,Value)-Pair #9 + { 0x30, 0x01 }, // (Offset,Value)-Pair #10 + { 0x31, 0x00 }, // (Offset,Value)-Pair #11 + { 0x32, 0x01 }, // (Offset,Value)-Pair #12 + { 0x33, 0x01 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexShader +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreateVertexShader_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp + { 0x00, 0x51 }, // (Offset,Value)-Pair #1 + { 0x01, 0x53 }, // (Offset,Value)-Pair #2 + { 0x02, 0x55 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_CreateVertexShader+0x0A : jz +0x10 + { 0x0A, 0x74 }, // (Offset,Value)-Pair #4 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateVertexShader+0x43 : shl eax, 0x02 + { 0x43, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x44, 0xE0 }, // (Offset,Value)-Pair #7 + { 0x45, 0x02 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CreateVertexShader+0x66 : retn 0x10 + { 0x66, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x67, 0x10 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_CreateVertexShader+0x73 : rep stosb + { 0x73, 0xF3 }, // (Offset,Value)-Pair #11 + { 0x74, 0xAB }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x0C] + { 0x11, 0x8A }, // (Offset,Value)-Pair #1 + { 0x12, 0x4B }, // (Offset,Value)-Pair #2 + { 0x13, 0x0C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant+0x1A : test cl, 0x10 + { 0x1A, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x1B, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x1C, 0x10 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVertexShaderConstant+0x63 : jle +0x19 + { 0x63, 0x7E }, // (Offset,Value)-Pair #7 + { 0x64, 0x19 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant+0x9B : retn 0x0C + { 0x9B, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x9C, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetFlickerFilter+0x0A : mov edx, [ecx+0x2308] + { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0B, 0x91 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x08 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x23 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetFlickerFilter+0x10 : push 0; push eax; push 0x0B; push edx + { 0x10, 0x6A }, // (Offset,Value)-Pair #5 + { 0x11, 0x00 }, // (Offset,Value)-Pair #6 + { 0x12, 0x50 }, // (Offset,Value)-Pair #7 + { 0x13, 0x6A }, // (Offset,Value)-Pair #8 + { 0x14, 0x0B }, // (Offset,Value)-Pair #9 + { 0x15, 0x52 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetFlickerFilter+0x1C : retn 0x08 + { 0x1C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1D, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetSoftDisplayFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetSoftDisplayFilter+0x0A : mov edx, [ecx+0x2308] + { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0B, 0x91 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x08 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x23 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x10 : push 0; push eax; push 0x0E; push edx + { 0x10, 0x6A }, // (Offset,Value)-Pair #5 + { 0x11, 0x00 }, // (Offset,Value)-Pair #6 + { 0x12, 0x50 }, // (Offset,Value)-Pair #7 + { 0x13, 0x6A }, // (Offset,Value)-Pair #8 + { 0x14, 0x0E }, // (Offset,Value)-Pair #9 + { 0x15, 0x52 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x1C : retn 0x08 + { 0x1C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1D, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TexCoordIndex +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x0B : shl eax, 0x07 + { 0x0B, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x0C, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x0D, 0x07 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x24 : cmp eax, 0x20000 + { 0x24, 0x81 }, // (Offset,Value)-Pair #4 + { 0x25, 0xF9 }, // (Offset,Value)-Pair #5 + { 0x28, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x3B : mov edi, 0x8511 + { 0x3B, 0xBF }, // (Offset,Value)-Pair #7 + { 0x3C, 0x11 }, // (Offset,Value)-Pair #8 + { 0x3D, 0x85 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x97 : shl eax, cl + { 0x97, 0xD3 }, // (Offset,Value)-Pair #10 + { 0x98, 0xE0 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_BorderColor +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_BorderColor+0x13 : shl eax, 0x07 + { 0x13, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x14, 0xE2 }, // (Offset,Value)-Pair #2 + { 0x15, 0x06 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x16 : add edx, 0x41B24 + { 0x16, 0x81 }, // (Offset,Value)-Pair #4 + { 0x17, 0xC2 }, // (Offset,Value)-Pair #5 + { 0x18, 0x24 }, // (Offset,Value)-Pair #6 + { 0x19, 0x1B }, // (Offset,Value)-Pair #7 + { 0x1A, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x2A : shl ecx, 7 + { 0x2A, 0xC1 }, // (Offset,Value)-Pair #9 + { 0x2B, 0xE1 }, // (Offset,Value)-Pair #10 + { 0x2C, 0x07 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x34 : retn 0x08 + { 0x34, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x35, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_PSTextureModes +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_PSTextureModes+0x0C : or edx, 0x400 + { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xCA }, // (Offset,Value)-Pair #2 + { 0x0E, 0x00 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_PSTextureModes+0x12 : mov [eax+0x420], ecx + { 0x12, 0x89 }, // (Offset,Value)-Pair #5 + { 0x13, 0x88 }, // (Offset,Value)-Pair #6 + { 0x14, 0x20 }, // (Offset,Value)-Pair #7 + { 0x15, 0x04 }, // (Offset,Value)-Pair #8 + { 0x16, 0x00 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_PSTextureModes+0x21 : retn 4 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilFail +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_StencilFail+0x19 : mov ecx, 2 + { 0x19, 0xB9 }, // (Offset,Value)-Pair #1 + { 0x1A, 0x02 }, // (Offset,Value)-Pair #2 + { 0x1B, 0x00 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x3E : or ecx, 1 + { 0x3E, 0x83 }, // (Offset,Value)-Pair #4 + { 0x3F, 0xC9 }, // (Offset,Value)-Pair #5 + { 0x40, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x48 : mov dword ptr [eax], 0x00041D84 + { 0x48, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x49, 0x00 }, // (Offset,Value)-Pair #8 + { 0x4A, 0x84 }, // (Offset,Value)-Pair #9 + { 0x4B, 0x1D }, // (Offset,Value)-Pair #10 + { 0x4C, 0x04 }, // (Offset,Value)-Pair #11 + { 0x4D, 0x00 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_CullMode +// ****************************************************************** +SOOVPA<15> IDirect3DDevice8_SetRenderState_CullMode_1_0_3925 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_CullMode+0x42 : mov dword ptr [eax+8], 0x4039C + { 0x42, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x43, 0x40 }, // (Offset,Value)-Pair #2 + { 0x44, 0x08 }, // (Offset,Value)-Pair #3 + { 0x45, 0x9C }, // (Offset,Value)-Pair #4 + { 0x46, 0x03 }, // (Offset,Value)-Pair #5 + { 0x47, 0x04 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_CullMode+0x49 : add eax, 0x10 + { 0x49, 0x83 }, // (Offset,Value)-Pair #7 + { 0x4A, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x4B, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_CullMode+0x5F : retn 4 + { 0x5F, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x60, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_CullMode+0x4D : add edx, 0x404 + { 0x4D, 0x81 }, // (Offset,Value)-Pair #12 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #14 + { 0x50, 0x04 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Simple +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08 + { 0x05, 0x83 }, // (Offset,Value)-Pair #1 + { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x07, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_Simple+0x0E : jnb +0x0C + { 0x0E, 0x73 }, // (Offset,Value)-Pair #4 + { 0x0F, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_Simple+0x15 : mov [eax-8], ecx + { 0x15, 0x89 }, // (Offset,Value)-Pair #6 + { 0x16, 0x48 }, // (Offset,Value)-Pair #7 + { 0x17, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_Simple+0x18 : mov [eax-4], ecx + { 0x18, 0x89 }, // (Offset,Value)-Pair #9 + { 0x19, 0x50 }, // (Offset,Value)-Pair #10 + { 0x1A, 0xFC }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_Simple+0x2B : jmp +0xD3 + { 0x2B, 0xEB }, // (Offset,Value)-Pair #12 + { 0x2C, 0xD3 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTransform +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTransform+0x3A : fld dword ptr [edx+0x28] + { 0x3A, 0xD9 }, // (Offset,Value)-Pair #1 + { 0x3B, 0x42 }, // (Offset,Value)-Pair #2 + { 0x3C, 0x28 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTransform+0x47 : test ah, 0x44 + { 0x47, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x48, 0xC4 }, // (Offset,Value)-Pair #5 + { 0x49, 0x44 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTransform+0x55 : fnstsw ax + { 0x55, 0xDF }, // (Offset,Value)-Pair #7 + { 0x56, 0xE0 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTransform+0x7A : fdivp st(1), st + { 0x7A, 0xDE }, // (Offset,Value)-Pair #9 + { 0x7B, 0xF9 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FogColor +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_FogColor_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FogColor+0x2E : mov dword ptr [eax], 0x402A8 + { 0x2E, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x2F, 0x00 }, // (Offset,Value)-Pair #2 + { 0x30, 0xA8 }, // (Offset,Value)-Pair #3 + { 0x31, 0x02 }, // (Offset,Value)-Pair #4 + { 0x32, 0x04 }, // (Offset,Value)-Pair #5 + { 0x33, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_FogColor+0x37 : add eax, 0x08 + { 0x37, 0x83 }, // (Offset,Value)-Pair #7 + { 0x38, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x39, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_FogColor+0x44 : retn 0x04 + { 0x44, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x45, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FillMode +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FillMode+0x23 : mov dword ptr [eax], 0x8038C + { 0x23, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x24, 0x00 }, // (Offset,Value)-Pair #2 + { 0x25, 0x8C }, // (Offset,Value)-Pair #3 + { 0x26, 0x03 }, // (Offset,Value)-Pair #4 + { 0x27, 0x08 }, // (Offset,Value)-Pair #5 + { 0x28, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_FillMode+0x2F : add eax, 0x0C + { 0x2F, 0x83 }, // (Offset,Value)-Pair #7 + { 0x30, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x31, 0x0C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_FillMode+0x3B : retn 0x04 + { 0x3B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x3C, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilEnable +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_StencilEnable+0x45 : mov dword ptr [eax], 0x41D84 + { 0x45, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x46, 0x00 }, // (Offset,Value)-Pair #2 + { 0x47, 0x84 }, // (Offset,Value)-Pair #3 + { 0x48, 0x1D }, // (Offset,Value)-Pair #4 + { 0x49, 0x04 }, // (Offset,Value)-Pair #5 + { 0x4A, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x71 : add eax, 0x08 + { 0x71, 0x83 }, // (Offset,Value)-Pair #7 + { 0x72, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x73, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x7D : retn 0x04 + { 0x7D, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x7E, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [esi+0x040C] + { 0x0C, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0D, 0x86 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x0C }, // (Offset,Value)-Pair #3 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #4 + { 0x10, 0x00 }, // (Offset,Value)-Pair #5 + { 0x11, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x22 : cmp dl, 0x20 + { 0x22, 0x80 }, // (Offset,Value)-Pair #7 + { 0x23, 0xFA }, // (Offset,Value)-Pair #8 + { 0x24, 0x20 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x74 : retn 0x04 + { 0x74, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x75, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZBias +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_ZBias_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZBias+0x0B : setnz al + { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x0C, 0x95 }, // (Offset,Value)-Pair #2 + { 0x0D, 0xC0 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_ZBias+0x14 : fild [esp+0x10] + { 0x14, 0xDB }, // (Offset,Value)-Pair #4 + { 0x15, 0x44 }, // (Offset,Value)-Pair #5 + { 0x16, 0x24 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZBias+0x45 : push 0x4E + { 0x45, 0x6A }, // (Offset,Value)-Pair #7 + { 0x46, 0x4E }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_ZBias+0x45 : retn 0x04 + { 0x71, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x72, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZEnable+0x13 : jz +0x11 + { 0x13, 0x74 }, // (Offset,Value)-Pair #1 + { 0x14, 0x11 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x15 : mov edx, [esi+0x0410] + { 0x15, 0x8B }, // (Offset,Value)-Pair #3 + { 0x16, 0x96 }, // (Offset,Value)-Pair #4 + { 0x17, 0x10 }, // (Offset,Value)-Pair #5 + { 0x18, 0x04 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x28 : mov dword ptr [eax], 0x4030 + { 0x28, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x29, 0x00 }, // (Offset,Value)-Pair #8 + { 0x2A, 0x0C }, // (Offset,Value)-Pair #9 + { 0x2B, 0x03 }, // (Offset,Value)-Pair #10 + { 0x2C, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x69 : retn 0x04 + { 0x69, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x6A, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Release +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Release_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Release+0x07 : mov eax, [edi+0x0408] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x87 }, // (Offset,Value)-Pair #2 + { 0x09, 0x08 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_Release+0x0D : cmp eax, 1 + { 0x0D, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0E, 0xF8 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x01 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_Release+0x1B : mov ecx, 0x0AE4 + { 0x1B, 0xB9 }, // (Offset,Value)-Pair #8 + { 0x1C, 0xE4 }, // (Offset,Value)-Pair #9 + { 0x1D, 0x0A }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_Release+0x2E : dec eax + { 0x2E, 0x48 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Present +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_Present_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Present+0x0A : push 2 + { 0x0A, 0x6A }, // (Offset,Value)-Pair #1 + { 0x0B, 0x02 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Present+0x11 : mov eax, [esi+2518] + { 0x11, 0x8B }, // (Offset,Value)-Pair #3 + { 0x12, 0x86 }, // (Offset,Value)-Pair #4 + { 0x13, 0x18 }, // (Offset,Value)-Pair #5 + { 0x14, 0x25 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_Present+0xBE : shr ebx, 1 + { 0xBE, 0xD1 }, // (Offset,Value)-Pair #7 + { 0xBF, 0xEB }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_Present+0xC0 : xor edi, edi + { 0xC0, 0x33 }, // (Offset,Value)-Pair #9 + { 0xC1, 0xFF }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetShaderConstantMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetShaderConstantMode+0x26 : mov [ebp+0x2140], eax + { 0x26, 0x89 }, // (Offset,Value)-Pair #1 + { 0x27, 0x85 }, // (Offset,Value)-Pair #2 + { 0x28, 0x40 }, // (Offset,Value)-Pair #3 + { 0x29, 0x21 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetShaderConstantMode+0x51 : mov dword ptr [ebx+0x04], 0x3C + { 0x51, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x52, 0x43 }, // (Offset,Value)-Pair #6 + { 0x53, 0x04 }, // (Offset,Value)-Pair #7 + { 0x54, 0x3C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetShaderConstantMode+0xE4 : add ebx, 0x0124 + { 0xE4, 0x81 }, // (Offset,Value)-Pair #9 + { 0xE5, 0xC3 }, // (Offset,Value)-Pair #10 + { 0xE6, 0x24 }, // (Offset,Value)-Pair #11 + { 0xE7, 0x01 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer+0x0D : jnz +0x07 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer+0x1E : lea eax, [ecx+eax*8+0x2150] + { 0x1E, 0x8D }, // (Offset,Value)-Pair #6 + { 0x1F, 0x84 }, // (Offset,Value)-Pair #7 + { 0x20, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x21, 0x50 }, // (Offset,Value)-Pair #9 + { 0x22, 0x21 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer+0x31 : retn 0x0C + { 0x31, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x32, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetRenderTarget +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_GetRenderTarget_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetRenderTarget+0x05 : mov eax, [eax + 0x040C] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x0C }, // (Offset,Value)-Pair #4 + { 0x08, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetRenderTarget+0x11 : mov [ecx], eax + { 0x11, 0x89 }, // (Offset,Value)-Pair #6 + { 0x12, 0x01 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetRenderTarget+0x1D : retn 0x04 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x1E, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDepthStencilSurface +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetDepthStencilSurface+0x06 : mov eax, [eax + 0x0410] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x10 }, // (Offset,Value)-Pair #4 + { 0x08, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetDepthStencilSurface+0x13 : jnz +0x04 + { 0x13, 0x74 }, // (Offset,Value)-Pair #6 + { 0x14, 0x0B }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetDepthStencilSurface+0x16 : call [addr] + { 0x16, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDepthStencilSurface+0x25 : retn + { 0x25, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x26, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexBuffer +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_CreateVertexBuffer_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateVertexBuffer+0x03 : push 0x40 + { 0x03, 0x6A }, // (Offset,Value)-Pair #1 + { 0x04, 0x40 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateVertexBuffer+0x10 : mov eax, [esp+8] + { 0x10, 0x8B }, // (Offset,Value)-Pair #3 + { 0x11, 0x44 }, // (Offset,Value)-Pair #4 + { 0x12, 0x24 }, // (Offset,Value)-Pair #5 + { 0x13, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_CreateVertexBuffer+0x48 : mov dword ptr [esi], 0x01000001 + { 0x48, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x49, 0x06 }, // (Offset,Value)-Pair #8 + { 0x4A, 0x01 }, // (Offset,Value)-Pair #9 + { 0x4B, 0x00 }, // (Offset,Value)-Pair #10 + { 0x4D, 0x01 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_CreateVertexBuffer+0x53 : retn 0x14 + { 0x53, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x54, 0x14 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock +// ****************************************************************** +SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] + { 0x01, 0x8A }, // (Offset,Value)-Pair #1 + { 0x02, 0x5C }, // (Offset,Value)-Pair #2 + { 0x03, 0x24 }, // (Offset,Value)-Pair #3 + { 0x04, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DVertexBuffer8_Lock+0x09 : jnz +0x24 + { 0x09, 0x75 }, // (Offset,Value)-Pair #5 + { 0x0A, 0x1E }, // (Offset,Value)-Pair #6 + + // IDirect3DVertexBuffer8_Lock+0x29 : test bl, 0xA0 + { 0x29, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x2A, 0xC3 }, // (Offset,Value)-Pair #8 + { 0x2B, 0xA0 }, // (Offset,Value)-Pair #9 + + // IDirect3DVertexBuffer8_Lock+0x4A : retn 0x14 + { 0x4A, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4B, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_Register +// ****************************************************************** +SOOVPA<19> IDirect3DResource8_Register_1_0_3925 = +{ + 0, // Large == 0 + 19, // Count == 19 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_Register+0x00 : mov ecx, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x4C }, // (Offset,Value)-Pair #2 + { 0x03, 0x04 }, // (Offset,Value)-Pair #3 + + // IDirect3DResource8_Register+0x04 : mov edx, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #4 + { 0x05, 0x54 }, // (Offset,Value)-Pair #5 + { 0x07, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DResource8_Register+0x08 : mov eax, [ecx+0x04] + { 0x08, 0x8B }, // (Offset,Value)-Pair #7 + { 0x09, 0x41 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DResource8_Register+0x0F : and edx, 0x00070000 + { 0x0F, 0x81 }, // (Offset,Value)-Pair #10 + { 0x10, 0xE2 }, // (Offset,Value)-Pair #11 + { 0x13, 0x07 }, // (Offset,Value)-Pair #12 + + // IDirect3DResource8_Register+0x15 : cmp edx, 0x00020000 + { 0x15, 0x81 }, // (Offset,Value)-Pair #13 + { 0x16, 0xFA }, // (Offset,Value)-Pair #14 + { 0x19, 0x02 }, // (Offset,Value)-Pair #15 + + // IDirect3DResource8_Register+0x1B : jnz +0x05 + { 0x1B, 0x74 }, // (Offset,Value)-Pair #16 + { 0x1C, 0x05 }, // (Offset,Value)-Pair #17 + + // IDirect3DResource8_Register+0x25 : retn 0x08 + { 0x25, 0xC2 }, // (Offset,Value)-Pair #18 + { 0x26, 0x08 }, // (Offset,Value)-Pair #19 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_Release +// ****************************************************************** +SOOVPA<11> IDirect3DResource8_Release_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF + { 0x09, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xFF }, // (Offset,Value)-Pair #3 + { 0x0C, 0xFF }, // (Offset,Value)-Pair #4 + + // IDirect3DResource8_Release+0x14 : and eax, 0x00070000 + { 0x14, 0x25 }, // (Offset,Value)-Pair #5 + { 0x17, 0x07 }, // (Offset,Value)-Pair #6 + + // IDirect3DResource8_Release+0x19 : cmp eax, 0x00050000 + { 0x19, 0x3D }, // (Offset,Value)-Pair #7 + { 0x1C, 0x05 }, // (Offset,Value)-Pair #8 + + // IDirect3DResource8_Release+0x3E : pop esi + { 0x3E, 0x5E }, // (Offset,Value)-Pair #9 + + // IDirect3DResource8_Release+0x4B : retn 0x04 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4C, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_AddRef +// ****************************************************************** +SOOVPA<10> IDirect3DResource8_AddRef_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_AddRef+0x07 : test eax, 0xFFFF + { 0x07, 0xA9 }, // (Offset,Value)-Pair #1 + { 0x08, 0xFF }, // (Offset,Value)-Pair #2 + { 0x09, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DResource8_AddRef+0x0E : and eax, 0x00070000 + { 0x0E, 0x25 }, // (Offset,Value)-Pair #4 + { 0x11, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DResource8_AddRef+0x13 : cmp eax, 0x00050000 + { 0x13, 0x3D }, // (Offset,Value)-Pair #6 + { 0x16, 0x05 }, // (Offset,Value)-Pair #7 + + // IDirect3DResource8_AddRef+0x33 : pop esi + { 0x33, 0x5E }, // (Offset,Value)-Pair #8 + + // IDirect3DResource8_AddRef+0x34 : retn 0x04 + { 0x34, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x35, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_IsBusy +// ****************************************************************** +SOOVPA<11> IDirect3DResource8_IsBusy_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_IsBusy+0x24 : test eax, 0x780000 + { 0x24, 0xA9 }, // (Offset,Value)-Pair #1 + { 0x25, 0x00 }, // (Offset,Value)-Pair #2 + { 0x26, 0x00 }, // (Offset,Value)-Pair #3 + { 0x27, 0x78 }, // (Offset,Value)-Pair #4 + + // IDirect3DResource8_IsBusy+0x35 : jnz +0x44 + { 0x35, 0x75 }, // (Offset,Value)-Pair #5 + { 0x36, 0x44 }, // (Offset,Value)-Pair #6 + + // IDirect3DResource8_IsBusy+0x4E : mov eax, [ecx+0x14] + { 0x4E, 0x8B }, // (Offset,Value)-Pair #7 + { 0x4F, 0x41 }, // (Offset,Value)-Pair #8 + { 0x50, 0x14 }, // (Offset,Value)-Pair #9 + + // IDirect3DResource8_IsBusy+0x79 : jnb +0x09 + { 0x79, 0x73 }, // (Offset,Value)-Pair #10 + { 0x7A, 0x09 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DSurface8_LockRect +// ****************************************************************** +SOOVPA<16> IDirect3DSurface8_LockRect_1_0_3925 = +{ + 0, // Large == 0 + 16, // Count == 16 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DSurface8_LockRect+0x00 : mov eax, [esp+0x10] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirect3DSurface8_LockRect+0x04 : mov ecx, [esp+0x0C] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x4C }, // (Offset,Value)-Pair #6 + { 0x06, 0x24 }, // (Offset,Value)-Pair #7 + { 0x07, 0x0C }, // (Offset,Value)-Pair #8 + + // IDirect3DSurface8_LockRect+0x0C : push eax + { 0x0C, 0x50 }, // (Offset,Value)-Pair #9 + + // IDirect3DSurface8_LockRect+0x11 : push ecx; push edx; push 0; push 0 + { 0x11, 0x51 }, // (Offset,Value)-Pair #10 + { 0x12, 0x52 }, // (Offset,Value)-Pair #11 + { 0x13, 0x6A }, // (Offset,Value)-Pair #12 + { 0x15, 0x6A }, // (Offset,Value)-Pair #13 + + // IDirect3DSurface8_LockRect+0x18 : call [abs] + { 0x18, 0xE8 }, // (Offset,Value)-Pair #14 + + // IDirect3DSurface8_LockRect+0x11 : retn 0x10 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #15 + { 0x1E, 0x10 }, // (Offset,Value)-Pair #16 + } +}; + +// ****************************************************************** +// * IDirect3DPalette8_Lock +// ****************************************************************** +SOOVPA<13> IDirect3DPalette8_Lock_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DPalette8_Lock+0x00 : test [esp+0x0C], 0xA0 + { 0x00, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x0C }, // (Offset,Value)-Pair #4 + { 0x04, 0xA0 }, // (Offset,Value)-Pair #5 + + // IDirect3DPalette8_Lock+0x0A : jnz +0x06 + { 0x0A, 0x75 }, // (Offset,Value)-Pair #6 + { 0x0B, 0x06 }, // (Offset,Value)-Pair #7 + + // IDirect3DPalette8_Lock+0x18 : mov ecx, [esp+0x0C] + { 0x18, 0x8B }, // (Offset,Value)-Pair #8 + { 0x19, 0x4C }, // (Offset,Value)-Pair #9 + { 0x1A, 0x24 }, // (Offset,Value)-Pair #10 + { 0x1B, 0x0C }, // (Offset,Value)-Pair #11 + + // IDirect3DPalette8_Lock+0x1C : mov [ecx], eax + { 0x1C, 0x89 }, // (Offset,Value)-Pair #12 + { 0x1D, 0x01 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_LockRect +// ****************************************************************** +SOOVPA<17> IDirect3DTexture8_LockRect_1_0_3925 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DTexture8_LockRect+0x00 : mov eax, [esp+0x14] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x14 }, // (Offset,Value)-Pair #4 + + // IDirect3DTexture8_LockRect+0x04 : mov ecx, [esp+0x10] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x4C }, // (Offset,Value)-Pair #6 + { 0x06, 0x24 }, // (Offset,Value)-Pair #7 + { 0x07, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DTexture8_LockRect+0x0C : push eax, push ecx, push edx, push eax, push 0 + { 0x0C, 0x50 }, // (Offset,Value)-Pair #9 + { 0x11, 0x51 }, // (Offset,Value)-Pair #10 + { 0x16, 0x52 }, // (Offset,Value)-Pair #11 + { 0x17, 0x50 }, // (Offset,Value)-Pair #12 + { 0x18, 0x6A }, // (Offset,Value)-Pair #13 + { 0x19, 0x00 }, // (Offset,Value)-Pair #14 + + // IDirect3DTexture8_LockRect+0x1B : call [addr] + { 0x1B, 0xE8 }, // (Offset,Value)-Pair #15 + + // IDirect3DTexture8_LockRect+0x20 : retn 0x14 + { 0x20, 0xC2 }, // (Offset,Value)-Pair #16 + { 0x21, 0x14 }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * IDirect3DVolumeTexture8_LockBox +// ****************************************************************** +SOOVPA<11> IDirect3DVolumeTexture8_LockBox_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVolumeTexture8_LockBox+0x08 : test bl, 0x20 + { 0x08, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x09, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x0A, 0x20 }, // (Offset,Value)-Pair #3 + + // IDirect3DVolumeTexture8_LockBox+0x40 : test bl, 0x40 + { 0x40, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x41, 0xC3 }, // (Offset,Value)-Pair #5 + { 0x42, 0x40 }, // (Offset,Value)-Pair #6 + + // IDirect3DVolumeTexture8_LockBox+0x83 : lea ecx, [eax+edx] + { 0x83, 0x8D }, // (Offset,Value)-Pair #7 + { 0x84, 0x0C }, // (Offset,Value)-Pair #8 + { 0x85, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DVolumeTexture8_LockBox+0x99 : retn 0x14 + { 0x99, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x9A, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DCubeTexture8_LockRect +// ****************************************************************** +SOOVPA<11> IDirect3DCubeTexture8_LockRect_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DCubeTexture8_LockRect+0x06 : test bl, 0x20 + { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x08, 0x20 }, // (Offset,Value)-Pair #3 + + // IDirect3DCubeTexture8_LockRect+0x3F : test bl, 0x40 + { 0x3F, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x40, 0xC3 }, // (Offset,Value)-Pair #5 + { 0x41, 0x40 }, // (Offset,Value)-Pair #6 + + // IDirect3DCubeTexture8_LockRect+0x71 : shr edx, 0x03 + { 0x71, 0xC1 }, // (Offset,Value)-Pair #7 + { 0x72, 0xEA }, // (Offset,Value)-Pair #8 + { 0x73, 0x03 }, // (Offset,Value)-Pair #9 + + // IDirect3DCubeTexture8_LockRect+0x98 : retn 0x18 + { 0x98, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x99, 0x18 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_GetSurfaceLevel +// ****************************************************************** +SOOVPA<11> IDirect3DTexture8_GetSurfaceLevel_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DTexture8_GetSurfaceLevel+0x08 : lea [esp+0x14] + { 0x08, 0x8D }, // (Offset,Value)-Pair #1 + { 0x0B, 0x14 }, // (Offset,Value)-Pair #2 + + // IDirect3DTexture8_GetSurfaceLevel+0x17 : mov edx, [esp+0x24] + { 0x17, 0x8B }, // (Offset,Value)-Pair #3 + { 0x1A, 0x24 }, // (Offset,Value)-Pair #4 + + // IDirect3DTexture8_GetSurfaceLevel+0x20 : lea ecx, [esp+0x28] + { 0x23, 0x28 }, // (Offset,Value)-Pair #4 + + // IDirect3DTexture8_GetSurfaceLevel+0x24 : push ecx + { 0x24, 0x51 }, // (Offset,Value)-Pair #6 + + // IDirect3DTexture8_GetSurfaceLevel+0x25 : push edx + { 0x25, 0x52 }, // (Offset,Value)-Pair #7 + + // IDirect3DTexture8_GetSurfaceLevel+0x26 : push 0 + { 0x26, 0x6A }, // (Offset,Value)-Pair #8 + + // IDirect3DTexture8_GetSurfaceLevel+0x43 : call [abs] + { 0x43, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DTexture8_GetSurfaceLevel+0x4C : retn 0x0C + { 0x4C, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4D, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * Lock2DSurface +// ****************************************************************** +SOOVPA<11> Lock2DSurface_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x08, 0x20 }, // (Offset,Value)-Pair #3 + + { 0x3F, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x40, 0xC3 }, // (Offset,Value)-Pair #5 + { 0x41, 0x40 }, // (Offset,Value)-Pair #6 + + { 0x71, 0xC1 }, // (Offset,Value)-Pair #7 + { 0x72, 0xEA }, // (Offset,Value)-Pair #8 + { 0x73, 0x03 }, // (Offset,Value)-Pair #9 + + { 0x98, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x99, 0x18 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x56 : cmp eax, [edx+0x2154] + { 0x56, 0x3B }, // (Offset,Value)-Pair #5 + { 0x57, 0x82 }, // (Offset,Value)-Pair #6 + { 0x58, 0x54 }, // (Offset,Value)-Pair #7 + { 0x59, 0x21 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderSize +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetVertexShaderSize_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x85 }, + { 0x07, 0x09 }, + { 0x0A, 0x24 }, + { 0x0D, 0x51 }, + { 0x10, 0x10 }, + { 0x13, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetGammaRamp +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetGammaRamp+0x11 : and eax, 1; push ebx + { 0x11, 0x83 }, // (Offset,Value)-Pair #1 + { 0x12, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x13, 0x01 }, // (Offset,Value)-Pair #3 + { 0x14, 0x53 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetGammaRamp+0x2F : rep movsd + { 0x2F, 0xF3 }, // (Offset,Value)-Pair #5 + { 0x30, 0xA5 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetGammaRamp+0x3E : push ebx; mov ecx, edx + { 0x3E, 0x53 }, // (Offset,Value)-Pair #7 + { 0x3F, 0x8B }, // (Offset,Value)-Pair #8 + { 0x40, 0xCA }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetMaterial_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetMaterial+0x0B : lea edi, [eax+0xB18] + { 0x0B, 0x8D }, // (Offset,Value)-Pair #1 + { 0x0C, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x0D, 0x18 }, // (Offset,Value)-Pair #3 + { 0x0E, 0x0B }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetMaterial+0x11 : mov ecx, 0x11 + { 0x11, 0xB9 }, // (Offset,Value)-Pair #5 + { 0x12, 0x11 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetMaterial+0x1C : or ecx, 0x20 + { 0x1B, 0x83 }, // (Offset,Value)-Pair #7 + { 0x1C, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x1D, 0x20 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetMaterial+0x23 : retn 0x04 + { 0x23, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x24, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_AddRef +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_AddRef_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_AddRef+0x05 : mov ecx, [eax+0x0408] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x88 }, // (Offset,Value)-Pair #3 + { 0x07, 0x08 }, // (Offset,Value)-Pair #4 + { 0x08, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_AddRef+0x05 : mov [eax+0x0408], ecx + { 0x0C, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x08 }, // (Offset,Value)-Pair #9 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Unknown1 +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_Unknown1_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Unknown1+0x00 : xor eax, eax + { 0x00, 0x33 }, + { 0x01, 0xC0 }, + // IDirect3DDevice8_Unknown1+0x13 : call ds:AvSendTVEncoderOption + { 0x13, 0xFF }, + { 0x14, 0x15 }, + { 0x15, 0x10 }, + { 0x16, 0x49 }, + { 0x17, 0x2A }, + { 0x18, 0x00 }, + // IDirect3DDevice8_Unknown1+0x1E : retn + { 0x1E, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetViewport +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi + { 0x05, 0x56 }, // (Offset,Value)-Pair #1 + { 0x06, 0x57 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetViewport+0x0B : lea esi, [eax+0x0B00] + { 0x0B, 0x8D }, // (Offset,Value)-Pair #3 + { 0x0C, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x0D, 0x00 }, // (Offset,Value)-Pair #5 + { 0x0E, 0x0B }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetViewport+0x11 : mov ecx, 6 + { 0x11, 0xB9 }, // (Offset,Value)-Pair #7 + { 0x12, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 + { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetGammaRamp +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetGammaRamp_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x0A, 0x00 }, + { 0x10, 0xE1 }, + { 0x16, 0x0C }, + { 0x1C, 0x00 }, + { 0x22, 0x00 }, + { 0x28, 0x04 }, + } +}; +// ****************************************************************** +// * D3DDevice_GetDisplayFieldStatus +// ****************************************************************** +SOOVPA<14> D3DDevice_GetDisplayFieldStatus_1_0_3925 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDisplayFieldStatus+0x05 : mov edx, [eax+0x2B28] + { 0x05, 0x8B }, + { 0x06, 0x90 }, + { 0x07, 0x28 }, + { 0x08, 0x2B }, + // IDirect3DDevice8_GetDisplayFieldStatus+0x12 : test [eax+0x2510], 0x1200000 + { 0x12, 0xF7 }, + { 0x13, 0x80 }, + { 0x14, 0x10 }, + { 0x15, 0x25 }, + // IDirect3DDevice8_GetDisplayFieldStatus+0x1E : mov dx, 0x80C0 + { 0x1E, 0x66 }, + { 0x1F, 0xBA }, + { 0x20, 0xC0 }, + { 0x21, 0x80 }, + // IDirect3DDevice8_GetDisplayFieldStatus+0x3C : retn 4 + { 0x3C, 0xC2 }, + { 0x3D, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x1D, 0x8B }, + { 0x26, 0x8B }, + { 0x2C, 0x8B }, + { 0x38, 0x0B }, + { 0x40, 0x89 }, + { 0x49, 0xC2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_VertexBlend +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_VertexBlend+0x0A : or ecx, 2 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0B, 0xC9 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x02 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x1A : mov dword ptr [eax], 0x40328 + { 0x1A, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x1B, 0x00 }, // (Offset,Value)-Pair #5 + { 0x1C, 0x28 }, // (Offset,Value)-Pair #6 + { 0x1D, 0x03 }, // (Offset,Value)-Pair #7 + { 0x1E, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x23 : add eax, 8 + { 0x23, 0x83 }, // (Offset,Value)-Pair #9 + { 0x24, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x25, 0x08 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x2F : retn 0x04 + { 0x2F, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x30, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_BackFillMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_BackFillMode_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_BackFillMode+0x2B : jnz +0x2 + { 0x2B, 0x75 }, // (Offset,Value)-Pair #1 + { 0x2C, 0x02 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_BackFillMode+0x32 : mov dword ptr [eax], abs + { 0x32, 0xC7 }, // (Offset,Value)-Pair #3 + { 0x33, 0x00 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_BackFillMode+0x3B : add eax, 0x0C; mov [edi], eax; pop edi + { 0x3B, 0x83 }, // (Offset,Value)-Pair #5 + { 0x3C, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x3D, 0x0C }, // (Offset,Value)-Pair #7 + { 0x3E, 0x89 }, // (Offset,Value)-Pair #8 + { 0x3F, 0x07 }, // (Offset,Value)-Pair #9 + { 0x40, 0x5F }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_BackFillMode+0x48 : retn 0x04 + { 0x48, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x49, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TwoSidedLighting +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x06 : or dword ptr [eax+8], 0x20 + { 0x06, 0x83 }, // (Offset,Value)-Pair #1 + { 0x07, 0x48 }, // (Offset,Value)-Pair #2 + { 0x08, 0x08 }, // (Offset,Value)-Pair #3 + { 0x09, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x3B : mov dword ptr [eax], 0x8038C + { 0x3B, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x3C, 0x00 }, // (Offset,Value)-Pair #6 + { 0x3D, 0x8C }, // (Offset,Value)-Pair #7 + { 0x3E, 0x03 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x44 : add eax, 0x0C + { 0x44, 0x83 }, // (Offset,Value)-Pair #9 + { 0x45, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x46, 0x0C }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x51 : retn 0x04 + { 0x51, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x52, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_NormalizeNormals +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x1D : mov [esi], eax + { 0x1D, 0x89 }, // (Offset,Value)-Pair #1 + { 0x1E, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x1F : or dword ptr [esi+8], 2 + { 0x1F, 0x83 }, // (Offset,Value)-Pair #3 + { 0x20, 0x4E }, // (Offset,Value)-Pair #4 + { 0x21, 0x08 }, // (Offset,Value)-Pair #5 + { 0x22, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x2A : retn 0x04 + { 0x2A, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x2B, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FrontFace +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_FrontFace_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FrontFace+0x00 : push esi + { 0x00, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_FrontFace+0x07 : push esi + { 0x07, 0x56 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_FrontFace+0xD : mov ecx, [esp+0x08] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #3 + { 0x0E, 0x4C }, // (Offset,Value)-Pair #4 + { 0x0F, 0x24 }, // (Offset,Value)-Pair #5 + { 0x10, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_FrontFace+0x1A : add eax, 8 + { 0x1A, 0x83 }, // (Offset,Value)-Pair #7 + { 0x1B, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x1C, 0x08 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0414] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x86 }, // (Offset,Value)-Pair #2 + { 0x09, 0x14 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x2E : rep stosd + { 0x2E, 0xF3 }, // (Offset,Value)-Pair #5 + { 0x2F, 0xAB }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x3C : retn 0x04 + { 0x3C, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x3D, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x49 : retn 0x04 + { 0x49, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x4A, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_LogicOp +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_LogicOp+0x11 : test ecx, ecx + { 0x11, 0x85 }, // (Offset,Value)-Pair #1 + { 0x12, 0xC9 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_LogicOp+0x2D : mov dword ptr [eax], 0x817BC + { 0x2D, 0xC7 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x00 }, // (Offset,Value)-Pair #4 + { 0x2F, 0xBC }, // (Offset,Value)-Pair #5 + { 0x30, 0x17 }, // (Offset,Value)-Pair #6 + { 0x31, 0x08 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_LogicOp+0x49 : retn 0x04 + { 0x49, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x4A, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_EdgeAntiAlias +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x17 : mov [eax+0x04], ecx + { 0x17, 0x89 }, // (Offset,Value)-Pair #1 + { 0x18, 0x48 }, // (Offset,Value)-Pair #2 + { 0x19, 0x04 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x1A : mov [eax+0x08], ecx + { 0x1A, 0x89 }, // (Offset,Value)-Pair #4 + { 0x1B, 0x48 }, // (Offset,Value)-Pair #5 + { 0x1C, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x1D : add eax, 0x0C + { 0x1D, 0x83 }, // (Offset,Value)-Pair #7 + { 0x1E, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x1F, 0x0C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x29 : retn 0x04 + { 0x29, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x2A, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleMask +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_3925 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x0B : mov ecx, esi + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0xCE }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x32 : and ecx, 0x0F; shl edx, 0x10 + { 0x32, 0x83 }, // (Offset,Value)-Pair #3 + { 0x33, 0xE1 }, // (Offset,Value)-Pair #4 + { 0x34, 0x0F }, // (Offset,Value)-Pair #5 + { 0x35, 0xC1 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x3A : mov dword ptr [eax], 0x41D7C + { 0x3A, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x3B, 0x00 }, // (Offset,Value)-Pair #8 + { 0x3C, 0x7C }, // (Offset,Value)-Pair #9 + { 0x3D, 0x1D }, // (Offset,Value)-Pair #10 + { 0x3E, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x49 : retn 0x04 + { 0x49, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x4A, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x05 : mov ecx, [esp+4] + { 0x05, 0x8B }, // (Offset,Value)-Pair #1 + { 0x06, 0x4C }, // (Offset,Value)-Pair #2 + { 0x07, 0x24 }, // (Offset,Value)-Pair #3 + { 0x08, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x0F : mov edx, [eax+0x410] + { 0x0F, 0x8B }, // (Offset,Value)-Pair #5 + { 0x10, 0x90 }, // (Offset,Value)-Pair #6 + { 0x11, 0x10 }, // (Offset,Value)-Pair #7 + { 0x12, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x15 : mov eax, [eax+0x40C] + { 0x15, 0x8B }, // (Offset,Value)-Pair #9 + { 0x16, 0x80 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x22 : retn 0x04 + { 0x22, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x23, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +SOOVPA<14> D3DDevice_PersistDisplay_1_0_3925 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // D3DDevice_PersistDisplay+0x25 : mov eax, [ebx+0x408] + { 0x25, 0x8B }, + { 0x26, 0x83 }, + { 0x27, 0x08 }, + { 0x28, 0x04 }, + { 0x29, 0x00 }, + { 0x2A, 0x00 }, + // D3DDevice_PersistDisplay+0x3A : lea edi, [ebx+0x2308] + { 0x3a, 0x8D }, + { 0x3B, 0xBB }, + { 0x3C, 0x08 }, + { 0x3D, 0x23 }, + { 0x3E, 0x00 }, + { 0x3F, 0x00 }, + // D3DDevice_PersistDisplay+0x70 : shl edx, cl + { 0x70, 0xD3 }, + { 0x71, 0xE2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ShadowFunc +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_3925 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi + { 0x00, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x11 : mov dword ptr [eax], 0x41E6C + { 0x11, 0xC7 }, // (Offset,Value)-Pair #2 + { 0x12, 0x00 }, // (Offset,Value)-Pair #3 + { 0x13, 0x6C }, // (Offset,Value)-Pair #4 + { 0x14, 0x1E }, // (Offset,Value)-Pair #5 + { 0x15, 0x04 }, // (Offset,Value)-Pair #6 + { 0x16, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x17 : lea edx, [ecx-0x0200] + { 0x17, 0x8D }, // (Offset,Value)-Pair #8 + { 0x18, 0x91 }, // (Offset,Value)-Pair #9 + { 0x19, 0x00 }, // (Offset,Value)-Pair #10 + { 0x1A, 0xFE }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x20 : add eax, 0x08 + { 0x20, 0x83 }, // (Offset,Value)-Pair #12 + { 0x21, 0xC0 }, // (Offset,Value)-Pair #13 + { 0x22, 0x08 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_LineWidth +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x508] + { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 + { 0x16, 0x8E }, // (Offset,Value)-Pair #2 + { 0x17, 0x08 }, // (Offset,Value)-Pair #3 + { 0x18, 0x05 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x32 : cmp edi, 0x1FF + { 0x32, 0x81 }, // (Offset,Value)-Pair #5 + { 0x33, 0xFF }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x3A : mov edi, 0x1FF + { 0x3A, 0xBF }, // (Offset,Value)-Pair #7 + { 0x3B, 0xFF }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x5C : retn 0x04 + { 0x5C, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x5D, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_YuvEnable +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x04 : push edi + { 0x04, 0x56 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x0B : push edi + { 0x0B, 0x56 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x1F : mov [esi], eax + { 0x1F, 0x89 }, // (Offset,Value)-Pair #7 + { 0x20, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x22 : retn 0x04 + { 0x22, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x23, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_OcclusionCullEnable +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_3925 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x20 : jz +0x05 + { 0x20, 0x74 }, // (Offset,Value)-Pair #1 + { 0x21, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x3B : cmp [abs], 0x1E00 + { 0x3B, 0x81 }, // (Offset,Value)-Pair #3 + { 0x41, 0x00 }, // (Offset,Value)-Pair #4 + { 0x42, 0x1E }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x4A : mov dword ptr [eax], 0x41D84 + { 0x4A, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x4B, 0x00 }, // (Offset,Value)-Pair #7 + { 0x4C, 0x84 }, // (Offset,Value)-Pair #8 + { 0x4D, 0x1D }, // (Offset,Value)-Pair #9 + { 0x4E, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x59 : retn 0x04 + { 0x59, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x5A, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilCullEnable +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x56 }, + { 0x16, 0x8B }, + { 0x22, 0xB9 }, + { 0x2E, 0xD2 }, + { 0x3A, 0x0C }, + { 0x46, 0x03 }, + { 0x52, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DrawVerticesUP +// ****************************************************************** +SOOVPA<8> D3DDevice_DrawVerticesUP_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1F, 0x8B }, + { 0x3E, 0xC0 }, + { 0x5E, 0x03 }, + { 0x7E, 0x07 }, + { 0x9E, 0xF0 }, + { 0xBE, 0x40 }, + { 0xDE, 0x75 }, + { 0xFE, 0x8B }, + } +}; + +// ****************************************************************** +// * D3DDevice_DrawIndexedVerticesUP +// ****************************************************************** +SOOVPA<8> D3DDevice_DrawIndexedVerticesUP_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1F, 0x8B }, + { 0x3E, 0x8B }, + { 0x5E, 0xF0 }, + { 0x7E, 0x8B }, + { 0xA2, 0x8B }, + { 0xBE, 0x83 }, + { 0xDE, 0x75 }, + { 0xFE, 0x75 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DrawVertices +// ****************************************************************** +SOOVPA<8> D3DDevice_DrawVertices_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x12, 0x8B }, + { 0x27, 0x8B }, + { 0x3A, 0x89 }, + { 0x4E, 0xFF }, + { 0x62, 0x81 }, + { 0x76, 0x00 }, + { 0x8A, 0x17 }, + { 0x9E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetDisplayMode +// ****************************************************************** +SOOVPA<7> D3DDevice_GetDisplayMode_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0xB4 }, + { 0x14, 0x8B }, + { 0x1F, 0x10 }, + { 0x2A, 0x1B }, + { 0x35, 0x8B }, + { 0x41, 0x89 }, + { 0x4B, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetTextureState_BumpEnv +// ****************************************************************** +SOOVPA<7> D3DDevice_SetTextureState_BumpEnv_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x8B }, + { 0x16, 0x8B }, + { 0x22, 0x24 }, + { 0x2E, 0x24 }, + { 0x3A, 0x04 }, + { 0x46, 0x8B }, + { 0x52, 0xB5 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetTextureState_ColorKeyColor +// ****************************************************************** +SOOVPA<7> D3DDevice_SetTextureState_ColorKeyColor_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x56 }, + { 0x0D, 0x8B }, + { 0x13, 0x8D }, + { 0x1A, 0x8B }, + { 0x21, 0x83 }, + { 0x28, 0x07 }, + { 0x2F, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData4s +// ****************************************************************** +SOOVPA<8> D3DDevice_SetVertexData4s_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x56 }, + { 0x10, 0x08 }, + { 0x19, 0xBF }, + { 0x22, 0x24 }, + { 0x2B, 0x54 }, + { 0x34, 0x24 }, + { 0x3D, 0x08 }, + { 0x46, 0x00 }, + } +}; + +// ****************************************************************** +// * Direct3D_SetPushBufferSize +// ****************************************************************** +SOOVPA<7> Direct3D_SetPushBufferSize_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x08 }, + { 0x0D, 0x89 }, + { 0x0E, 0x0D }, + { 0x13, 0xC2 }, + { 0x14, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DResource_GetType +// ****************************************************************** +SOOVPA<7> D3DResource_GetType_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x13, 0x2A }, + { 0x28, 0x00 }, + { 0x3D, 0x00 }, + { 0x52, 0x74 }, + { 0x67, 0x00 }, + { 0x7C, 0x04 }, + { 0x91, 0x00 }, + } +}; + +// ****************************************************************** +// * D3D_AllocContiguousMemory +// ****************************************************************** +SOOVPA<6> D3D_AllocContiguousMemory_1_0_3925 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x04 }, + { 0x0E, 0x6A }, + { 0x16, 0xC2 }, + { 0x17, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Deferred +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_Deferred_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Deferred+0x00 : mov eax, ds:(g_DirtyFromRenderState)-148[ecx*4] + { 0x00, 0x8B }, + { 0x01, 0x04 }, + { 0x02, 0x8D }, + // IDirect3DDevice8_SetRenderState_Deferred+0x07 : or dword ptr ds:g_Device+8,eax + { 0x07, 0x09 }, + { 0x08, 0x05 }, + // IDirect3DDevice8_SetRenderState_Deferred+0x0D : mov dword ptr ds:D3D__RenderState[ecx*4], edx + { 0x0D, 0x89 }, + { 0x0E, 0x14 }, + { 0x0F, 0x8D }, + // IDirect3DDevice8_SetRenderState_Deferred+0x14 : retn + { 0x14, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetLight +// ****************************************************************** +SOOVPA<8> D3DDevice_SetLight_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x0F }, + { 0x3C, 0xD8 }, + { 0x5B, 0x00 }, + { 0x7A, 0x89 }, + { 0x99, 0xA5 }, + { 0xB8, 0xC1 }, + { 0xD7, 0x00 }, + { 0xF6, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_LightEnable +// ****************************************************************** +SOOVPA<7> D3DDevice_LightEnable_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1A, 0x04 }, + { 0x36, 0x00 }, + { 0x52, 0x00 }, + { 0x6E, 0x75 }, + { 0x8A, 0x88 }, + { 0xA6, 0x75 }, + { 0xC2, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CreateVertexShader +// ****************************************************************** +SOOVPA<8> D3DDevice_CreateVertexShader_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x85 }, + { 0x3E, 0xE8 }, + { 0x5E, 0x5D }, + { 0x7E, 0x01 }, + { 0x9E, 0x24 }, + { 0xBE, 0x24 }, + { 0xDE, 0x83 }, + { 0xFE, 0xC7 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetProjectionViewportMatrix +// ****************************************************************** +SOOVPA<7> D3DDevice_GetProjectionViewportMatrix_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x35 }, + { 0x07, 0x57 }, + { 0x0A, 0x24 }, + { 0x0E, 0xA0 }, + { 0x12, 0xB9 }, + { 0x16, 0x00 }, + { 0x1A, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetTile +// ****************************************************************** +SOOVPA<7> D3DDevice_GetTile_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x0A, 0x56 }, + { 0x0D, 0x7C }, + { 0x12, 0x40 }, + { 0x17, 0x21 }, + { 0x1C, 0x00 }, + { 0x21, 0x5F }, + } +}; + +// ****************************************************************** +// * D3DDevice_ApplyStateBlock +// ****************************************************************** +SOOVPA<8> D3DDevice_ApplyStateBlock_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x83 }, + { 0x40, 0x83 }, + { 0x5B, 0x16 }, + { 0x7A, 0x01 }, + { 0x99, 0x46 }, + { 0xB8, 0x06 }, + { 0xD7, 0x39 }, + { 0xF6, 0x51 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CaptureStateBlock +// ****************************************************************** +SOOVPA<7> D3DDevice_CaptureStateBlock_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x76 }, + { 0x3E, 0xE8 }, + { 0x5E, 0x06 }, + { 0x7E, 0x26 }, + { 0x9E, 0xFF }, + { 0xBE, 0x04 }, + { 0xDE, 0xF8 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DeleteStateBlock +// ****************************************************************** +SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x11, 0x76 }, + { 0x24, 0x3B }, + { 0x37, 0xE8 }, + { 0x4A, 0x50 }, + { 0x5D, 0x74 }, + { 0x70, 0x06 }, + { 0x83, 0xEB }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetBackMaterial +// ****************************************************************** +SOOVPA<8> D3DDevice_GetBackMaterial_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0D, 0x5C }, + { 0x0E, 0x0B }, + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CreateStateBlock +// ****************************************************************** +SOOVPA<8> D3DDevice_CreateStateBlock_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x8B }, + { 0x3E, 0x89 }, + { 0x5E, 0x24 }, + { 0x7E, 0xF8 }, + { 0x9F, 0x01 }, + { 0xBE, 0xB6 }, + { 0xDE, 0xF8 }, + { 0xFE, 0x76 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DeletePixelShader +// ****************************************************************** +SOOVPA<7> D3DDevice_DeletePixelShader_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x75 }, + { 0x0A, 0x04 }, + { 0x0E, 0x09 }, + { 0x12, 0x04 }, + { 0x18, 0xC2 }, + { 0x1A, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderProgram +// ****************************************************************** +SOOVPA<7> D3DDevice_SetPixelShaderProgram_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0xA1 }, + { 0x0E, 0x88 }, + { 0x16, 0x00 }, + { 0x1E, 0x00 }, + { 0x26, 0x04 }, + { 0x32, 0xC7 }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * D3D::KickOffAndWaitForIdle +// ****************************************************************** +// * This is for the real D3D::KickOffAndWaitForIdle +// ****************************************************************** +SOOVPA<5> D3D_KickOffAndWaitForIdle_1_0_3925 = +{ + 0, // Large == 0 + 5, // Count == 5 + + XREF_D3D_KickOffAndWaitForIdle, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x06, 0x48 }, + { 0x07, 0x1C }, + { 0x0A, 0x51 }, + { 0x10, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetModelView +// ****************************************************************** +SOOVPA<7> D3DDevice_SetModelView_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x12, 0x08 }, + { 0x26, 0x53 }, + { 0x3A, 0x8B }, + { 0x4E, 0x80 }, + { 0x62, 0x00 }, + { 0x76, 0x00 }, + { 0x8A, 0x0C }, + } +}; + +// ****************************************************************** +// * D3DDevice_FlushVertexCache +// ****************************************************************** +SOOVPA<8> D3DDevice_FlushVertexCache_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x56 }, + { 0x07, 0x56 }, + { 0x08, 0xE8 }, + { 0x0D, 0xC7 }, + { 0x0F, 0x10 }, + { 0x12, 0x00 }, + { 0x17, 0x00 }, + { 0x1C, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetScissors +// ****************************************************************** +SOOVPA<8> D3DDevice_SetScissors_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x08 }, + { 0x3C, 0x24 }, + { 0x5F, 0x8B }, + { 0x7A, 0x83 }, + { 0x99, 0xE0 }, + { 0xBA, 0xD9 }, + { 0xD9, 0x8B }, + { 0xF6, 0xDB }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexShaderInput +// ****************************************************************** +SOOVPA<8> D3DDevice_SetVertexShaderInput_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x8B }, + { 0x5E, 0xC7 }, + { 0x7E, 0xF8 }, + { 0x9E, 0xC6 }, + { 0xBE, 0x7F }, + { 0xDE, 0xCA }, + { 0xFE, 0x17 }, + } +}; + +// ****************************************************************** +// * D3DDevice_PrimeVertexCache +// ****************************************************************** +SOOVPA<8> D3DDevice_PrimeVertexCache_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x00 }, + { 0x1C, 0x55 }, + { 0x2B, 0x00 }, + { 0x3A, 0x24 }, + { 0x49, 0xCB }, + { 0x58, 0x74 }, + { 0x67, 0x00 }, + { 0x76, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData4ub +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVertexData4ub_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x56 }, + { 0x10, 0x08 }, + { 0x19, 0xC9 }, + { 0x22, 0x54 }, + { 0x2B, 0x14 }, + { 0x34, 0x24 }, + { 0x3D, 0xFC }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderConstant +// ****************************************************************** +SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x4C }, + { 0x3E, 0x11 }, + { 0x61, 0xDF }, + { 0x7E, 0xF6 }, + { 0x9E, 0x05 }, + { 0xC0, 0x51 }, + { 0xDE, 0xC4 }, + } +}; + +// ****************************************************************** +// * D3DDevice_InsertCallback +// ****************************************************************** +SOOVPA<7> D3DDevice_InsertCallback_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x8B }, + { 0x18, 0x8B }, + { 0x25, 0x50 }, + { 0x32, 0x10 }, + { 0x3F, 0x00 }, + { 0x4C, 0x00 }, + { 0x59, 0x03 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginPushBuffer +// ****************************************************************** +SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0xCE }, + { 0x1B, 0x57 }, + { 0x25, 0x00 }, + { 0x32, 0x06 }, + { 0x3F, 0x03 }, + { 0x4C, 0x04 }, + { 0x59, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndPushBuffer +// ****************************************************************** +SOOVPA<7> D3DDevice_EndPushBuffer_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x11, 0x8D }, + { 0x24, 0x8B }, + { 0x37, 0xFC }, + { 0x4A, 0xFF }, + { 0x5D, 0xF7 }, + { 0x70, 0x03 }, + { 0x83, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + { 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x09 : call [abs] + { 0x09, 0xE8 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x10, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_RopZRead +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZRead_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_RopZRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + { 0x05, XREF_D3DRS_ROPZREAD }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_RopZRead+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_RopZRead+0x09 : call [abs] + { 0x09, 0xE8 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_RopZRead+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x10, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_DoNotCullUncompressed +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + { 0x05, XREF_D3DRS_DONOTCULLUNCOMPRESSED }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x09 : call [abs] + { 0x09, 0xE8 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x10, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * XMETAL_StartPush +// ****************************************************************** +SOOVPA<11> XMETAL_StartPush_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XMETAL_StartPush+0x00 : mov ecx, [esp+0x4] + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // XMETAL_StartPush+0x04 : mov eax, [ecx] + { 0x04, 0x8B }, + { 0x05, 0x01 }, + + // XMETAL_StartPush+0x06 : cmp eax, [ecx+0x4] + { 0x06, 0x3B }, + { 0x07, 0x41 }, + { 0x08, 0x04 }, + + // XMETAL_StartPush+0x10 : retn 4 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, + } +}; + +// ****************************************************************** +// * D3D::SetFence +// ****************************************************************** +SOOVPA<11> D3D_SetFence_1_0_3925 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_D3D_SETFENCE, // Xref Is Saved + 0, // Xref Not Used + + { + // D3D::SetFence+0x0F : mov edi, [esi+0x1C] + { 0x0F, 0x8B }, + { 0x10, 0x7E }, + { 0x11, 0x1C }, + + // D3D::SetFence+0x3D : and ecx, 0x3F + { 0x3D, 0x83 }, + { 0x3E, 0xE1 }, + { 0x3F, 0x3F }, + + // D3D::SetFence+0x77 : mov [esi*ebp*4], edi + { 0x77, 0x89 }, + { 0x78, 0x3C }, + { 0x79, 0xAE }, + + // D3D::SetFence+0x96 : retn 4 + { 0x96, 0xC2 }, + { 0x97, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_InsertFence +// ****************************************************************** +SOOVPA<5> D3DDevice_InsertFence_1_0_3925 = +{ + 0, // Large == 0 + 5, // Count == 5 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x03, XREF_D3D_SETFENCE }, + + { 0x00, 0x6A }, + { 0x01, 0x00 }, + { 0x02, 0xE8 }, + { 0x07, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_LoadVertexShaderProgram +// ****************************************************************** +SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x2D }, + { 0x18, 0x10 }, + { 0x25, 0x00 }, + { 0x32, 0xA5 }, + { 0x3F, 0x8B }, + { 0x4C, 0x00 }, + { 0x59, 0xE8 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DeleteVertexShader +// ****************************************************************** +SOOVPA<6> X_D3DDevice_DeleteVertexShader_1_0_3925 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0xFF }, + { 0x0A, 0x08 }, + { 0x0E, 0x44 }, + + // D3DDevice_DeleteVertexShader+0x16 : retn 4 + { 0x16, 0xC2 }, + { 0x17, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_RunPushBuffer +// ****************************************************************** +SOOVPA<15> D3DDevice_RunPushBuffer_1_0_3925 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // D3DDevice_RunPushBuffer+0x5E : and ecx, 4 + { 0x5E, 0x83 }, + { 0x5F, 0xE1 }, + { 0x60, 0x04 }, + + // D3DDevice_RunPushBuffer+0x95 : push 0x308 + { 0x95, 0x68 }, + { 0x96, 0x08 }, + { 0x97, 0x03 }, + { 0x98, 0x00 }, + { 0x99, 0x00 }, + + // D3DDevice_RunPushBuffer+0xF1 : mov dword ptr [eax+8], 0x40100 + { 0xF1, 0xC7 }, + { 0xF2, 0x40 }, + { 0xF3, 0x08 }, + { 0xF4, 0x00 }, + { 0xF5, 0x01 }, + { 0xF6, 0x04 }, + { 0xF7, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BlockOnFence +// ****************************************************************** +SOOVPA<7> D3DDevice_BlockOnFence_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x6A }, + { 0x06, 0x50 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, + } +}; + +// ****************************************************************** +// * Direct3D_EnumAdapterModes +// ****************************************************************** +SOOVPA<8> Direct3D_EnumAdapterModes_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x20, 0x8B }, + { 0x3E, 0xE3 }, + { 0x5E, 0x75 }, + { 0x7E, 0x00 }, + { 0x9E, 0x00 }, + { 0xBE, 0x0F }, + { 0xE2, 0x89 }, + { 0xFE, 0x5D }, + } +}; + +// ****************************************************************** +// * Direct3D_GetAdapterModeCount +// ****************************************************************** +SOOVPA<8> Direct3D_GetAdapterModeCount_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x14, 0x8B }, + { 0x26, 0xE2 }, + { 0x3A, 0x00 }, + { 0x4E, 0x00 }, + { 0x62, 0x19 }, + { 0x76, 0x75 }, + { 0x8A, 0x3B }, + { 0x9E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_Reset +// ****************************************************************** +SOOVPA<7> D3DDevice_Reset_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x15, 0x8B }, + { 0x2C, 0x8B }, + { 0x43, 0x8B }, + { 0x5A, 0x08 }, + { 0x74, 0x8B }, + { 0x88, 0x50 }, + { 0x9F, 0x03 }, + } +}; + +// ****************************************************************** +// * Direct3D_GetAdapterIdentifier +// ****************************************************************** +SOOVPA<7> Direct3D_GetAdapterIdentifier_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x85 }, + { 0x0A, 0x08 }, + { 0x10, 0x56 }, + { 0x16, 0xB9 }, + { 0x20, 0xF3 }, + { 0x22, 0x5F }, + { 0x28, 0x00 }, + } +}; + +// ****************************************************************** +// * Direct3D_GetDeviceCaps +// ****************************************************************** +SOOVPA<7> Direct3D_GetDeviceCaps_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x85 }, + { 0x0A, 0x08 }, + { 0x10, 0x83 }, + { 0x16, 0x08 }, + { 0x1C, 0xC2 }, + { 0x22, 0x0C }, + { 0x29, 0x33 }, + } +}; + +// ****************************************************************** +// * D3D::SetCommonDebugRegisters +// ****************************************************************** +SOOVPA<10> D3D_SetCommonDebugRegisters_1_0_3925 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x08, 0x96 }, + { 0x09, 0x44 }, + { 0x0A, 0x2B }, + { 0x31, 0x81 }, + { 0x32, 0xE2 }, + { 0x33, 0xFF }, + { 0x34, 0xFF }, + { 0x35, 0xEF }, + { 0x36, 0xE7 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CreateImageSurface +// ****************************************************************** +SOOVPA<7> D3DDevice_CreateImageSurface_1_0_3925 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x24 }, + { 0x0E, 0x44 }, + { 0x12, 0x00 }, + { 0x16, 0xE8 }, + { 0x1B, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3D::BlockOnTime +// ****************************************************************** +SOOVPA<9> D3D_BlockOnTime_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 6 + + XREF_D3D_BLOCKONTIME, // Xref Is Saved + 0, // Xref Not Used + + { + // D3D::BlockOnFence+0x0A : push edi + { 0x0A, 0x57 }, + // D3D::BlockOnFence+0x4E : cmp eax, 0x8000 + { 0x4E, 0x3D }, + { 0x4F, 0x00 }, + { 0x50, 0x80 }, + { 0x51, 0x00 }, + // D3D::BlockOnFence+0x6E : mov ebp, 0x40100 + { 0x6E, 0xBD }, + { 0x6F, 0x00 }, + { 0x70, 0x01 }, + { 0x71, 0x04 } + } +}; + +// ****************************************************************** +// * D3D::BlockOnResource +// ****************************************************************** +SOOVPA<9> D3D_BlockOnResource_1_0_3925 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_D3D_BlockOnResource, // Xref Is Saved + XRefNotUsed, + + { + { 0x34, 0x8B }, // mov edx, [ecx+0x1C] + { 0x35, 0x51 }, + { 0x36, 0x1C }, + { 0x41, 0xC2 }, // retn 4 + { 0x42, 0x04 }, + { 0x43, 0x00 }, + { 0x7E, 0xC2 }, // retn 4 + { 0x7F, 0x04 }, + { 0x80, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginStateBlock +// ****************************************************************** +SOOVPA<6> D3DDevice_BeginStateBlock_1_0_3925 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x05, 0x83 }, + { 0x06, 0x48 }, + { 0x07, 0x0C }, + { 0x08, 0x20 }, + { 0x09, 0xE9 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndStateBlock +// ****************************************************************** +SOOVPA<6> D3DDevice_EndStateBlock_1_0_3925 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x05, 0x83 }, + { 0x06, 0x60 }, + { 0x07, 0x0C }, + { 0x08, 0xDF }, + { 0x09, 0xE9 }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_3925 +// ****************************************************************** +OOVPATable D3D8_1_0_3925[] = +{ + // IDirect3D8::CreateDevice + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_3925, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3DDevice8::IsBusy + { + (OOVPA*)&IDirect3DDevice8_IsBusy_1_0_3925, + + XTL::EmuIDirect3DDevice8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_IsBusy" + #endif + }, + // IDirect3DDevice8::GetDeviceCaps + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8::BeginVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_3925, + + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // IDirect3DDevice8::EndVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_3925, + + XTL::EmuIDirect3DDevice8_EndVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndVisibilityTest" + #endif + }, + // IDirect3DDevice8::GetVisibilityTestResult + { + (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVisibilityTestResult" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_3925, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3DDevice8::GetMaterial + { + (OOVPA*)&D3DDevice_GetMaterial_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetMaterial" + #endif + }, + // IDirect3DDevice8::GetBackMaterial + { + (OOVPA*)&D3DDevice_GetBackMaterial_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetBackMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackMaterial" + #endif + }, + // IDirect3DDevice8::LoadVertexShader + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShader + { + (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // IDirect3DDevice8::Release + { + (OOVPA*)&IDirect3DDevice8_Release_1_0_3925, + + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Release" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // IDirect3DDevice8::SetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::GetTransform + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::SetStreamSource + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::CreatePixelShader + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::SetTexture + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_3925, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::Begin + { + (OOVPA*)&IDirect3DDevice8_Begin_1_0_3925, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::SetVertexData2s + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2s_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData2s, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2s" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetVertexDataColor + { + (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexDataColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexDataColor" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&IDirect3DDevice8_End_1_0_3925, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::Clear + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_3925, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::CreatePalette + { + (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::CreateTexture + { + (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture" + #endif + }, + // IDirect3DDevice8::CreateVolumeTexture + { + (OOVPA*)&IDirect3DDevice8_CreateVolumeTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVolumeTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVolumeTexture" + #endif + }, + // IDirect3DDevice8::CreateCubeTexture + { + (OOVPA*)&IDirect3DDevice8_CreateCubeTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateCubeTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateCubeTexture" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer + { + (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer" + #endif + }, + // IDirect3DDevice8::CreateVertexShader + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_PSTextureModes + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_PSTextureModes" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetTransform + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::Present + { + (OOVPA*)&IDirect3DDevice8_Present_1_0_3925, + + XTL::EmuIDirect3DDevice8_Present, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Present" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::GetBackBuffer + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // IDirect3DDevice8::GetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer" + #endif + }, + // IDirect3DVertexBuffer8::Lock + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_3925, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + }, + // IDirect3DResource8::Register + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DResource8::Release + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::AddRef + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::IsBusy + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_3925, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // IDirect3DSurface8::LockRect + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // IDirect3DPalette8::Lock + { + (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, + + XTL::EmuIDirect3DPalette8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock" + #endif + }, + // IDirect3DTexture8::LockRect + { + (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // IDirect3DVolumeTexture8::LockBox + { + (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_3925, + + XTL::EmuIDirect3DVolumeTexture8_LockBox, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVolumeTexture8_LockBox" + #endif + }, + // IDirect3DCubeTexture8::LockRect + { + (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DCubeTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_LockRect" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel" + #endif + }, + // Lock2DSurface + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // Get2DSurfacDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_3925, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // D3DDevice_GetVertexShaderSize + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8_SetGammaRamp + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_3925, + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "IDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::AddRef + { + (OOVPA*)&IDirect3DDevice8_AddRef_1_0_3925, + + XTL::EmuIDirect3DDevice8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_AddRef" + #endif + }, + // IDirect3DDevice8_Unknown1 + { + (OOVPA*)&IDirect3DDevice8_Unknown1_1_0_3925, + + XTL::EmuIDirect3DDevice8_Unknown1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Unknown1" + #endif + }, + // IDirect3DDevice8::GetViewport + { + (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8::GetGammaRamp + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // D3DDevice_GetDisplayFieldStatus + { + (OOVPA*)&D3DDevice_GetDisplayFieldStatus_1_0_3925, + XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayFieldStatus" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_VertexBlend + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3DDevice8::SetRenderState_BackFillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // IDirect3DDevice8::SetTextureState_TwoSidedLighting + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" + #endif + }, + // IDirect3DDevice8_SetRenderState_NormalizeNormals + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_LogicOp + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMask + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // D3DDevice_PersistDisplay + { + (OOVPA*)&D3DDevice_PersistDisplay_1_0_3925, + XTL::EmuIDirect3DDevice8_PersistDisplay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_PersistDisplay" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SetRenderState_LineWidth + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // D3DDevice_DrawVerticesUP + { + (OOVPA*)&D3DDevice_DrawVerticesUP_1_0_3925, + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // D3DDevice_DrawIndexedVerticesUP + { + (OOVPA*)&D3DDevice_DrawIndexedVerticesUP_1_0_3925, + XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVerticesUP" + #endif + }, + // D3DDevice_DrawVertices + { + (OOVPA*)&D3DDevice_DrawVertices_1_0_3925, + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // D3DDevice_GetDisplayMode + { + (OOVPA*)&D3DDevice_GetDisplayMode_1_0_3925, + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // D3DDevice_SetTextureState_BumpEnv + { + (OOVPA*)&D3DDevice_SetTextureState_BumpEnv_1_0_3925, + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // D3DDevice_SetTextureState_ColorKeyColor + { + (OOVPA*)&D3DDevice_SetTextureState_ColorKeyColor_1_0_3925, + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // D3DDevice_SetVertexData4s + { + (OOVPA*)&D3DDevice_SetVertexData4s_1_0_3925, + XTL::EmuIDirect3DDevice8_SetVertexData4s, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4s" + #endif + }, + // IDirect3D8::SetPushBufferSize + { + (OOVPA*)&Direct3D_SetPushBufferSize_1_0_3925, + XTL::EmuIDirect3D8_SetPushBufferSize, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_SetPushBufferSize" + #endif + }, + // IDirect3DResource8::GetType + // Probably not even necessary... + { + (OOVPA*)&D3DResource_GetType_1_0_3925, + + XTL::EmuIDirect3DResource8_GetType, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_GetType" + #endif + }, + // IDirect3D8_AllocContiguousMemory + { + (OOVPA*)&D3D_AllocContiguousMemory_1_0_3925, + XTL::EmuIDirect3D8_AllocContiguousMemory, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_AllocContiguousMemory" + #endif + }, + // IDirect3DDevice8_SetRenderState_Deferred + /*{ + (OOVPA*)&IDirect3DDevice8_SetRenderState_Deferred_1_0_3925, + XTL::EmuIDirect3DDevice8_SetRenderState_Deferred, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Deferred" + #endif + },*/ + // D3DDevice_SetLight + { + (OOVPA*)&D3DDevice_SetLight_1_0_3925, + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // D3DDevice_LightEnable + { + (OOVPA*)&D3DDevice_LightEnable_1_0_3925, + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // D3DDevice_CreateVertexShader + { + (OOVPA*)&D3DDevice_CreateVertexShader_1_0_3925, + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_3948, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget (3948)" + #endif + }, + // IDirect3DSurface8::GetDesc + { + (OOVPA*)&D3DSurface_GetDesc_1_0_3925, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // IDirect3DDevice8_GetProjectionViewportMatrix + { + (OOVPA*)&D3DDevice_GetProjectionViewportMatrix_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetProjectionViewportMatrix" + #endif + }, + // D3DDevice_GetTile + { + (OOVPA*)&D3DDevice_GetTile_1_0_3925, + XTL::EmuIDirect3DDevice8_GetTile, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTile" + #endif + }, + // D3DDevice_ApplyStateBlock + { + (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_3925, + XTL::EmuIDirect3DDevice8_ApplyStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_ApplyStateBlock" + #endif + }, + // D3DDevice_CaptureStateBlock + { + (OOVPA*)&D3DDevice_CaptureStateBlock_1_0_3925, + XTL::EmuIDirect3DDevice8_CaptureStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CaptureStateBlock" + #endif + }, + // D3DDevice_DeleteStateBlock + { + (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_3925, + XTL::EmuIDirect3DDevice8_DeleteStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteStateBlock" + #endif + }, + // D3DDevice_CreateStateBlock + { + + (OOVPA*)&D3DDevice_CreateStateBlock_1_0_3925, + XTL::EmuIDirect3DDevice8_CreateStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateStateBlock" + #endif + }, + // D3DDevice_DeletePixelShader + { + (OOVPA*)&D3DDevice_DeletePixelShader_1_0_3925, + XTL::EmuIDirect3DDevice8_DeletePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePixelShader" + #endif + }, + // D3DDevice_SetPixelShaderProgram + { + (OOVPA*)&D3DDevice_SetPixelShaderProgram_1_0_3925, + XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderProgram" + #endif + }, + // D3D::KickOffAndWaitForIdle + { + + (OOVPA*)&D3D_KickOffAndWaitForIdle_1_0_3925, + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // D3DDevice_SetModelView + { + (OOVPA*)&D3DDevice_SetModelView_1_0_3925, + XTL::EmuIDirect3DDevice8_SetModelView, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetModelView" + #endif + }, + // D3DDevice_FlushVertexCache + { + (OOVPA*)&D3DDevice_FlushVertexCache_1_0_3925, + XTL::EmuIDirect3DDevice8_FlushVertexCache, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_FlushVertexCache" + #endif + }, + // D3DDevice_SetScissors + { + (OOVPA*)&D3DDevice_SetScissors_1_0_3925, + XTL::EmuIDirect3DDevice8_SetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScissors" + #endif + }, + // D3DDevice_SetVertexShaderInput + { + (OOVPA*)&D3DDevice_SetVertexShaderInput_1_0_3925, + XTL::EmuIDirect3DDevice8_SetVertexShaderInput, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderInput" + #endif + }, + // D3DDevice_PrimeVertexCache + { + (OOVPA*)&D3DDevice_PrimeVertexCache_1_0_3925, + XTL::EmuIDirect3DDevice8_PrimeVertexCache, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_PrimeVertexCache" + #endif + }, + // IDirect3DDevice8::SetVertexData4ub + { + (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData4ub, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4ub" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant + { + (OOVPA*)&D3DDevice_SetPixelShaderConstant_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant" + #endif + }, + // IDirect3DDevice8_InsertCallback + { + (OOVPA*)&D3DDevice_InsertCallback_1_0_3925, + + XTL::EmuIDirect3DDevice8_InsertCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertCallback" + #endif + }, + // IDirect3DDevice8::BeginPushBuffer + { + (OOVPA*)&D3DDevice_BeginPushBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_BeginPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPushBuffer" + #endif + }, + // IDirect3DDevice8::EndPushBuffer + { + (OOVPA*)&D3DDevice_EndPushBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_EndPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPushBuffer" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // XMETAL_StartPush + /*{ + (OOVPA*)&XMETAL_StartPush_1_0_3925, + + XTL::EmuXMETAL_StartPush, + + #ifdef _DEBUG_TRACE + "EmuXMETAL_StartPush" + #endif + }*/ + // D3D::SetFence (XREF) + { + (OOVPA*)&D3D_SetFence_1_0_3925, 0, + + #ifdef _DEBUG_TRACE + "D3D::SetFence (XREF)" + #endif + }, + // IDirect3DDevice8::InsertFence + { + (OOVPA*)&D3DDevice_InsertFence_1_0_3925, + + XTL::EmuIDirect3DDevice8_InsertFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertFence" + #endif + }, + // D3DDevice_LoadVertexShaderProgram + { + (OOVPA*)&D3DDevice_LoadVertexShaderProgram_1_0_3925, + + XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShaderProgram" + #endif + }, + // D3DDevice_DeleteVertexShader + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // IDirect3DDevice8::RunPushBuffer + { + (OOVPA*)&D3DDevice_RunPushBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_RunPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_RunPushBuffer" + #endif + }, + // IDirect3DDevice8::BlockOnFence + { + (OOVPA*)&D3DDevice_BlockOnFence_1_0_3925, + + XTL::EmuIDirect3DDevice8_BlockOnFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockOnFence" + #endif + }, + // IDirect3DDevice8::Reset + { + (OOVPA*)&D3DDevice_Reset_1_0_3925, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // Direct3D_GetAdapterIdentifier + { + (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, + XTL::EmuIDirect3D8_GetAdapterIdentifier, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_GetAdapterIdentifier" + #endif + }, + // Direct3D_GetDeviceCaps + { + (OOVPA*)&Direct3D_GetDeviceCaps_1_0_3925, + XTL::EmuIDirect3D8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_GetDeviceCaps" + #endif + }, + // D3D::SetCommonDebugRegisters + { + (OOVPA*)&D3D_SetCommonDebugRegisters_1_0_3925, + XTL::EmuD3D_SetCommonDebugRegisters, + + #ifdef _DEBUG_TRACE + "EmuD3D::SetCommonDebugRegisters" + #endif + }, + // D3DDevice_CreateImageSurface + { + (OOVPA*)&D3DDevice_CreateImageSurface_1_0_3925, + XTL::EmuIDirect3DDevice8_CreateImageSurface, + + #ifdef _DEBUG_TRACE + "D3DDevice_CreateImageSurface" + #endif + }, + // D3D::BlockOnTime + { + (OOVPA*)&D3D_BlockOnTime_1_0_3925, + XTL::EmuD3D_BlockOnTime, + + #ifdef _DEBUG_TRACE + "D3D::BlockOnTime" + #endif + }, + // D3D::BlockOnResource + { + (OOVPA*)&D3D_BlockOnResource_1_0_3925, + XTL::EmuD3D_BlockOnResource, + + #ifdef _DEBUG_TRACE + "D3D::BlockOnResource" + #endif + }, + // D3DDevice_BeginStateBlock + { + (OOVPA*)&D3DDevice_BeginStateBlock_1_0_3925, + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // D3DDevice_EndStateBlock + { + (OOVPA*)&D3DDevice_EndStateBlock_1_0_3925, + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, +}; + +// ****************************************************************** +// * D3D8_1_0_3925_SIZE +// ****************************************************************** +uint32 D3D8_1_0_3925_SIZE = sizeof(D3D8_1_0_3925); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.h new file mode 100644 index 000000000..74105c653 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.h @@ -0,0 +1,44 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4034.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_4034_H +#define D3D8_1_0_4034_H + +#include "OOVPA.h" + +extern SOOVPA<14> IDirect3DDevice8_SetRenderState_CullMode_1_0_4034; + +extern OOVPATable D3D8_1_0_4034[]; +extern uint32 D3D8_1_0_4034_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.inl new file mode 100644 index 000000000..8b5ef13f3 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4034.inl @@ -0,0 +1,2781 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4034.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3DDevice8_GetGammaRamp +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetGammaRamp_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x0A, 0x00 }, + { 0x10, 0xE1 }, + { 0x16, 0x0C }, + { 0x1C, 0x00 }, + { 0x22, 0x00 }, + { 0x28, 0x04 }, + } +}; + + +// ****************************************************************** +// * IDirect3DDevice8_GetCreationParameters +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetCreationParameters_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x8B }, + { 0x0E, 0x8B }, + { 0x16, 0x4E }, + { 0x1E, 0x83 }, + { 0x26, 0x00 }, + { 0x2E, 0x5E }, + { 0x36, 0xC9 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetViewport +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi + { 0x05, 0x56 }, // (Offset,Value)-Pair #1 + { 0x06, 0x57 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetViewport+0x0B : lea esi, [eax+0x0B50] + { 0x0B, 0x8D }, // (Offset,Value)-Pair #3 + { 0x0C, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x0D, 0x50 }, // (Offset,Value)-Pair #5 + { 0x0E, 0x0B }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetViewport+0x11 : mov ecx, 6 + { 0x11, 0xB9 }, // (Offset,Value)-Pair #7 + { 0x12, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 + { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetViewport +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetViewport_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetViewport+0x00 : sub esp, 0x08 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetViewport+0x2D : mov ebx, [esp+0x14] + { 0x2D, 0x8B }, // (Offset,Value)-Pair #4 + { 0x2E, 0x5C }, // (Offset,Value)-Pair #5 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #6 + { 0x30, 0x14 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetViewport+0x53 : jnz +0x12 + { 0x53, 0x75 }, // (Offset,Value)-Pair #8 + { 0x54, 0x12 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetViewport+0x9B : inc edx + { 0x9B, 0x42 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTransform +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTransform+0x44 : fld dword ptr [edx+0x28] + { 0x44, 0xD9 }, // (Offset,Value)-Pair #1 + { 0x45, 0x42 }, // (Offset,Value)-Pair #2 + { 0x46, 0x28 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTransform+0x51 : test ah, 0x44 + { 0x51, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x52, 0xC4 }, // (Offset,Value)-Pair #5 + { 0x53, 0x44 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTransform+0x5F : fnstsw ax + { 0x5F, 0xDF }, // (Offset,Value)-Pair #7 + { 0x60, 0xE0 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTransform+0x84 : fdivp st(1), st + { 0x84, 0xDE }, // (Offset,Value)-Pair #9 + { 0x85, 0xF9 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_CullMode +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetRenderState_CullMode_1_0_4034 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_DXSRSCULLMODE, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3DDevice8_SetRenderState_CullMode+0x00 : push esi + { 0x00, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_CullMode+0x19 : mov dword ptr [eax], 0x40308 + { 0x19, 0xC7 }, // (Offset,Value)-Pair #2 + { 0x1B, 0x08 }, // (Offset,Value)-Pair #3 + { 0x1C, 0x03 }, // (Offset,Value)-Pair #4 + { 0x1D, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_CullMode+0x24 : add eax, 8 + { 0x24, 0x83 }, // (Offset,Value)-Pair #6 + { 0x25, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x26, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_CullMode+0x30 : retn 4 + { 0x30, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x31, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_CullMode+0x53 : add edx, 0x404 + { 0x53, 0x81 }, // (Offset,Value)-Pair #11 + { 0x54, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x55, 0x04 }, // (Offset,Value)-Pair #13 + { 0x56, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * D3DDevice_BeginVisibilityTest +// ****************************************************************** +SOOVPA<7> D3DDevice_BeginVisibilityTest_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0A, 0x46 }, + { 0x13, 0xC7 }, + { 0x16, 0x17 }, + { 0x1C, 0x00 }, + { 0x22, 0x48 }, + { 0x28, 0x06 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndVisibilityTest +// ****************************************************************** +SOOVPA<7> D3DDevice_EndVisibilityTest_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x16, 0x5E }, + { 0x22, 0x07 }, + { 0x2E, 0x00 }, + { 0x3A, 0x81 }, + { 0x46, 0x89 }, + { 0x55, 0x5F }, + } +}; + +// ****************************************************************** +// * D3DDevice_CopyRects +// ****************************************************************** +SOOVPA<8> D3DDevice_CopyRects_1_0_4034 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x57 }, + { 0x3E, 0xF6 }, + { 0x5E, 0xEB }, + { 0x7E, 0x00 }, + { 0x9E, 0x10 }, + { 0xBE, 0x24 }, + { 0xDE, 0x22 }, + { 0xFE, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DeletePatch +// ****************************************************************** +SOOVPA<7> D3DDevice_DeletePatch_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x0D }, + { 0x0C, 0xA1 }, + { 0x13, 0x34 }, + { 0x1A, 0x4E }, + { 0x21, 0x00 }, + { 0x2A, 0x56 }, + { 0x30, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVertices +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4034 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x46 }, // (Offset,Value)-Pair #2 + { 0x10, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawIndexedVertices+0x20 : push 0x0209 + { 0x20, 0x68 }, // (Offset,Value)-Pair #4 + { 0x21, 0x09 }, // (Offset,Value)-Pair #5 + { 0x22, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_DrawIndexedVertices+0x64 : dec eax + { 0x64, 0x48 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawIndexedVertices+0xF1 : prefetchnta byte ptr [esi+0x3C] + { 0xF1, 0x0F }, // (Offset,Value)-Pair #8 + { 0xF2, 0x18 }, // (Offset,Value)-Pair #9 + { 0xF3, 0x46 }, // (Offset,Value)-Pair #10 + { 0xF4, 0x3C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetStreamSource +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4034 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04] + { 0x08, 0x8B }, // (Offset,Value)-Pair #1 + { 0x09, 0x7C }, // (Offset,Value)-Pair #2 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetStreamSource+0x28 : jz +0x26 + { 0x28, 0x74 }, // (Offset,Value)-Pair #5 + { 0x29, 0x26 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetStreamSource+0x70 : or ecx, 0x40 + { 0x70, 0x83 }, // (Offset,Value)-Pair #7 + { 0x71, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x72, 0x40 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetStreamSource+0x7E : or ecx, 0x70 + { 0x7E, 0x83 }, // (Offset,Value)-Pair #10 + { 0x7F, 0xC9 }, // (Offset,Value)-Pair #11 + { 0x80, 0x70 }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C + { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * D3DDevice_SetTextureState_BorderColor +// ****************************************************************** +SOOVPA<7> D3DDevice_SetTextureState_BorderColor_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0E, 0xE8 }, + { 0x16, 0x08 }, + { 0x1E, 0x24 }, + { 0x26, 0x24 }, + { 0x2E, 0x89 }, + { 0x39, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetTextureState_ColorKeyColor +// ****************************************************************** +SOOVPA<7> D3DDevice_SetTextureState_ColorKeyColor_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0E, 0xE8 }, + { 0x16, 0x08 }, + { 0x1E, 0x89 }, + { 0x26, 0x04 }, + { 0x2E, 0x07 }, + { 0x36, 0xC2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVertices +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4034 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVertices+0x12 : mov edi, [esp+0x0C+0x0C] + { 0x12, 0x8B }, // (Offset,Value)-Pair #1 + { 0x13, 0x7C }, // (Offset,Value)-Pair #2 + { 0x14, 0x24 }, // (Offset,Value)-Pair #3 + { 0x15, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_DrawVertices+0x16 : lea esi, [edi-1] + { 0x16, 0x8D }, // (Offset,Value)-Pair #5 + { 0x17, 0x77 }, // (Offset,Value)-Pair #6 + { 0x18, 0xFF }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawVertices+0x7E : shl edi, 0x18 + { 0x7E, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x7F, 0xE7 }, // (Offset,Value)-Pair #9 + { 0x80, 0x18 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_DrawVertices+0x9C : retn 0x0C + { 0x9C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x9D, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LoadVertexShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x08] + { 0x07, 0x8A }, // (Offset,Value)-Pair #1 + { 0x08, 0x43 }, // (Offset,Value)-Pair #2 + { 0x09, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_LoadVertexShader+0x32 : mov dword ptr [eax], 0x00041E9C + { 0x32, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x33, 0x00 }, // (Offset,Value)-Pair #5 + { 0x34, 0x9C }, // (Offset,Value)-Pair #6 + { 0x35, 0x1E }, // (Offset,Value)-Pair #7 + { 0x36, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_LoadVertexShader+0x4E : mov [ebx], ebx + { 0x4E, 0x89 }, // (Offset,Value)-Pair #9 + { 0x4F, 0x13 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3DDevice_DrawRectPatch +// ****************************************************************** +SOOVPA<8> D3DDevice_DrawRectPatch_1_0_4034 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x6C }, + { 0x3E, 0x3C }, + { 0x5E, 0x54 }, + { 0x7F, 0x89 }, + { 0x9E, 0x00 }, + { 0xBE, 0xD9 }, + { 0xDE, 0xD9 }, + { 0xFE, 0x86 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetIndices +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4034 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 + { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 + { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetIndices+0x1E : jmp +0x0A + { 0x1E, 0xEB }, // (Offset,Value)-Pair #3 + { 0x1F, 0x0A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetIndices+0x59 : mov [esi+0x1C], ecx + { 0x59, 0x89 }, // (Offset,Value)-Pair #5 + { 0x5A, 0x4E }, // (Offset,Value)-Pair #6 + { 0x5B, 0x1C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetIndices+0x76 : mov [esi+0x0504], edi + { 0x76, 0x89 }, // (Offset,Value)-Pair #8 + { 0x77, 0xBE }, // (Offset,Value)-Pair #9 + { 0x78, 0x04 }, // (Offset,Value)-Pair #10 + { 0x79, 0x05 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_EdgeAntiAlias +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x72 }, + { 0x13, 0x8B }, + { 0x1A, 0x03 }, + { 0x21, 0x48 }, + { 0x28, 0x89 }, + { 0x2F, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_FillMode +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_FillMode_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x13, 0x8B }, + { 0x19, 0x8B }, + { 0x22, 0x4C }, + { 0x2B, 0x8C }, + { 0x34, 0x08 }, + { 0x40, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_BackFillMode +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_BackFillMode_1_0_4034 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x0B, 0xA3 }, + { 0x14, 0x04 }, + { 0x23, 0x8B }, + { 0x2A, 0xC9 }, + { 0x35, 0xC7 }, + { 0x40, 0x08 }, + { 0x4C, 0x5F }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_FogColor +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_FogColor_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x06 }, + { 0x14, 0x8B }, + { 0x1C, 0x0E }, + { 0x26, 0xE7 }, + { 0x30, 0x00 }, + { 0x3A, 0x89 }, + { 0x44, 0x0D }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_FrontFace +// ****************************************************************** +SOOVPA<6> D3DDevice_SetRenderState_FrontFace_1_0_4034 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0E, 0xE8 }, + { 0x16, 0x08 }, + { 0x1E, 0x48 }, + { 0x2A, 0x89 }, + { 0x30, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_LogicOp +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x3B }, + { 0x14, 0x4C }, + { 0x1F, 0x04 }, + { 0x2A, 0x0D }, + { 0x35, 0xBC }, + { 0x40, 0x89 }, + { 0x4E, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x17, 0x8B }, + { 0x23, 0x8B }, + { 0x2C, 0x8B }, + { 0x38, 0xC1 }, + { 0x40, 0x7C }, + { 0x4B, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMask +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_MultiSampleMask_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x17, 0x8B }, + { 0x23, 0x8B }, + { 0x2C, 0x8B }, + { 0x38, 0x83 }, + { 0x40, 0x7C }, + { 0x4B, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_NormalizeNormals +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_NormalizeNormals_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0E, 0xE8 }, + { 0x16, 0x08 }, + { 0x1E, 0x48 }, + { 0x26, 0x0D }, + { 0x2E, 0x00 }, + { 0x36, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_ShadowFunc +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_ShadowFunc_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x72 }, + { 0x13, 0x8B }, + { 0x1A, 0x1E }, + { 0x21, 0xFF }, + { 0x28, 0x08 }, + { 0x31, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Simple +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4034 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08 + { 0x05, 0x83 }, // (Offset,Value)-Pair #1 + { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x07, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_Simple+0x0E : jnb +0x0C + { 0x0E, 0x73 }, // (Offset,Value)-Pair #4 + { 0x0F, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_Simple+0x15 : mov [eax-8], ecx + { 0x15, 0x89 }, // (Offset,Value)-Pair #6 + { 0x16, 0x48 }, // (Offset,Value)-Pair #7 + { 0x17, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_Simple+0x18 : mov [eax-4], ecx + { 0x18, 0x89 }, // (Offset,Value)-Pair #9 + { 0x19, 0x50 }, // (Offset,Value)-Pair #10 + { 0x1A, 0xFC }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_Simple+0x25 : jmp +0xD9 + { 0x25, 0xEB }, // (Offset,Value)-Pair #12 + { 0x26, 0xD9 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_StencilEnable +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_StencilEnable_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x13, 0x8B }, + { 0x20, 0x02 }, + { 0x34, 0x85 }, + { 0x42, 0x75 }, + { 0x53, 0x89 }, + { 0x64, 0x00 }, + { 0x75, 0x83 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_StencilFail +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_StencilFail_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x72 }, + { 0x1A, 0xC9 }, + { 0x2A, 0x85 }, + { 0x36, 0x74 }, + { 0x44, 0x83 }, + { 0x52, 0x24 }, + { 0x60, 0x10 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_YuvEnable +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_YuvEnable_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x56 }, + { 0x0B, 0xA3 }, + { 0x10, 0x8B }, + { 0x16, 0x05 }, + { 0x1C, 0x8B }, + { 0x25, 0x89 }, + { 0x28, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_TwoSidedLighting +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x18, 0x15 }, + { 0x25, 0x46 }, + { 0x35, 0x8B }, + { 0x43, 0x75 }, + { 0x4C, 0x00 }, + { 0x59, 0x3D }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_VertexBlend +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0xCA }, + { 0x13, 0x89 }, + { 0x19, 0x8B }, + { 0x25, 0x8B }, + { 0x2B, 0x28 }, + { 0x34, 0x08 }, + { 0x3D, 0x5E }, + } +}; + +// ****************************************************************** +// * Direct3D_CheckDeviceFormat +// ****************************************************************** +SOOVPA<7> Direct3D_CheckDeviceFormat_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x18 }, + { 0x1E, 0x00 }, + { 0x2E, 0x42 }, + { 0x41, 0x40 }, + { 0x4E, 0x74 }, + { 0x5E, 0x08 }, + { 0x6E, 0x3C }, + } +}; + +// ****************************************************************** +// * Direct3D_SetPushBufferSize +// ****************************************************************** +SOOVPA<7> Direct3D_SetPushBufferSize_1_0_4034 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x08 }, + { 0x0D, 0x89 }, + { 0x0E, 0x0D }, + { 0x13, 0xC2 }, + { 0x14, 0x08 }, + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +/*SOOVPA<10> Get2DSurfaceDesc_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x62 : mov eax, [eax+0x21DC] + { 0x56, 0x8B }, // (Offset,Value)-Pair #5 + { 0x57, 0x80 }, // (Offset,Value)-Pair #6 + { 0x58, 0xDC }, // (Offset,Value)-Pair #7 + { 0x59, 0x21 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +};*/ + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x1B : mov edx, [esi+0x2074h] + { 0x1B, 0x8B }, // (Offset,Value)-Pair #3 + { 0x1C, 0x96 }, // (Offset,Value)-Pair #4 + { 0x1D, 0xF4 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x21 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x31 : mov dword ptr [eax], 0x4030C + { 0x31, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x32, 0x00 }, // (Offset,Value)-Pair #8 + { 0x33, 0x0C }, // (Offset,Value)-Pair #9 + { 0x34, 0x03 }, // (Offset,Value)-Pair #10 + { 0x35, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x98 : retn 0x04 + { 0x98, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x99, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4034 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x050C] + { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 + { 0x10, 0x9E }, // (Offset,Value)-Pair #2 + { 0x11, 0x0C }, // (Offset,Value)-Pair #3 + { 0x12, 0x05 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_LightEnable+0x6B : test eax, eax + { 0x6B, 0x85 }, // (Offset,Value)-Pair #5 + { 0x6C, 0xC0 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_LightEnable+0x9E : mov eax, [eax+0x8C] + { 0x9E, 0x8B }, // (Offset,Value)-Pair #7 + { 0x9F, 0x80 }, // (Offset,Value)-Pair #8 + { 0xA0, 0x8C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_LightEnable+0xBC : jz +0x12 + { 0xBC, 0x74 }, // (Offset,Value)-Pair #10 + { 0xBD, 0x12 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 + { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 + { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x04E8] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x86 }, // (Offset,Value)-Pair #2 + { 0x09, 0xE8 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x2F : nop + { 0x2F, 0x90 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x41 : retn 0x04 + { 0x41, 0xC2 }, // (Offset,Value)-Pair #6 + { 0x42, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x21FC] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0xFC }, // (Offset,Value)-Pair #7 + { 0x55, 0x21 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Clear +// ****************************************************************** +LOOVPA<9> IDirect3DDevice8_Clear_1_0_4034 = +{ + 1, // Large == 1 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h + { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 + { 0x0002, 0x38 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_Clear+0x000B : mov ebx, [ebp+0x21F4] + { 0x000B, 0x8B }, // (Offset,Value)-Pair #4 + { 0x000C, 0x9D }, // (Offset,Value)-Pair #5 + { 0x000D, 0xF4 }, // (Offset,Value)-Pair #6 + { 0x000E, 0x21 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_Clear+0x0399 : retn 0x18 + { 0x0399, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x039A, 0x18 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetLight +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4034 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x50C] + { 0x11, 0x8B }, // (Offset,Value)-Pair #1 + { 0x12, 0xBD }, // (Offset,Value)-Pair #2 + { 0x13, 0x0C }, // (Offset,Value)-Pair #3 + { 0x14, 0x05 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetLight+0x30 : shl eax, 0x04 + { 0x30, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x31, 0xE0 }, // (Offset,Value)-Pair #6 + { 0x32, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetLight+0xBD : rep stosb + { 0xBD, 0xF3 }, // (Offset,Value)-Pair #8 + { 0xBE, 0xAB }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetLight+0xFD : mov ecx, [ebx+0x68] + { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 + { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 + { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock +// ****************************************************************** +SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4034 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] + { 0x01, 0x8A }, // (Offset,Value)-Pair #1 + { 0x02, 0x5C }, // (Offset,Value)-Pair #2 + { 0x03, 0x24 }, // (Offset,Value)-Pair #3 + { 0x04, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DVertexBuffer8_Lock+0x09 : jnz +0x24 + { 0x09, 0x75 }, // (Offset,Value)-Pair #5 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #6 + + // IDirect3DVertexBuffer8_Lock+0x2F : test bl, 0xA0 + { 0x2F, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x30, 0xC3 }, // (Offset,Value)-Pair #8 + { 0x31, 0xA0 }, // (Offset,Value)-Pair #9 + + // IDirect3DVertexBuffer8_Lock+0x50 : retn 0x14 + { 0x50, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x51, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTexture +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTexture+0x09 : push edi + { 0x09, 0x57 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetTexture+0x21 : jz +0x20 + { 0x21, 0x74 }, // (Offset,Value)-Pair #2 + { 0x22, 0x20 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTexture+0x33 : test ecx, 0x78FFFF + { 0x33, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x34, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x37, 0x78 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTexture+0x39 : mov [eax], edx + { 0x39, 0x89 }, // (Offset,Value)-Pair #7 + { 0x3A, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTexture+0xC9 : jz +0x4D + { 0xC9, 0x74 }, // (Offset,Value)-Pair #9 + { 0xCA, 0x4D }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPalette +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4034 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0C08] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xBE }, // (Offset,Value)-Pair #3 + { 0x10, 0x08 }, // (Offset,Value)-Pair #4 + { 0x11, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPalette+0x76 : add edi, 0x41B20 + { 0x76, 0x81 }, // (Offset,Value)-Pair #6 + { 0x77, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x78, 0x20 }, // (Offset,Value)-Pair #8 + { 0x79, 0x1B }, // (Offset,Value)-Pair #9 + { 0x7A, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 + { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TexCoordIndex +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07 + { 0x13, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x14, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x15, 0x07 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x25 : cmp eax, ecx + { 0x25, 0x3B }, // (Offset,Value)-Pair #4 + { 0x26, 0xC1 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x6C : mov edi, 0x2400 + { 0x6C, 0xBF }, // (Offset,Value)-Pair #6 + { 0x6E, 0x24 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0xB4 : shl edx, 0x04 + { 0xB4, 0xC1 }, // (Offset,Value)-Pair #8 + { 0xB5, 0xE2 }, // (Offset,Value)-Pair #9 + { 0xB6, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4034 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0B70 + { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x70 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x0B }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetMaterial+0x12 : mov ecx, 0x11 + { 0x12, 0xB9 }, // (Offset,Value)-Pair #5 + { 0x13, 0x11 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetMaterial+0x1F : or ecx, 0x1000 + { 0x1F, 0x81 }, // (Offset,Value)-Pair #7 + { 0x20, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x21, 0x00 }, // (Offset,Value)-Pair #9 + { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 + { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShader +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4034 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 + { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x08, 0x01 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShader+0x11 : mov eax, [esi+0x04F8] + { 0x11, 0x8B }, // (Offset,Value)-Pair #4 + { 0x12, 0x86 }, // (Offset,Value)-Pair #5 + { 0x13, 0xF8 }, // (Offset,Value)-Pair #6 + { 0x14, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetVertexShader+0x90 : retn 0x04 + { 0x90, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x91, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShader+0xB0 : mov dword ptr [eax], 0x4194C + { 0xB0, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB1, 0x00 }, // (Offset,Value)-Pair #11 + { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 + { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 + { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * D3DDevice_Swap +// ****************************************************************** +SOOVPA<11> D3DDevice_Swap_1_0_4034 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 + { 0x10, 0xBB }, // (Offset,Value)-Pair #1 + { 0x11, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Swap+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_Swap+0x30 : mov [esi+0x2C38], eax + { 0x30, 0x89 }, // (Offset,Value)-Pair #6 + { 0x31, 0x86 }, // (Offset,Value)-Pair #7 + { 0x32, 0x38 }, // (Offset,Value)-Pair #8 + { 0x33, 0x2C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Swap+0xB0 : retn 4 + { 0xB0, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xB1, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3D8_KickOffAndWaitForIdle +// ****************************************************************** +SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_4034 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3D8_KickOffAndWaitForIdle+0x05 : mov ecx, [eax+0x30] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x48 }, // (Offset,Value)-Pair #3 + { 0x07, 0x30 }, // (Offset,Value)-Pair #4 + + // IDirect3D8_KickOffAndWaitForIdle+0x08 : push 0 + { 0x08, 0x6A }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_KickOffAndWaitForIdle+0x0A : push ecx + { 0x0A, 0x51 }, // (Offset,Value)-Pair #7 + + // IDirect3D8_KickOffAndWaitForIdle+0x0B : call [addr] + { 0x0B, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3D8_KickOffAndWaitForIdle+0x10 : retn + { 0x10, 0xC3 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateImageSurface +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4034 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 + { 0x2B, 0x18 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateImageSurface+0x2C : push 0x40 + { 0x2C, 0x6A }, // (Offset,Value)-Pair #3 + { 0x2D, 0x40 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CreateImageSurface+0x3B : push 0x0404 + { 0x3B, 0x68 }, // (Offset,Value)-Pair #5 + { 0x3C, 0x04 }, // (Offset,Value)-Pair #6 + { 0x3D, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateImageSurface+0x61 : retn 0x10 + { 0x61, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x62, 0x10 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4034 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer+0x0D : jnz +0x07 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer+0x18 : sbb eax, eax + { 0x18, 0x1B }, // (Offset,Value)-Pair #6 + { 0x19, 0xC0 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetBackBuffer+0x1D : mov eax, [ecx+eax*4+0x21FC] + { 0x1D, 0x8B }, // (Offset,Value)-Pair #8 + { 0x1E, 0x84 }, // (Offset,Value)-Pair #9 + { 0x1F, 0x81 }, // (Offset,Value)-Pair #10 + { 0x20, 0xFC }, // (Offset,Value)-Pair #11 + { 0x21, 0x21 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3D8_1_0_4034 +// ****************************************************************** +OOVPATable D3D8_1_0_4034[] = +{ + // IDirect3D8::CreateDevice (* unchanged since 1.0.3925 *) + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_3925, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3DDevice8::Clear + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_4034, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DResource8::Register + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DDevice8::CreatePalette + { + (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette" + #endif + }, + + // ********************** BEG WARNING UNTESTED!!! ******************* + +#if 0 + // IDirect3DDevice8::BeginVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_3925, + + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // IDirect3DDevice8::EndVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_3925, + + XTL::EmuIDirect3DDevice8_EndVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndVisibilityTest" + #endif + }, + // IDirect3DDevice8::LoadVertexShader + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShader + { + (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // IDirect3DDevice8::Release + { + (OOVPA*)&IDirect3DDevice8_Release_1_0_3925, + + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Release" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // IDirect3DDevice8::SetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::GetTransform + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::SetStreamSource + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::SetTexture + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_3925, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::Begin + { + (OOVPA*)&IDirect3DDevice8_Begin_1_0_3925, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetVertexDataColor + { + (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexDataColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexDataColor" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&IDirect3DDevice8_End_1_0_3925, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::Clear + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_3925, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_PSTextureModes + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_PSTextureModes" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode + /*{ + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + },*/ + // IDirect3DDevice8::SetRenderState_Simple + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::Present + { + (OOVPA*)&IDirect3DDevice8_Present_1_0_3925, + + XTL::EmuIDirect3DDevice8_Present, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Present" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::GetBackBuffer + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface" + #endif + }, + // IDirect3DVertexBuffer8::Lock + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_3925, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + }, + // IDirect3DResource8::IsBusy + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_3925, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // Get2DSurfacDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_3925, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + + // ********************** END WARNING UNTESTED!!! ******************* +#endif + + // IDirect3DDevice8::GetGammaRamp + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // IDirect3DDevice8::GetCreationParameters + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::GetViewport + { + (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::SetTransform + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::CreateCubeTexture (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateCubeTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateCubeTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateCubeTexture" + #endif + }, + // IDirect3DDevice8::GetDeviceCaps (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8::CreatePalette (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette" + #endif + }, + // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture" + #endif + }, + // IDirect3DDevice8::CreateVolumeTexture (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVolumeTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVolumeTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVolumeTexture" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer" + #endif + }, + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer" + #endif + }, + // IDirect3DResource8::Release (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DPalette8::Lock (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, + + XTL::EmuIDirect3DPalette8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock" + #endif + }, + // IDirect3DTexture8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // IDirect3DVolumeTexture8::LockBox (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_3925, + + XTL::EmuIDirect3DVolumeTexture8_LockBox, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVolumeTexture8_LockBox" + #endif + }, + // IDirect3DCubeTexture8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DCubeTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_LockRect" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // Lock2DSurface (* unchanged since 3925 *) + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // IDirect3DDevice8_SetGammaRamp (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_3925, + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "IDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8::DrawVertices + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4034, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4034, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // D3DDevice_BeginVisibilityTest + { + (OOVPA*)&D3DDevice_BeginVisibilityTest_1_0_4034, + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // D3DDevice_EndVisibilityTest + { + (OOVPA*)&D3DDevice_EndVisibilityTest_1_0_4034, + XTL::EmuIDirect3DDevice8_EndVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndVisibilityTest" + #endif + }, + // D3DDevice_CopyRects + { + (OOVPA*)&D3DDevice_CopyRects_1_0_4034, + XTL::EmuIDirect3DDevice8_CopyRects, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CopyRects" + #endif + }, + // D3DDevice_DeletePatch (TODO) + /*{ + (OOVPA*)&D3DDevice_DeletePatch_1_0_4034, + XTL::EmuIDirect3DDevice8_DeletePatch, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePatch" + #endif + },*/ + // D3DDevice_SetStreamSource + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4034, + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // D3DDevice_SetTextureState_BorderColor + { + (OOVPA*)&D3DDevice_SetTextureState_BorderColor_1_0_4034, + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // D3DDevice_SetTextureState_ColorKeyColor + { + (OOVPA*)&D3DDevice_SetTextureState_ColorKeyColor_1_0_4034, + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // D3DDevice_LoadVertexShader + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4034, + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVisibilityTestResult" + #endif + }, + // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // D3DDevice_DrawRectPatch + { + (OOVPA*)&D3DDevice_DrawRectPatch_1_0_4034, + XTL::EmuIDirect3DDevice8_DrawRectPatch, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawRectPatch" + #endif + }, + // D3DDevice_SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4034, + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // D3DDevice_SetRenderState_EdgeAntiAlias + { + (OOVPA*)&D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // D3DDevice_SetRenderState_FillMode + { + (OOVPA*)&D3DDevice_SetRenderState_FillMode_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // D3DDevice_SetRenderState_BackFillMode + { + (OOVPA*)&D3DDevice_SetRenderState_BackFillMode_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // D3DDevice_SetRenderState_FogColor + { + (OOVPA*)&D3DDevice_SetRenderState_FogColor_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // D3DDevice_SetRenderState_FrontFace + { + (OOVPA*)&D3DDevice_SetRenderState_FrontFace_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // D3DDevice_SetRenderState_LogicOp + { + (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // D3DDevice_SetRenderState_MultiSampleAntiAlias + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // D3DDevice_SetRenderState_MultiSampleMask + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // D3DDevice_SetRenderState_NormalizeNormals + { + (OOVPA*)&D3DDevice_SetRenderState_NormalizeNormals_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // D3DDevice_SetRenderState_ShadowFunc + { + (OOVPA*)&D3DDevice_SetRenderState_ShadowFunc_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // D3DDevice_SetRenderState_Simple + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // D3DDevice_SetRenderState_StencilEnable + { + (OOVPA*)&D3DDevice_SetRenderState_StencilEnable_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // D3DDevice_SetRenderState_StencilFail + { + (OOVPA*)&D3DDevice_SetRenderState_StencilFail_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // D3DDevice_SetRenderState_YuvEnable + { + (OOVPA*)&D3DDevice_SetRenderState_YuvEnable_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // D3DDevice_SetRenderState_TwoSidedLighting + { + (OOVPA*)&D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034, + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" + #endif + }, + // D3DDevice_SetRenderState_VertexBlend + { + (OOVPA*)&D3DDevice_SetRenderState_VertexBlend_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3D8_CheckDeviceFormat + { + (OOVPA*)&Direct3D_CheckDeviceFormat_1_0_4034, + XTL::EmuIDirect3D8_CheckDeviceFormat, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CheckDeviceFormat" + #endif + }, + // IDirect3D8_SetPushBufferSize + { + (OOVPA*)&Direct3D_SetPushBufferSize_1_0_4034, + XTL::EmuIDirect3D8_SetPushBufferSize, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_SetPushBufferSize" + #endif + }, + // Get2DSurfacDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_4034, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel" + #endif + }, + // D3DDevice_SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // D3DDevice_LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4034, + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // D3DDevice_SetRenderState_TextureFactor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034, + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // Direct3D_GetAdapterIdentifier (* unchanged since 3925 *) + { + (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, + XTL::EmuIDirect3D8_GetAdapterIdentifier, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_GetAdapterIdentifier" + #endif + }, + // IDirect3DSurface8::GetDesc (* unchanged since 3925 *) + { + (OOVPA*)&D3DSurface_GetDesc_1_0_3925, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // Get2DSurfacDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_4034, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // IDirect3DDevice8::SetLight + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DVertexBuffer8::Lock + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4034, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + }, + // IDirect3DDevice8::SetTexture + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::SetRenderState_TexCoordIndex + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&D3DDevice_Swap_1_0_4034, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3DDevice8::CreateImageSurface (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_CreateImageSurface_1_0_4034, + + XTL::EmuIDirect3DDevice8_CreateImageSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateImageSurface" + #endif + }, + // IDirect3DDevice8::GetBackBuffer + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // D3DDevice_ + /*{ + (OOVPA*)&D3DDevice__1_0_4034, + XTL::EmuIDirect3DDevice8_, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_" + #endif + }, + // D3DDevice_ + { + (OOVPA*)&D3DDevice__1_0_4034, + XTL::EmuIDirect3DDevice8_, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_" + #endif + }, + // D3DDevice_ + { + (OOVPA*)&D3DDevice__1_0_4034, + XTL::EmuIDirect3DDevice8_, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_" + #endif + },*/ +}; + +// ****************************************************************** +// * D3D8_1_0_4034_SIZE +// ****************************************************************** +uint32 D3D8_1_0_4034_SIZE = sizeof(D3D8_1_0_4034); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.h new file mode 100644 index 000000000..b566e972e --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.h @@ -0,0 +1,45 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4134.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_4134_H +#define D3D8_1_0_4134_H + +#include "OOVPA.h" + +extern SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134; +//extern SOOVPA<14> IDirect3DDevice8_SetRenderState_CullMode_1_0_4134; + +extern OOVPATable D3D8_1_0_4134[]; +extern uint32 D3D8_1_0_4134_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.inl new file mode 100644 index 000000000..84bba9daa --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4134.inl @@ -0,0 +1,3837 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4134.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TexCoordIndex +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07 + { 0x13, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x14, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x15, 0x07 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x25 : cmp eax, ecx + { 0x25, 0x3B }, // (Offset,Value)-Pair #4 + { 0x26, 0xC1 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x6C : mov edi, 0x2400 + { 0x6C, 0xBF }, // (Offset,Value)-Pair #6 + { 0x6E, 0x24 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0xB3 : shl edx, 0x04 + { 0xB4, 0xC1 }, // (Offset,Value)-Pair #8 + { 0xB5, 0xE2 }, // (Offset,Value)-Pair #9 + { 0xB6, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTransform +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTransform+0x16 : lea edi, [ecx+ebx+0x750] + { 0x16, 0x8D }, // (Offset,Value)-Pair #1 + { 0x17, 0xBC }, // (Offset,Value)-Pair #2 + { 0x18, 0x19 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTransform+0x24 : repe movsd + { 0x24, 0xF3 }, // (Offset,Value)-Pair #4 + { 0x25, 0xA5 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTransform+0x78 : fld [edx+0x3C] + { 0x78, 0xD9 }, // (Offset,Value)-Pair #6 + { 0x79, 0x42 }, // (Offset,Value)-Pair #7 + { 0x7A, 0x3C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTransform+0x92 : jmp +0x10 + { 0x92, 0xEB }, // (Offset,Value)-Pair #9 + { 0x93, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3D8_CheckDeviceFormat +// ****************************************************************** +SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CheckDeviceFormat+0x0D : retn 0x18 + { 0x0D, 0xC2 }, // (Offset,Value)-Pair #1 + { 0x0E, 0x18 }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CheckDeviceFormat+0x15 : jz +0x08 + { 0x15, 0x74 }, // (Offset,Value)-Pair #3 + { 0x16, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CheckDeviceFormat+0x29 : mov cl, 0x80 + { 0x29, 0xB1 }, // (Offset,Value)-Pair #5 + { 0x2A, 0x80 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CheckDeviceFormat+0x61 : retn 0x18 + { 0x61, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x62, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3D8_GetAdapterModeCount +// ****************************************************************** +SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_GetAdapterModeCount+0x25 : add edx, 0xFF + { 0x25, 0x81 }, // (Offset,Value)-Pair #1 + { 0x26, 0xE2 }, // (Offset,Value)-Pair #2 + { 0x27, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3D8_GetAdapterModeCount+0x47 : cmp edi, 0x04 + { 0x47, 0x83 }, // (Offset,Value)-Pair #4 + { 0x48, 0xFF }, // (Offset,Value)-Pair #5 + { 0x49, 0x04 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_GetAdapterModeCount+0x95 : shl eax, 0x02 + { 0x95, 0xC1 }, // (Offset,Value)-Pair #7 + { 0x96, 0xE0 }, // (Offset,Value)-Pair #8 + { 0x97, 0x02 }, // (Offset,Value)-Pair #9 + + // IDirect3D8_GetAdapterModeCount+0x99 : add esp, 0x08 + { 0x99, 0x83 }, // (Offset,Value)-Pair #10 + { 0x9A, 0xC4 }, // (Offset,Value)-Pair #11 + { 0x9B, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3D8_EnumAdapterModes +// ****************************************************************** +SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_EnumAdapterModes+0x00 : sub esp, 0x08 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3D8_EnumAdapterModes+0xD1 : and edx, 0x0A + { 0xD1, 0x83 }, // (Offset,Value)-Pair #4 + { 0xD2, 0xE2 }, // (Offset,Value)-Pair #5 + { 0xD3, 0x0A }, // (Offset,Value)-Pair #6 + + // IDirect3D8_EnumAdapterModes+0xF5 : mov dword ptr[edi+0x10], 0x1E + { 0xF5, 0xC7 }, // (Offset,Value)-Pair #7 + { 0xF6, 0x47 }, // (Offset,Value)-Pair #8 + { 0xF7, 0x10 }, // (Offset,Value)-Pair #9 + { 0xF8, 0x1E }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LoadVertexShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x08] + { 0x07, 0x8A }, // (Offset,Value)-Pair #1 + { 0x08, 0x43 }, // (Offset,Value)-Pair #2 + { 0x09, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_LoadVertexShader+0x32 : mov dword ptr [eax], 0x00041E9C + { 0x32, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x33, 0x00 }, // (Offset,Value)-Pair #5 + { 0x34, 0x9C }, // (Offset,Value)-Pair #6 + { 0x35, 0x1E }, // (Offset,Value)-Pair #7 + { 0x36, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_LoadVertexShader+0x4E : mov [ebx], ebx + { 0x4E, 0x89 }, // (Offset,Value)-Pair #9 + { 0x4F, 0x13 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FogColor +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FogColor+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_FogColor+0x09 : cmp eax, [esi+4] + { 0x09, 0x3B }, // (Offset,Value)-Pair #3 + { 0x0A, 0x46 }, // (Offset,Value)-Pair #4 + { 0x0B, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_FogColor+0x25 : shl edi, 0x10 + { 0x25, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x26, 0xE7 }, // (Offset,Value)-Pair #7 + { 0x27, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_FogColor+0x40 : mov [esi], eax + { 0x40, 0x89 }, // (Offset,Value)-Pair #9 + { 0x41, 0x06 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Swap_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 + { 0x10, 0xBB }, // (Offset,Value)-Pair #1 + { 0x11, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Swap+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_Swap+0x46 : inc dword ptr [esi+0x2ABC] + { 0x46, 0xFF }, // (Offset,Value)-Pair #6 + { 0x47, 0x86 }, // (Offset,Value)-Pair #7 + { 0x48, 0xBC }, // (Offset,Value)-Pair #8 + { 0x49, 0x2A }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Swap+0xAE : retn 4 + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xAF, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Clear +// ****************************************************************** +LOOVPA<9> IDirect3DDevice8_Clear_1_0_4134 = +{ + 1, // Large == 1 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h + { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 + { 0x0002, 0x38 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_Clear+0x000B : mov ebx, [ebp+0x2074] + { 0x000B, 0x8B }, // (Offset,Value)-Pair #4 + { 0x000C, 0x9D }, // (Offset,Value)-Pair #5 + { 0x000D, 0x74 }, // (Offset,Value)-Pair #6 + { 0x000E, 0x20 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_Clear+0x0399 : retn 0x18 + { 0x0399, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x039A, 0x18 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer+0x0D : jnz +0x07 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer+0x18 : sbb eax, eax + { 0x18, 0x1B }, // (Offset,Value)-Pair #6 + { 0x19, 0xC0 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetBackBuffer+0x1D : mov eax, [ecx+eax*4+0x207C] + { 0x1D, 0x8B }, // (Offset,Value)-Pair #8 + { 0x1E, 0x84 }, // (Offset,Value)-Pair #9 + { 0x1F, 0x81 }, // (Offset,Value)-Pair #10 + { 0x20, 0x7C }, // (Offset,Value)-Pair #11 + { 0x21, 0x20 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDepthStencilSurface +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_GetDepthStencilSurface_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetDepthStencilSurface+0x05 : mov eax, [eax + 0x2074] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x74 }, // (Offset,Value)-Pair #4 + { 0x08, 0x20 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetDepthStencilSurface+0x11 : mov [ecx], eax + { 0x11, 0x89 }, // (Offset,Value)-Pair #6 + { 0x12, 0x01 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetDepthStencilSurface+0x1D : retn 0x04 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x1E, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderTarget +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderTarget_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderTarget+0x00 : sub esp, 0x3C + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x3C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderTarget+014 : jnz +0x0C + { 0x14, 0x75 }, // (Offset,Value)-Pair #4 + { 0x15, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderTarget+0x44 : push ebp + { 0x44, 0x55 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderTarget+0x79 : shr ecx, 0x14 + { 0x79, 0xC1 }, // (Offset,Value)-Pair #7 + { 0x7A, 0xE9 }, // (Offset,Value)-Pair #8 + { 0x7B, 0x14 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SelectVertexShader +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SelectVertexShader+0x13 : mov [esi+0x384], eax + { 0x13, 0x89 }, // (Offset,Value)-Pair #1 + { 0x14, 0x86 }, // (Offset,Value)-Pair #2 + { 0x15, 0x84 }, // (Offset,Value)-Pair #3 + { 0x16, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SelectVertexShader+0x3B : mov dword ptr [eax], 0x00081E94 + { 0x3B, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x3C, 0x00 }, // (Offset,Value)-Pair #6 + { 0x3D, 0x94 }, // (Offset,Value)-Pair #7 + { 0x3E, 0x1E }, // (Offset,Value)-Pair #8 + { 0x3F, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SelectVertexShader+0x55 : mov [esi], eax + { 0x55, 0x89 }, // (Offset,Value)-Pair #10 + { 0x56, 0x06 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CopyRects +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CopyRects+0x00 : sub esp, 0x01A0 + { 0x00, 0x81 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0xA0 }, // (Offset,Value)-Pair #3 + { 0x03, 0x01 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CopyRects+0x6E : mov esi, [eax+0x201C] + { 0x6E, 0x8B }, // (Offset,Value)-Pair #5 + { 0x6F, 0xB0 }, // (Offset,Value)-Pair #6 + { 0x70, 0x1C }, // (Offset,Value)-Pair #7 + { 0x71, 0x20 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CopyRects+0xDD : jnz +0x22 + { 0xDD, 0x75 }, // (Offset,Value)-Pair #9 + { 0xDE, 0x22 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateImageSurface +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 + { 0x2B, 0x18 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateImageSurface+0x2C : push 0x40 + { 0x2C, 0x6A }, // (Offset,Value)-Pair #3 + { 0x2D, 0x40 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CreateImageSurface+0x3B : push 0x0404 + { 0x3B, 0x68 }, // (Offset,Value)-Pair #5 + { 0x3C, 0x04 }, // (Offset,Value)-Pair #6 + { 0x3D, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateImageSurface+0x61 : retn 0x10 + { 0x61, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x62, 0x10 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x08] + { 0x11, 0x8A }, // (Offset,Value)-Pair #1 + { 0x12, 0x4B }, // (Offset,Value)-Pair #2 + { 0x13, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant+0x1A : test cl, 0x10 + { 0x1A, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x1B, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x1C, 0x10 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVertexShaderConstant+0x60 : jle +0x19 + { 0x60, 0x7E }, // (Offset,Value)-Pair #7 + { 0x61, 0x19 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant+0x98 : retn 0x0C + { 0x98, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x99, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0370] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0xB3 }, // (Offset,Value)-Pair #2 + { 0x10, 0x70 }, // (Offset,Value)-Pair #3 + { 0x11, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetPixelShader+0x3A : or eax, 0x2000 + { 0x3A, 0x0D }, // (Offset,Value)-Pair #5 + { 0x3C, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetPixelShader+0x78 : retn 0x04 + { 0x78, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x79, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetPixelShader+0xE3 : rep movsd + { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 + { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 + + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_BumpEnv +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03 + { 0x18, 0x75 }, // (Offset,Value)-Pair #1 + { 0x19, 0x03 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x32 : mov ecx, [esp+0x14] + { 0x32, 0x8B }, // (Offset,Value)-Pair #6 + { 0x33, 0x4C }, // (Offset,Value)-Pair #7 + { 0x34, 0x24 }, // (Offset,Value)-Pair #8 + { 0x35, 0x18 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x50 : shl esi, 5 + { 0x50, 0xC1 }, // (Offset,Value)-Pair #10 + { 0x51, 0xE6 }, // (Offset,Value)-Pair #11 + { 0x52, 0x05 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetIndices +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 + { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 + { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetIndices+0x1E : jmp +0x0A + { 0x1E, 0xEB }, // (Offset,Value)-Pair #3 + { 0x1F, 0x0A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetIndices+0x59 : mov [esi+0x1C], ecx + { 0x59, 0x89 }, // (Offset,Value)-Pair #5 + { 0x5A, 0x4E }, // (Offset,Value)-Pair #6 + { 0x5B, 0x1C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetIndices+0x76 : mov [esi+0x038C], edi + { 0x76, 0x89 }, // (Offset,Value)-Pair #8 + { 0x77, 0xBE }, // (Offset,Value)-Pair #9 + { 0x78, 0x8C }, // (Offset,Value)-Pair #10 + { 0x79, 0x03 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_VertexBlend +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_VertexBlend+0x06 : or edx, 0x200 + { 0x06, 0x81 }, // (Offset,Value)-Pair #1 + { 0x07, 0xCA }, // (Offset,Value)-Pair #2 + { 0x08, 0x00 }, // (Offset,Value)-Pair #3 + { 0x09, 0x02 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x1E : jb +0x05 + { 0x1E, 0x72 }, // (Offset,Value)-Pair #5 + { 0x1F, 0x05 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x2F : mov [eax+4], ecx + { 0x2F, 0x89 }, // (Offset,Value)-Pair #7 + { 0x30, 0x48 }, // (Offset,Value)-Pair #8 + { 0x31, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x3E : retn 0x04 + { 0x3E, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x3F, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0370] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x86 }, // (Offset,Value)-Pair #2 + { 0x09, 0x70 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x2F : nop + { 0x2F, 0x90 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x41 : retn 0x04 + { 0x41, 0xC2 }, // (Offset,Value)-Pair #6 + { 0x42, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_EdgeAntiAlias +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x13 : mov ecx, [esp+0x08] + { 0x13, 0x8B }, // (Offset,Value)-Pair #5 + { 0x14, 0x4C }, // (Offset,Value)-Pair #6 + { 0x15, 0x24 }, // (Offset,Value)-Pair #7 + { 0x16, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x2F : retn 0x04 + { 0x2F, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x30, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x1B : mov edx, [esi+0x2074h] + { 0x1B, 0x8B }, // (Offset,Value)-Pair #3 + { 0x1C, 0x96 }, // (Offset,Value)-Pair #4 + { 0x1D, 0x74 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x31 : mov dword ptr [eax], 0x4030C + { 0x31, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x32, 0x00 }, // (Offset,Value)-Pair #8 + { 0x33, 0x0C }, // (Offset,Value)-Pair #9 + { 0x34, 0x03 }, // (Offset,Value)-Pair #10 + { 0x35, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x98 : retn 0x04 + { 0x98, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x99, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilEnable +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + { + // IDirect3DDevice8_SetRenderState_StencilEnable+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x2C : jz +0x19 + { 0x2C, 0x74 }, // (Offset,Value)-Pair #3 + { 0x2D, 0x19 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x4D : mov dword ptr [eax], 0x00041D84 + { 0x4D, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x4E, 0x00 }, // (Offset,Value)-Pair #6 + { 0x4F, 0x84 }, // (Offset,Value)-Pair #7 + { 0x50, 0x1D }, // (Offset,Value)-Pair #8 + { 0x51, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x81 : retn 0x04 + { 0x81, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x82, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi + { 0x04, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x05 : mov esi, dword ptr [addr] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x35 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x0B : mov ecx, esi + { 0x0B, 0x8B }, // (Offset,Value)-Pair #4 + { 0x0C, 0xCE }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x1C : jb +0x05 + { 0x1C, 0x72 }, // (Offset,Value)-Pair #6 + { 0x1D, 0x05 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x38 : shl ecx, 0x10 + { 0x38, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x39, 0xE1 }, // (Offset,Value)-Pair #9 + { 0x3A, 0x10 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x4F : retn 0x04 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x50, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetTransform +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetTransform+0x0A : shl ecx, 0x06 + { 0x0A, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x0B, 0xE1 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x06 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetTransform+0x12 : lea esi, [ecx+eax+*numb*] + { 0x12, 0x8D }, // (Offset,Value)-Pair #4 + { 0x13, 0xB4 }, // (Offset,Value)-Pair #5 + { 0x14, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetTransform+0x19 : mov ecx, 0x10 + { 0x19, 0xB9 }, // (Offset,Value)-Pair #7 + { 0x1A, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetTransform+0x20 : pop edi, pop esi + { 0x20, 0x5F }, // (Offset,Value)-Pair #9 + { 0x21, 0x5E }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetTransform+0x22 : retn 0x08 + { 0x22, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x23, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetStreamSource +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4134 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04] + { 0x08, 0x8B }, // (Offset,Value)-Pair #1 + { 0x09, 0x7C }, // (Offset,Value)-Pair #2 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetStreamSource+0x28 : jz +0x26 + { 0x28, 0x74 }, // (Offset,Value)-Pair #5 + { 0x29, 0x26 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetStreamSource+0x70 : or ecx, 0x40 + { 0x70, 0x83 }, // (Offset,Value)-Pair #7 + { 0x71, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x72, 0x40 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetStreamSource+0x7E : or ecx, 0x70 + { 0x7E, 0x83 }, // (Offset,Value)-Pair #10 + { 0x7F, 0xC9 }, // (Offset,Value)-Pair #11 + { 0x80, 0x70 }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C + { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShader +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4134 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 + { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x08, 0x01 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShader+0x11 : mov eax, [esi+0x0380] + { 0x11, 0x8B }, // (Offset,Value)-Pair #4 + { 0x12, 0x86 }, // (Offset,Value)-Pair #5 + { 0x13, 0x80 }, // (Offset,Value)-Pair #6 + { 0x14, 0x03 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetVertexShader+0x90 : retn 0x04 + { 0x90, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x91, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShader+0xB0 : mov dword ptr [eax], 0x4194C + { 0xB0, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB1, 0x00 }, // (Offset,Value)-Pair #11 + { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 + { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 + { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVerticesUP +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawVerticesUP+0x2F : mov edx, [edi+0x744] + { 0x2F, 0x8B }, // (Offset,Value)-Pair #4 + { 0x30, 0x97 }, // (Offset,Value)-Pair #5 + { 0x31, 0x44 }, // (Offset,Value)-Pair #6 + { 0x32, 0x07 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawVerticesUP+0xC1 : cmp esi, 0x80 + { 0xC1, 0x81 }, // (Offset,Value)-Pair #8 + { 0xC2, 0xFE }, // (Offset,Value)-Pair #9 + { 0xC3, 0x80 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetLight +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x394] + { 0x11, 0x8B }, // (Offset,Value)-Pair #1 + { 0x12, 0xBD }, // (Offset,Value)-Pair #2 + { 0x13, 0x94 }, // (Offset,Value)-Pair #3 + { 0x14, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetLight+0x30 : shl eax, 0x04 + { 0x30, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x31, 0xE0 }, // (Offset,Value)-Pair #6 + { 0x32, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetLight+0xBD : rep stosb + { 0xBD, 0xF3 }, // (Offset,Value)-Pair #8 + { 0xBE, 0xAB }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetLight+0xFD : mov ecx, [ebx+0x68] + { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 + { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 + { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0940 + { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 + { 0x0E, 0xF0 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x09 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetMaterial+0x12 : mov ecx, 0x11 + { 0x12, 0xB9 }, // (Offset,Value)-Pair #5 + { 0x13, 0x11 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetMaterial+0x1F : or ecx, 0x1000 + { 0x1F, 0x81 }, // (Offset,Value)-Pair #7 + { 0x20, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x21, 0x00 }, // (Offset,Value)-Pair #9 + { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 + { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0394] + { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 + { 0x10, 0x9E }, // (Offset,Value)-Pair #2 + { 0x11, 0x94 }, // (Offset,Value)-Pair #3 + { 0x12, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_LightEnable+0x6B : test eax, eax + { 0x6B, 0x85 }, // (Offset,Value)-Pair #5 + { 0x6C, 0xC0 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_LightEnable+0x9E : mov eax, [eax+0x8C] + { 0x9E, 0x8B }, // (Offset,Value)-Pair #7 + { 0x9F, 0x80 }, // (Offset,Value)-Pair #8 + { 0xA0, 0x8C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_LightEnable+0xBC : jz +0x12 + { 0xBC, 0x74 }, // (Offset,Value)-Pair #10 + { 0xBD, 0x12 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 + { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 + { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DSurface8_GetDesc +// ****************************************************************** +SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4134 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DSurface8_GetDesc+0x00 : mov eax, [esp+0x08] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirect3DSurface8_GetDesc+0x04 : mov ecx, [esp+0x04] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x4C }, // (Offset,Value)-Pair #6 + { 0x06, 0x24 }, // (Offset,Value)-Pair #7 + { 0x07, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DSurface8_GetDesc+0x08 : push eax + { 0x08, 0x50 }, // (Offset,Value)-Pair #9 + + // IDirect3DSurface8_GetDesc+0x09 : push 0 + { 0x09, 0x6A }, // (Offset,Value)-Pair #10 + { 0x0A, 0x00 }, // (Offset,Value)-Pair #11 + + // IDirect3DSurface8_GetDesc+0x0B : push ecx + { 0x0B, 0x51 }, // (Offset,Value)-Pair #12 + + // IDirect3DSurface8_GetDesc+0x0C : call [abs] + { 0x0C, 0xE8 }, // (Offset,Value)-Pair #13 + + // IDirect3DSurface8_GetDesc+0x11 : retn 0x08 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x12, 0x08 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_NormalizeNormals +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x25 : or [addr], 0x200 + { 0x25, 0x81 }, // (Offset,Value)-Pair #3 + { 0x26, 0x0D }, // (Offset,Value)-Pair #4 + { 0x2B, 0x00 }, // (Offset,Value)-Pair #5 + { 0x2C, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x36 : retn 0x04 + { 0x36, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x37, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x21C0] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0x7C }, // (Offset,Value)-Pair #7 + { 0x55, 0x20 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Reset +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_Reset_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Reset+0x15 : mov ecx, ebp + { 0x15, 0x8B }, // (Offset,Value)-Pair #1 + { 0x16, 0xCD }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Reset+0x1E : jnz +0xF5 + { 0x1E, 0x75 }, // (Offset,Value)-Pair #3 + { 0x1F, 0xF5 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_Reset+0x27 : mov esi, [esp+0x14] + { 0x27, 0x8B }, // (Offset,Value)-Pair #5 + { 0x28, 0x74 }, // (Offset,Value)-Pair #6 + { 0x29, 0x24 }, // (Offset,Value)-Pair #7 + { 0x2A, 0x14 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_Reset+0x37 : jge +0x10 + { 0x37, 0x7D }, // (Offset,Value)-Pair #9 + { 0x38, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TwoSidedLighting +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x11 : or edx, 0x1000 + { 0x11, 0x81 }, // (Offset,Value)-Pair #1 + { 0x12, 0xCA }, // (Offset,Value)-Pair #2 + { 0x13, 0x00 }, // (Offset,Value)-Pair #3 + { 0x14, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x24 : cmp eax, [esi+4]; push edi + { 0x24, 0x3B }, // (Offset,Value)-Pair #5 + { 0x25, 0x46 }, // (Offset,Value)-Pair #6 + { 0x26, 0x04 }, // (Offset,Value)-Pair #7 + { 0x27, 0x57 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x53 : add eax, 0x0C + { 0x53, 0x83 }, // (Offset,Value)-Pair #9 + { 0x54, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x55, 0x0C }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x60 : retn 0x04 + { 0x60, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x61, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_BackFillMode +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_BackFillMode+0x1C : jb +0x05 + { 0x1C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x1D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_BackFillMode+0x35 : mov dword ptr [eax], abs + { 0x35, 0xC7 }, // (Offset,Value)-Pair #3 + { 0x36, 0x00 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_BackFillMode+0x3B : add eax, 0x0C; mov [esi], eax; mov [abs], edi + { 0x41, 0x83 }, // (Offset,Value)-Pair #5 + { 0x42, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x43, 0x0C }, // (Offset,Value)-Pair #7 + { 0x44, 0x89 }, // (Offset,Value)-Pair #8 + { 0x45, 0x06 }, // (Offset,Value)-Pair #9 + { 0x46, 0x89 }, // (Offset,Value)-Pair #10 + { 0x47, 0x3D }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_BackFillMode+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_ColorKeyColor +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x27 : add eax, 8; mov [esi], eax; shl ecx, 7 + { 0x27, 0x83 }, // (Offset,Value)-Pair #3 + { 0x28, 0xC0 }, // (Offset,Value)-Pair #4 + { 0x29, 0x08 }, // (Offset,Value)-Pair #5 + { 0x2A, 0x89 }, // (Offset,Value)-Pair #6 + { 0x2B, 0x06 }, // (Offset,Value)-Pair #7 + { 0x2C, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x2D, 0xE1 }, // (Offset,Value)-Pair #9 + { 0x2E, 0x07 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x36 : retn 0x08 + { 0x36, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x37, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FrontFace +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_FrontFace+0x36 : jmp IDirect3DDevice8_SetRenderState_CullMode + { 0x36, XREF_DXSRSCULLMODE}, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_FrontFace+0x09 : cmp eax, [esi+4] + { 0x09, 0x3B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x46 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_FrontFace+0x13 : mov ecx, [esp+0x08] + { 0x13, 0x8B }, // (Offset,Value)-Pair #5 + { 0x14, 0x4C }, // (Offset,Value)-Pair #6 + { 0x15, 0x24 }, // (Offset,Value)-Pair #7 + { 0x16, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_FrontFace+0x20 : add eax, 8 + { 0x20, 0x83 }, // (Offset,Value)-Pair #9 + { 0x21, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x22, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_LogicOp +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_LogicOp+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_LogicOp+0x1B : mov dword ptr [eax], 0x417BC + { 0x1B, 0xC7 }, // (Offset,Value)-Pair #3 + { 0x1C, 0x00 }, // (Offset,Value)-Pair #4 + { 0x1D, 0xBC }, // (Offset,Value)-Pair #5 + { 0x1E, 0x17 }, // (Offset,Value)-Pair #6 + { 0x1F, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_LogicOp+0x4F : retn 0x04 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x50, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilFail +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_StencilFail+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x38 : cmp [abs], 0x1E00 + { 0x38, 0x81 }, // (Offset,Value)-Pair #3 + { 0x3E, 0x00 }, // (Offset,Value)-Pair #4 + { 0x3F, 0x1E }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x47 : mov dword ptr [eax], 0x41D84 + { 0x47, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x48, 0x00 }, // (Offset,Value)-Pair #7 + { 0x49, 0x84 }, // (Offset,Value)-Pair #8 + { 0x4A, 0x1D }, // (Offset,Value)-Pair #9 + { 0x4B, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x6A : retn 0x04 + { 0x6A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x6B, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_OcclusionCullEnable +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x15 : jb +0x05 + { 0x15, 0x72 }, // (Offset,Value)-Pair #1 + { 0x16, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x41 : cmp [abs], 0x1E00 + { 0x41, 0x81 }, // (Offset,Value)-Pair #3 + { 0x47, 0x00 }, // (Offset,Value)-Pair #4 + { 0x48, 0x1E }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x50 : mov dword ptr [eax], 0x41D84 + { 0x50, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x51, 0x00 }, // (Offset,Value)-Pair #7 + { 0x52, 0x84 }, // (Offset,Value)-Pair #8 + { 0x53, 0x1D }, // (Offset,Value)-Pair #9 + { 0x54, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x5F : retn 0x04 + { 0x5F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x60, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilCullEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_StencilCullEnable+0x0C : D3D__RenderState[D3DRS_STENCILCULLENABLE] + { 0x0C, XREF_D3DRS_STENCILCULLENABLE }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_StencilCullEnable+0x15 : jb +0x05 + { 0x15, 0x72 }, // (Offset,Value)-Pair #2 + { 0x16, 0x05 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_StencilCullEnable+0x41 : cmp [abs], 0x1E00 + { 0x41, 0x81 }, // (Offset,Value)-Pair #4 + { 0x47, 0x00 }, // (Offset,Value)-Pair #5 + { 0x48, 0x1E }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_StencilCullEnable+0x50 : mov dword ptr [eax], 0x41D84 + { 0x50, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x51, 0x00 }, // (Offset,Value)-Pair #8 + { 0x52, 0x84 }, // (Offset,Value)-Pair #9 + { 0x53, 0x1D }, // (Offset,Value)-Pair #10 + { 0x54, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_StencilCullEnable+0x5F : retn 0x04 + { 0x5F, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x60, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FillMode +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_FillMode+0x21 : mov ecx, [esp+0x08] + { 0x21, 0x8B }, // (Offset,Value)-Pair #3 + { 0x22, 0x4C }, // (Offset,Value)-Pair #4 + { 0x23, 0x24 }, // (Offset,Value)-Pair #5 + { 0x24, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_FillMode+0x25 : jnz +0x02 + { 0x25, 0x75 }, // (Offset,Value)-Pair #7 + { 0x26, 0x02 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_FillMode+0x35 : add eax, 0x0C + { 0x35, 0x83 }, // (Offset,Value)-Pair #9 + { 0x36, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x37, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + { 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x09 : call [abs] + { 0x09, 0xE8 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x10, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_RopZRead +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_RopZRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + { 0x05, XREF_D3DRS_ROPZREAD }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_RopZRead+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_RopZRead+0x09 : call [abs] + { 0x09, 0xE8 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_RopZRead+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x10, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_DoNotCullUncompressed +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + { 0x05, XREF_D3DRS_DONOTCULLUNCOMPRESSED }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x09 : call [abs] + { 0x09, 0xE8 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x10, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [edi+0x2070] + { 0x0C, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0D, 0x86 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x70 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x6E : add eax, 0x18 + { 0x6E, 0x83 }, // (Offset,Value)-Pair #5 + { 0x6F, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x70, 0x18 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x7C : retn 0x04 + { 0x7C, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x7D, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleMask +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x1C : jb +0x05 + { 0x1C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x1D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x38 : and ecx, 0x0F; shl edx, 0x10 + { 0x38, 0x83 }, // (Offset,Value)-Pair #3 + { 0x39, 0xE1 }, // (Offset,Value)-Pair #4 + { 0x3A, 0x0F }, // (Offset,Value)-Pair #5 + { 0x3B, 0xC1 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x3E : mov dword ptr [eax], 0x41D7C + { 0x3E, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x3F, 0x00 }, // (Offset,Value)-Pair #8 + { 0x40, 0x7C }, // (Offset,Value)-Pair #9 + { 0x41, 0x1D }, // (Offset,Value)-Pair #10 + { 0x42, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x4F : retn 0x04 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x50, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x0F : mov ecx, [eax+0x2070] + { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 + { 0x10, 0x88 }, // (Offset,Value)-Pair #2 + { 0x11, 0x70 }, // (Offset,Value)-Pair #3 + { 0x12, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x15 : cmp ecx, [eax+0x207C] + { 0x15, 0x3B }, // (Offset,Value)-Pair #5 + { 0x16, 0x88 }, // (Offset,Value)-Pair #6 + { 0x17, 0x7C }, // (Offset,Value)-Pair #7 + { 0x18, 0x20 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x1B : jnz +0x0D + { 0x1B, 0x75 }, // (Offset,Value)-Pair #9 + { 0x1C, 0x0D }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x2A : retn 0x04 + { 0x2A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2B, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x0F : mov ecx, [eax+0x2070] + { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 + { 0x10, 0x88 }, // (Offset,Value)-Pair #2 + { 0x11, 0x70 }, // (Offset,Value)-Pair #3 + { 0x12, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x15 : cmp ecx, [eax+0x207C] + { 0x15, 0x3B }, // (Offset,Value)-Pair #5 + { 0x16, 0x88 }, // (Offset,Value)-Pair #6 + { 0x17, 0x7C }, // (Offset,Value)-Pair #7 + { 0x18, 0x20 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x1B : jz +0x0D + { 0x1B, 0x74 }, // (Offset,Value)-Pair #9 + { 0x1C, 0x0D }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x2A : retn 0x04 + { 0x2A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2B, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ShadowFunc +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi + { 0x00, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x09 : cmp eax, [esi+4] + { 0x09, 0x3B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x46 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #5 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x1D : lea edx, [ecx-0x0200] + { 0x1D, 0x8D }, // (Offset,Value)-Pair #7 + { 0x1E, 0x91 }, // (Offset,Value)-Pair #8 + { 0x1F, 0x00 }, // (Offset,Value)-Pair #9 + { 0x20, 0xFE }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x26 : add eax, 0x08 + { 0x26, 0x83 }, // (Offset,Value)-Pair #11 + { 0x27, 0xC0 }, // (Offset,Value)-Pair #12 + { 0x28, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_YuvEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x10 : mov eax, [esi] + { 0x10, 0x8B }, // (Offset,Value)-Pair #5 + { 0x11, 0x06 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x12 : cmp eax, [esi+4] + { 0x12, 0x3B }, // (Offset,Value)-Pair #7 + { 0x13, 0x46 }, // (Offset,Value)-Pair #8 + { 0x14, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x15 : jb +0x05 + { 0x15, 0x72 }, // (Offset,Value)-Pair #10 + { 0x16, 0x05 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x28 : retn 0x04 + { 0x28, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x29, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVerticesUP +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #1 + { 0x4B, 0xCA }, // (Offset,Value)-Pair #2 + { 0x4C, 0x00 }, // (Offset,Value)-Pair #3 + { 0x4D, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_DrawIndexedVerticesUP+0x5C : lea edx, [edi+0x6C4] + { 0x5C, 0x8D }, // (Offset,Value)-Pair #5 + { 0x5D, 0x97 }, // (Offset,Value)-Pair #6 + { 0x5E, 0xC4 }, // (Offset,Value)-Pair #7 + { 0x5F, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_DrawIndexedVerticesUP+0x6A : mov eax, 0x10 + { 0x6A, 0xB8 }, // (Offset,Value)-Pair #9 + { 0x6B, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShaderConstant +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetPixelShaderConstant_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShaderConstant+0x17 : test eax, eax + { 0x17, 0x85 }, // (Offset,Value)-Pair #1 + { 0x18, 0xC0 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetPixelShaderConstant+0x32 : add edi, 0x04 + { 0x32, 0x83 }, // (Offset,Value)-Pair #3 + { 0x33, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x34, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPixelShaderConstant+0x47 : jmp +0x07 + { 0x47, 0xEB }, // (Offset,Value)-Pair #6 + { 0x48, 0x07 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetPixelShaderConstant+0xC7 : fstp [esp+??] + { 0xC7, 0xD9 }, // (Offset,Value)-Pair #8 + { 0xC8, 0x1C }, // (Offset,Value)-Pair #9 + { 0xC9, 0x24 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3DDevice_DeletePixelShader +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x75 }, + { 0x0A, 0x04 }, + { 0x0E, 0x09 }, + { 0x12, 0x04 }, + { 0x18, 0xC2 }, + { 0x1A, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_CullModeB +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_DXSRSCULLMODE, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3DDevice8_SetRenderState_CullModeB+0x22 : mov dword ptr [eax], 0x40308 + { 0x22, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x24, 0x08 }, // (Offset,Value)-Pair #2 + { 0x25, 0x03 }, // (Offset,Value)-Pair #3 + { 0x26, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_CullModeB+0x2D : add eax, 8 + { 0x2D, 0x83 }, // (Offset,Value)-Pair #5 + { 0x2E, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x2F, 0x08 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_CullModeB+0x39 : retn 4 + { 0x39, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x3A, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_CullModeB+0x5C : add edx, 0x404 + { 0x5C, 0x81 }, // (Offset,Value)-Pair #10 + { 0x5D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x5E, 0x04 }, // (Offset,Value)-Pair #12 + { 0x5F, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * D3DDevice_DeleteVertexShader +// ****************************************************************** +SOOVPA<6> X_D3DDevice_DeleteVertexShader_1_0_4134 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0xFF }, + { 0x0A, 0x08 }, + { 0x0E, 0x44 }, + { 0x16, 0xC2 }, + { 0x17, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetScreenSpaceOffset +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x56 }, + { 0x07, 0xD8 }, + { 0x08, 0x44 }, + { 0x09, 0x24 }, + { 0x0A, 0x08 }, + { 0x2E, 0x8B }, + { 0x2F, 0x06 }, + } +}; + +// ****************************************************************** +// * D3D::SetFence +// ****************************************************************** +SOOVPA<12> D3D_SetFence_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_D3D_SETFENCE, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x0D, 0x72 }, + { 0x0E, 0x0E }, + { 0x31, 0xBA }, + { 0x32, 0x90 }, + { 0x33, 0x1D }, + { 0x34, 0x04 }, + { 0x35, 0x00 }, + { 0x45, 0x83 }, + { 0x46, 0xE1 }, + { 0x47, 0x3F }, + { 0xAA, 0xC2 }, + { 0xAB, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_LineWidth +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_LineWidth_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x89 }, + { 0x18, 0x04 }, + { 0x28, 0xD9 }, + { 0x32, 0x81 }, + { 0x3F, 0x8B }, + { 0x4C, 0x00 }, + { 0x59, 0x06 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, // (Offset,Value)-Pair #1 + { 0x06, 0x00 }, // (Offset,Value)-Pair #2 + { 0x07, 0x6A }, // (Offset,Value)-Pair #3 + { 0x08, 0x00 }, // (Offset,Value)-Pair #4 + { 0x09, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0A, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x17 : add eax, 0x2430 + { 0x17, 0x05 }, // (Offset,Value)-Pair #7 + { 0x18, 0x30 }, // (Offset,Value)-Pair #8 + { 0x19, 0x24 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetSwapCallback +// ****************************************************************** +/* This may look the same as 4361, but accuracy is not gauranteed. + It might be a SetVerticalBlankCallback that has an identical signature... */ +SOOVPA<12> IDirect3DDevice8_SetSwapCallback_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x0D }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x242C], eax + { 0x0A, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0B, 0x81 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x2C }, // (Offset,Value)-Pair #9 + { 0x0D, 0x24 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x11, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetTile +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_GetTile_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetTile+0x13 : lea esi, [ecx+eax*8+0x211C] + { 0x13, 0x8D }, // (Offset,Value)-Pair #1 + { 0x14, 0xB4 }, // (Offset,Value)-Pair #2 + { 0x15, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x16, 0x1C }, // (Offset,Value)-Pair #4 + { 0x17, 0x21 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetTile+0x1A : mov ecx, 0x06 + { 0x1A, 0xB9 }, // (Offset,Value)-Pair #6 + { 0x1B, 0x06 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetTile+0x21 : pop edi; pop esi + { 0x21, 0x5F }, // (Offset,Value)-Pair #8 + { 0x22, 0x5E }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetTile+0x23 : retn 0x08 + { 0x23, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x24, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTile +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetTile_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTileNoWait+0x00 : sub esp, 0x18 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x18 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTileNoWait+0x16 : cmp [esi+4], eax + { 0x16, 0x39 }, // (Offset,Value)-Pair #4 + { 0x17, 0x46 }, // (Offset,Value)-Pair #5 + { 0x18, 0x04 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTileNoWait+0x3D : lea edi, [edx+ecx*8+0x211C] + { 0x3D, 0x8D }, // (Offset,Value)-Pair #7 + { 0x3E, 0xBC }, // (Offset,Value)-Pair #8 + { 0x3F, 0xCB }, // (Offset,Value)-Pair #9 + { 0x40, 0x1C }, // (Offset,Value)-Pair #10 + { 0x41, 0x21 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * D3DDevice_IsBusy +// ****************************************************************** +SOOVPA<7> D3DDevice_IsBusy_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x0C, 0x90 }, + { 0x13, 0x44 }, + { 0x1A, 0xFF }, + { 0x21, 0x01 }, + { 0x28, 0x00 }, + { 0x2F, 0xD2 }, + } +}; + +// ****************************************************************** +// * D3D::CDevice::KickOff +// ****************************************************************** +SOOVPA<12> D3D_CDevice_KickOff_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 0, // Xref Is Used + + { + // D3D::CDevice::KickOff+0x0D : test al, 4 + { 0x0D, 0xA8 }, + { 0x0E, 0x04 }, + // D3D::CDevice::KickOff+0x11 : mov ecx, [ecx+0x35C] + { 0x11, 0x8B }, + { 0x12, 0x89 }, + { 0x13, 0x5C }, + { 0x14, 0x03 }, + { 0x15, 0x00 }, + { 0x16, 0x00 }, + // D3D::CDevice::KickOff+0x26 : sfence + { 0x26, 0x0F }, + { 0x27, 0xAE }, + { 0x28, 0xF8 }, + // D3D::CDevice::KickOff+0xE3 : retn + { 0xE3, 0xC3 } + } +}; + +// ****************************************************************** +// * D3DDevice_BlockOnFence +// ****************************************************************** +SOOVPA<7> D3DDevice_BlockOnFence_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x6A }, + { 0x06, 0x50 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetRenderTarget +// ****************************************************************** +SOOVPA<8> D3DDevice_GetRenderTarget_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x06, 0x80 }, + { 0x0A, 0x00 }, + { 0x0E, 0x4C }, + { 0x12, 0x01 }, + { 0x16, 0xE8 }, + { 0x1B, 0x33 }, + { 0x1E, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Release +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Release_1_0_4134 = +{ + 0, // Large == 0 + 11, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Release+0x07 : mov eax, [edi+0x043C] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x87 }, // (Offset,Value)-Pair #2 + { 0x09, 0x3C }, // (Offset,Value)-Pair #3 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_Release+0x0D : cmp eax, 1 + { 0x0D, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0E, 0xF8 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x01 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_Release+0x1B : mov ecx, 0x0AB8 + { 0x1B, 0xB9 }, // (Offset,Value)-Pair #8 + { 0x1C, 0xB8 }, // (Offset,Value)-Pair #9 + { 0x1D, 0x0A }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_Release+0x2E : dec eax + { 0x2E, 0x48 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDisplayMode +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4134 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] + { 0x01, 0x8B }, // (Offset,Value)-Pair #1 + { 0x02, 0x35 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDisplayMode+0x18 : shr ecx, 0x14 + { 0x18, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x19, 0xE9 }, // (Offset,Value)-Pair #4 + { 0x1A, 0x14 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetDisplayMode+0x50 : shr eax, 0x0C + { 0x50, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x51, 0xE8 }, // (Offset,Value)-Pair #7 + { 0x52, 0x0C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDisplayMode+0x6B : and eax, 0x0A + { 0x6B, 0x83 }, // (Offset,Value)-Pair #9 + { 0x6C, 0xE0 }, // (Offset,Value)-Pair #10 + { 0x6D, 0x0A }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_GetDisplayMode+0x92 : retn 0x04 + { 0x92, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x93, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * D3DDevice_SetShaderConstantMode +// ****************************************************************** +SOOVPA<7> D3DDevice_SetShaderConstantMode_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0xFD }, + { 0x3C, 0x8B }, + { 0x5B, 0x0B }, + { 0x7A, 0x56 }, + { 0x99, 0xC0 }, + { 0xB8, 0x00 }, + { 0xD7, 0xC7 }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_4134 +// ****************************************************************** +OOVPATable D3D8_1_0_4134[] = +{ + // IDirect3D8::CreateDevice (* unchanged since 1.0.3925 *) + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_3925, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3D8::CheckDeviceFormat + { + (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4134, + + XTL::EmuIDirect3D8_CheckDeviceFormat, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CheckDeviceFormat" + #endif + }, + // IDirect3DDevice8::SetRenderState_TexCoordIndex + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetTransform + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_4134, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::Clear + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_4134, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + + + // ********************** BEG WARNING UNTESTED!!! ******************* + + + // IDirect3DDevice8::GetDeviceCaps + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8::BeginVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_3925, + + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // IDirect3DDevice8::EndVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_3925, + + XTL::EmuIDirect3DDevice8_EndVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndVisibilityTest" + #endif + }, + // IDirect3DDevice8::LoadVertexShader + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::LoadVertexShader (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4034, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShader + { + (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // IDirect3DDevice8::Release + { + (OOVPA*)&IDirect3DDevice8_Release_1_0_3925, + + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Release" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + /*{ + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + },*/ + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // IDirect3DDevice8::GetTransform + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::SetStreamSource + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShader + /* { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + },*/ + // IDirect3DDevice8::SetPixelShader + /*{ + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + },*/ + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::SetTexture + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::Begin + { + (OOVPA*)&IDirect3DDevice8_Begin_1_0_3925, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetVertexDataColor + { + (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexDataColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexDataColor" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&IDirect3DDevice8_End_1_0_3925, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::CreatePalette + { + (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::CreateTexture + { + (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture" + #endif + }, + // IDirect3DDevice8::CreateVolumeTexture + { + (OOVPA*)&IDirect3DDevice8_CreateVolumeTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVolumeTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVolumeTexture" + #endif + }, + // IDirect3DDevice8::CreateCubeTexture + { + (OOVPA*)&IDirect3DDevice8_CreateCubeTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateCubeTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateCubeTexture" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer + { + (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer" + #endif + }, + // IDirect3DDevice8::CreateVertexShader + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_PSTextureModes + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_PSTextureModes" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail + /*{ + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + },*/ + // IDirect3DDevice8::SetRenderState_Simple + /*{ + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + },*/ + // IDirect3DDevice8::SetRenderState_FogColor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode + /*{ + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + },*/ + // IDirect3DDevice8::SetRenderState_StencilEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::Present + { + (OOVPA*)&IDirect3DDevice8_Present_1_0_3925, + + XTL::EmuIDirect3DDevice8_Present, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Present" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode + /*{ + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + },*/ + // IDirect3DDevice8::GetBackBuffer + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer" + #endif + }, + // IDirect3DVertexBuffer8::Lock + /* { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_3925, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + },*/ + // IDirect3DResource8::Register + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DResource8::Release + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::AddRef + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::IsBusy + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_3925, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // IDirect3DPalette8::Lock + { + (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, + + XTL::EmuIDirect3DPalette8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock" + #endif + }, + // IDirect3DTexture8::LockRect + { + (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // IDirect3DVolumeTexture8::LockBox + { + (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_3925, + + XTL::EmuIDirect3DVolumeTexture8_LockBox, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVolumeTexture8_LockBox" + #endif + }, + // IDirect3DCubeTexture8::LockRect + { + (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DCubeTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_LockRect" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel" + #endif + }, + // Get2DSurfacDesc + /*{ + (OOVPA*)&Get2DSurfaceDesc_1_0_3925, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + },*/ + + // ********************** END WARNING UNTESTED!!! ******************* + + // IDirect3DDevice8::GetBackBuffer + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface" + #endif + }, + + // IDirect3DDevice8::SetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // Lock2DSurface (* unchanged since 3925 *) + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // IDirect3DDevice8_SetGammaRamp (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_3925, + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "IDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8::LoadVertexShader + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShader + { + (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // IDirect3DDevice8::CopyRects + { + (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_4134, + + XTL::EmuIDirect3DDevice8_CopyRects, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CopyRects" + #endif + }, + // IDirect3DDevice8::CreateImageSurface + { + (OOVPA*)&IDirect3DDevice8_CreateImageSurface_1_0_4034, + + XTL::EmuIDirect3DDevice8_CreateImageSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateImageSurface" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetTexture (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::SetRenderState_VertexBlend + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::GetTransform + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::SetStreamSource + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::DrawVertices (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4034, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3DDevice8::DrawVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4134, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4034, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::SetLight + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // IDirect3DVertexBuffer8::Lock (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4034, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + }, + // Get2DSurfacDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_4134, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // IDirect3DSurface8::GetDesc + { + (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4134, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // IDirect3DDevice8_SetRenderState_StencilFail + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8_SetRenderState_NormalizeNormals + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::Reset + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3DDevice8::SetTextureState_TwoSidedLighting + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting" + #endif + }, + // IDirect3DDevice8::SetRenderState_BackFillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // IDirect3DDevice8::SetRenderState_LogicOp + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMask + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::DrawIndexedVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, + + XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVerticesUP" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant + { + (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant" + #endif + }, + // IDirect3DDevice8::DeletePixelShader + { + (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_DeletePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePixelShader" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullModeB" + #endif + }, + // D3DDevice_DeleteVertexShader (* unchanged since 4134 *) + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // IDirect3DDevice8_SetScreenSpaceOffset + { + (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset" + #endif + }, + // D3D::SetFence (XREF) + { + (OOVPA*)&D3D_SetFence_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "D3D::SetFence (XREF)" + #endif + }, + // IDirect3DDevice8::SetRenderState_LineWidth + { + (OOVPA*)&D3DDevice_SetRenderState_LineWidth_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth" + #endif + }, + + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::SetSwapCallback + { + (OOVPA*)&IDirect3DDevice8_SetSwapCallback_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetSwapCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSwapCallback" + #endif + }, + // IDirect3DDevice8::GetTile + { + (OOVPA*)&IDirect3DDevice8_GetTile_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetTile, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTile" + #endif + }, + // IDirect3DDevice8::SetTile + { + (OOVPA*)&IDirect3DDevice8_SetTile_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTileNoWait, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTile" + #endif + }, + // IDirect3DDevice8::IsBusy + { + (OOVPA*)&D3DDevice_IsBusy_1_0_4134, + + XTL::EmuIDirect3DDevice8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_IsBusy" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // D3D::CDevice::KickOff + { + (OOVPA*)&D3D_CDevice_KickOff_1_0_4134, + + XTL::EmuD3DDevice_KickOff, + + #ifdef _DEBUG_TRACE + "D3D::CDevice::KickOff" + #endif + }, + // IDirect3DDevice8::InsertFence (* unchanged since 3925 *) + { + (OOVPA*)&D3DDevice_InsertFence_1_0_3925, + + XTL::EmuIDirect3DDevice8_InsertFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertFence" + #endif + }, + // IDirect3DDevice8::BlockOnFence + { + (OOVPA*)&D3DDevice_BlockOnFence_1_0_4134, + + XTL::EmuIDirect3DDevice8_BlockOnFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockOnFence" + #endif + }, + // IDirect3DDevice8::GetRenderTarget + { + (OOVPA*)&D3DDevice_GetRenderTarget_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget" + #endif + }, + // IDirect3DDevice8::Release + { + (OOVPA*)&IDirect3DDevice8_Release_1_0_4134, + + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Release" + #endif + }, + // IDirect3DDevice8::GetDisplayMode + { + (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // Direct3D_GetAdapterIdentifier (* unchanged since 3925 *) + { + (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, + XTL::EmuIDirect3D8_GetAdapterIdentifier, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_GetAdapterIdentifier" + #endif + }, + // D3DDevice_SetShaderConstantMode + { + (OOVPA*)&D3DDevice_SetShaderConstantMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVisibilityTestResult" + #endif + }, +}; + +// ****************************************************************** +// * D3D8_1_0_4134_SIZE +// ****************************************************************** +uint32 D3D8_1_0_4134_SIZE = sizeof(D3D8_1_0_4134); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.h new file mode 100644 index 000000000..ca06d6f2b --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.h @@ -0,0 +1,44 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4361.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_4361_H +#define D3D8_1_0_4361_H + +#include "OOVPA.h" + +extern SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361; + +extern OOVPATable D3D8_1_0_4361[]; +extern uint32 D3D8_1_0_4361_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.inl new file mode 100644 index 000000000..77615dfc2 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4361.inl @@ -0,0 +1,3749 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4361.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3D8_CreateDevice +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDevice_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x07 : jnz +0x0A + { 0x07, 0x75 }, // (Offset,Value)-Pair #1 + { 0x08, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x86 : repe stosd + { 0x86, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x87, 0xAB }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x89 : mov eax, esi + { 0x89, 0x8B }, // (Offset,Value)-Pair #5 + { 0x8A, 0xC6 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0xA0 : retn 0x18 + { 0xA0, 0xC2 }, // (Offset,Value)-Pair #7 + { 0xA1, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3D8_CheckDeviceFormat +// ****************************************************************** +SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CheckDeviceFormat+0x0D : retn 0x18 + { 0x0D, 0xC2 }, // (Offset,Value)-Pair #1 + { 0x0E, 0x18 }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CheckDeviceFormat+0x15 : jz +0x08 + { 0x15, 0x74 }, // (Offset,Value)-Pair #3 + { 0x16, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CheckDeviceFormat+0x29 : mov cl, 0x80 + { 0x29, 0xB1 }, // (Offset,Value)-Pair #5 + { 0x2A, 0x80 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CheckDeviceFormat+0x61 : retn 0x18 + { 0x61, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x62, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4361 = +{ + 0, // Large == 0 + 6, // Count == 7 + + XRefNotSaved, + 0, // XRef Is Used + + { + { 0x01, 0x44 }, + { 0x03, 0x04 }, + { 0x05, 0x0D }, + { 0x0C, 0x30 }, + { 0x0D, 0x24 }, + { 0x11, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3D8_GetAdapterModeCount +// ****************************************************************** +SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_GetAdapterModeCount+0x25 : add edx, 0xFF + { 0x25, 0x81 }, // (Offset,Value)-Pair #1 + { 0x26, 0xE2 }, // (Offset,Value)-Pair #2 + { 0x27, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3D8_GetAdapterModeCount+0x47 : cmp edi, 0x04 + { 0x47, 0x83 }, // (Offset,Value)-Pair #4 + { 0x48, 0xFF }, // (Offset,Value)-Pair #5 + { 0x49, 0x04 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_GetAdapterModeCount+0x95 : shl eax, 0x02 + { 0x95, 0xC1 }, // (Offset,Value)-Pair #7 + { 0x96, 0xE0 }, // (Offset,Value)-Pair #8 + { 0x97, 0x02 }, // (Offset,Value)-Pair #9 + + // IDirect3D8_GetAdapterModeCount+0x99 : add esp, 0x08 + { 0x99, 0x83 }, // (Offset,Value)-Pair #10 + { 0x9A, 0xC4 }, // (Offset,Value)-Pair #11 + { 0x9B, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3D8_GetAdapterDisplayMode +// ****************************************************************** +SOOVPA<13> IDirect3D8_GetAdapterDisplayMode_1_0_4361 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_GetAdapterDisplayMode+0x08 : mov eax, 0x8876086C + { 0x08, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x09, 0x6C }, // (Offset,Value)-Pair #2 + { 0x0A, 0x08 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x76 }, // (Offset,Value)-Pair #4 + { 0x0C, 0x88 }, // (Offset,Value)-Pair #5 + + // IDirect3D8_GetAdapterDisplayMode+0x18 : jnz +0x17 + { 0x18, 0x75 }, // (Offset,Value)-Pair #6 + { 0x19, 0x17 }, // (Offset,Value)-Pair #7 + + // IDirect3D8_GetAdapterDisplayMode+0x31 : mov ecx, [edx+0x2080] + { 0x31, 0x8B }, // (Offset,Value)-Pair #8 + { 0x32, 0x8A }, // (Offset,Value)-Pair #9 + { 0x33, 0x80 }, // (Offset,Value)-Pair #10 + { 0x34, 0x20 }, // (Offset,Value)-Pair #11 + + // IDirect3D8_GetAdapterDisplayMode+0xBD : retn 0x08 + { 0xBD, 0xC2 }, // (Offset,Value)-Pair #12 + { 0xBE, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3D8_EnumAdapterModes +// ****************************************************************** +SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_EnumAdapterModes+0x00 : sub esp, 0x08 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3D8_EnumAdapterModes+0xD1 : and edx, 0x0A + { 0xD1, 0x83 }, // (Offset,Value)-Pair #4 + { 0xD2, 0xE2 }, // (Offset,Value)-Pair #5 + { 0xD3, 0x0A }, // (Offset,Value)-Pair #6 + + // IDirect3D8_EnumAdapterModes+0xF5 : mov dword ptr[edi+0x10], 0x1E + { 0xF5, 0xC7 }, // (Offset,Value)-Pair #7 + { 0xF6, 0x47 }, // (Offset,Value)-Pair #8 + { 0xF7, 0x10 }, // (Offset,Value)-Pair #9 + { 0xF8, 0x1E }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SelectVertexShader +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SelectVertexShader+0x13 : mov [esi+0x384], eax + { 0x13, 0x89 }, // (Offset,Value)-Pair #1 + { 0x14, 0x86 }, // (Offset,Value)-Pair #2 + { 0x15, 0x84 }, // (Offset,Value)-Pair #3 + { 0x16, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SelectVertexShader+0x3B : mov dword ptr [eax], 0x00081E94 + { 0x3B, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x3C, 0x00 }, // (Offset,Value)-Pair #6 + { 0x3D, 0x94 }, // (Offset,Value)-Pair #7 + { 0x3E, 0x1E }, // (Offset,Value)-Pair #8 + { 0x3F, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SelectVertexShader+0x55 : mov [esi], eax + { 0x55, 0x89 }, // (Offset,Value)-Pair #10 + { 0x56, 0x06 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_AddRef +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_AddRef_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_AddRef+0x05 : mov ecx, [eax+0x0440] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x88 }, // (Offset,Value)-Pair #3 + { 0x07, 0x40 }, // (Offset,Value)-Pair #4 + { 0x08, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_AddRef+0x05 : mov [eax+0x0440], ecx + { 0x0C, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x40 }, // (Offset,Value)-Pair #9 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3D_ClearStateBlockFlags +// ****************************************************************** +SOOVPA<9> IDirect3D_ClearStateBlockFlags_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_CLEARSTATEBLOCKFLAGS, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3D_ClearStateBlockFlags+0x0A : movzx ecx, 0x82 + { 0x0A, 0xB9 }, // (Offset,Value)-Pair #1 + { 0x0B, 0x82 }, // (Offset,Value)-Pair #2 + + // IDirect3D_ClearStateBlockFlags+0x16 : mov ecx, [edx+0x0390] + { 0x16, 0x8B }, // (Offset,Value)-Pair #3 + { 0x17, 0x8A }, // (Offset,Value)-Pair #4 + { 0x18, 0x90 }, // (Offset,Value)-Pair #5 + { 0x19, 0x03 }, // (Offset,Value)-Pair #6 + + // IDirect3D_ClearStateBlockFlags+0x2F : add ecx, 0x90 + { 0x2F, 0x81 }, // (Offset,Value)-Pair #7 + { 0x30, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x31, 0x90 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3D_RecordStateBlock +// ****************************************************************** +SOOVPA<10> IDirect3D_RecordStateBlock_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_RECORDSTATEBLOCK, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3D_RecordStateBlock+0x0F : mov eax, [edi+0x0390] + { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 + { 0x10, 0x87 }, // (Offset,Value)-Pair #2 + { 0x11, 0x90 }, // (Offset,Value)-Pair #3 + { 0x12, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3D_RecordStateBlock+0x95 : add ebx, ecx + { 0x95, 0x03 }, // (Offset,Value)-Pair #5 + { 0x96, 0xD9 }, // (Offset,Value)-Pair #6 + + // IDirect3D_RecordStateBlock+0xD5 : mov dword ptr [esi+0x0C], 1 + { 0xD5, 0xC7 }, // (Offset,Value)-Pair #7 + { 0xD6, 0x46 }, // (Offset,Value)-Pair #8 + { 0xD7, 0x0C }, // (Offset,Value)-Pair #9 + { 0xD8, 0x01 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetGammaRamp +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetGammaRamp+0x11 : and eax, 1; push ebx + { 0x11, 0x83 }, // (Offset,Value)-Pair #1 + { 0x12, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x13, 0x01 }, // (Offset,Value)-Pair #3 + { 0x14, 0x53 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetGammaRamp+0x2F : rep movsd + { 0x2F, 0xF3 }, // (Offset,Value)-Pair #5 + { 0x30, 0xA5 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetGammaRamp+0x3E : push ebx; mov ecx, edx + { 0x3E, 0x53 }, // (Offset,Value)-Pair #7 + { 0x3F, 0x8B }, // (Offset,Value)-Pair #8 + { 0x40, 0xCA }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BeginStateBlock +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_BeginStateBlock_1_0_4361 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_BeginStateBlock+0x0F : call [ClearStateBlockFlags] + { 0x0A, XREF_CLEARSTATEBLOCKFLAGS }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_BeginStateBlock+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_BeginStateBlock+0x05 : mov [eax+8], 0x20 + { 0x05, 0x83 }, // (Offset,Value)-Pair #3 + { 0x06, 0x48 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x08, 0x20 }, // (Offset,Value)-Pair #6 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CaptureStateBlock +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_CaptureStateBlock_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CaptureStateBlock+0x36 : mov eax, [edi+eax*4+0x0A78] + { 0x36, 0x8B }, // (Offset,Value)-Pair #1 + { 0x37, 0x84 }, // (Offset,Value)-Pair #2 + { 0x38, 0x87 }, // (Offset,Value)-Pair #3 + { 0x39, 0x78 }, // (Offset,Value)-Pair #4 + { 0x3A, 0x0A }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CaptureStateBlock+0xA9 : cmp dword ptr [esi+0x0C], 0 + { 0xA9, 0x83 }, // (Offset,Value)-Pair #6 + { 0xAA, 0x7E }, // (Offset,Value)-Pair #7 + { 0xAB, 0x0C }, // (Offset,Value)-Pair #8 + { 0xAC, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * D3DDevice_DeleteStateBlock +// ****************************************************************** +SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x11, 0x76 }, + { 0x24, 0x3B }, + { 0x37, 0xE8 }, + { 0x4A, 0x50 }, + { 0x5D, 0x74 }, + { 0x70, 0x06 }, + { 0x83, 0xEB }, + } +}; + + +// ****************************************************************** +// * IDirect3DDevice8_ApplyStateBlock +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_ApplyStateBlock_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_ApplyStateBlock+0x0E : lea esi, [edi+0x3C] + { 0x0E, 0x8D }, // (Offset,Value)-Pair #1 + { 0x0F, 0x77 }, // (Offset,Value)-Pair #2 + { 0x10, 0x3C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_ApplyStateBlock+0x34 : cmp [edi+8], ebp + { 0x34, 0x39 }, // (Offset,Value)-Pair #4 + { 0x35, 0x6F }, // (Offset,Value)-Pair #5 + { 0x36, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_ApplyStateBlock+0x9E : sub eax, 0x60 + { 0x9E, 0x83 }, // (Offset,Value)-Pair #7 + { 0x9F, 0xE8 }, // (Offset,Value)-Pair #8 + { 0xA0, 0x60 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_EndStateBlock +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_EndStateBlock_1_0_4361 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_EndStateBlock+0x0F : call [ClearStateBlockFlags] + { 0x0A, XREF_RECORDSTATEBLOCK }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_EndStateBlock+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_EndStateBlock+0x05 : and [eax+8], 0xFFFFFFDF + { 0x05, 0x83 }, // (Offset,Value)-Pair #3 + { 0x06, 0x60 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x08, 0xDF }, // (Offset,Value)-Pair #6 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CopyRects +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CopyRects+0x00 : sub esp, 0x01A0 + { 0x00, 0x81 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0xA0 }, // (Offset,Value)-Pair #3 + { 0x03, 0x01 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CopyRects+0x6E : mov esi, [eax+0x201C] + { 0x6E, 0x8B }, // (Offset,Value)-Pair #5 + { 0x6F, 0xB0 }, // (Offset,Value)-Pair #6 + { 0x70, 0x1C }, // (Offset,Value)-Pair #7 + { 0x71, 0x20 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CopyRects+0xDD : jnz +0x22 + { 0xDD, 0x75 }, // (Offset,Value)-Pair #9 + { 0xDE, 0x22 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateImageSurface +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 + { 0x2B, 0x18 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateImageSurface+0x2C : push 0x40 + { 0x2C, 0x6A }, // (Offset,Value)-Pair #3 + { 0x2D, 0x40 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_CreateImageSurface+0x3B : push 0x0404 + { 0x3B, 0x68 }, // (Offset,Value)-Pair #5 + { 0x3C, 0x04 }, // (Offset,Value)-Pair #6 + { 0x3D, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateImageSurface+0x61 : retn 0x10 + { 0x61, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x62, 0x10 }, // (Offset,Value)-Pair #9 + } +}; + + +// ****************************************************************** +// * IDirect3DDevice8_GetRenderTarget +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_GetRenderTarget_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetRenderTarget+0x05 : mov eax, [eax + 0x2070] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x70 }, // (Offset,Value)-Pair #4 + { 0x08, 0x20 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetRenderTarget+0x11 : mov [ecx], eax + { 0x11, 0x89 }, // (Offset,Value)-Pair #6 + { 0x12, 0x01 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetRenderTarget+0x1D : retn 0x04 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x1E, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x08] + { 0x11, 0x8A }, // (Offset,Value)-Pair #1 + { 0x12, 0x4B }, // (Offset,Value)-Pair #2 + { 0x13, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant+0x1A : test cl, 0x10 + { 0x1A, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x1B, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x1C, 0x10 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVertexShaderConstant+0x60 : jle +0x19 + { 0x60, 0x7E }, // (Offset,Value)-Pair #7 + { 0x61, 0x19 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant+0x98 : retn 0x0C + { 0x98, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x99, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0370] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0xB3 }, // (Offset,Value)-Pair #2 + { 0x10, 0x70 }, // (Offset,Value)-Pair #3 + { 0x11, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetPixelShader+0x3A : or eax, 0x2000 + { 0x3A, 0x0D }, // (Offset,Value)-Pair #5 + { 0x3C, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetPixelShader+0x78 : retn 0x04 + { 0x78, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x79, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetPixelShader+0xE3 : rep movsd + { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 + { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 + + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetViewport +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi + { 0x05, 0x56 }, // (Offset,Value)-Pair #1 + { 0x06, 0x57 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetViewport+0x0B : lea esi, [eax+0x9D0] + { 0x0B, 0x8D }, // (Offset,Value)-Pair #3 + { 0x0C, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x0D, 0xD0 }, // (Offset,Value)-Pair #5 + { 0x0E, 0x09 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetViewport+0x11 : mov ecx, 6 + { 0x11, 0xB9 }, // (Offset,Value)-Pair #7 + { 0x12, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 + { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_BumpEnv +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03 + { 0x18, 0x75 }, // (Offset,Value)-Pair #1 + { 0x19, 0x03 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x32 : mov ecx, [esp+0x14] + { 0x32, 0x8B }, // (Offset,Value)-Pair #6 + { 0x33, 0x4C }, // (Offset,Value)-Pair #7 + { 0x34, 0x24 }, // (Offset,Value)-Pair #8 + { 0x35, 0x18 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x50 : shl esi, 5 + { 0x50, 0xC1 }, // (Offset,Value)-Pair #10 + { 0x51, 0xE6 }, // (Offset,Value)-Pair #11 + { 0x52, 0x05 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_BorderColor +// ****************************************************************** +SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_BorderColor+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x19 : shl edx, 6 + { 0x19, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x1A, 0xE2 }, // (Offset,Value)-Pair #4 + { 0x1B, 0x06 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x2B : add eax, 8; mov [esi], eax; shl ecx, 7 + { 0x2B, 0x83 }, // (Offset,Value)-Pair #6 + { 0x2C, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x2D, 0x08 }, // (Offset,Value)-Pair #8 + { 0x2E, 0x89 }, // (Offset,Value)-Pair #9 + { 0x2F, 0x06 }, // (Offset,Value)-Pair #10 + { 0x30, 0xC1 }, // (Offset,Value)-Pair #11 + { 0x31, 0xE1 }, // (Offset,Value)-Pair #12 + { 0x32, 0x07 }, // (Offset,Value)-Pair #13 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x3A : retn 0x08 + { 0x3A, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x3B, 0x08 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetIndices +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 + { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 + { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetIndices+0x1E : jmp +0x0A + { 0x1E, 0xEB }, // (Offset,Value)-Pair #3 + { 0x1F, 0x0A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetIndices+0x59 : mov [esi+0x1C], ecx + { 0x59, 0x89 }, // (Offset,Value)-Pair #5 + { 0x5A, 0x4E }, // (Offset,Value)-Pair #6 + { 0x5B, 0x1C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetIndices+0x76 : mov [esi+0x038C], edi + { 0x76, 0x89 }, // (Offset,Value)-Pair #8 + { 0x77, 0xBE }, // (Offset,Value)-Pair #9 + { 0x78, 0x8C }, // (Offset,Value)-Pair #10 + { 0x79, 0x03 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTexture +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTexture+0x09 : push edi + { 0x09, 0x57 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetTexture+0x21 : jz +0x20 + { 0x21, 0x74 }, // (Offset,Value)-Pair #2 + { 0x22, 0x20 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTexture+0x33 : test ecx, 0x78FFFF + { 0x33, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x34, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x37, 0x78 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTexture+0x39 : mov [eax], edx + { 0x39, 0x89 }, // (Offset,Value)-Pair #7 + { 0x3A, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTexture+0xC9 : jz +0x4D + { 0xC9, 0x74 }, // (Offset,Value)-Pair #9 + { 0xCA, 0x4D }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SwitchTexture +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SwitchTexture_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SwitchTexture+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SwitchTexture+0x05 : add eax, 0x0C + { 0x05, 0x83 }, // (Offset,Value)-Pair #2 + { 0x06, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x07, 0x0C }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SwitchTexture+0x0E : jnb +0x15 + { 0x0E, 0x73 }, // (Offset,Value)-Pair #5 + { 0x0F, 0x15 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SwitchTexture+0x22 : retn 0x04 + { 0x22, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x23, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SwitchTexture+0x2E : jmp +0xD0 + { 0x2E, 0xEB }, // (Offset,Value)-Pair #9 + { 0x2F, 0xD0 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDisplayMode +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4361 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] + { 0x01, 0x8B }, // (Offset,Value)-Pair #1 + { 0x02, 0x35 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDisplayMode+0x18 : shr ecx, 0x14 + { 0x18, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x19, 0xE9 }, // (Offset,Value)-Pair #4 + { 0x1A, 0x14 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetDisplayMode+0x50 : shr eax, 0x0C + { 0x50, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x51, 0xE8 }, // (Offset,Value)-Pair #7 + { 0x52, 0x0C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDisplayMode+0x6B : and eax, 0x0A + { 0x6B, 0x83 }, // (Offset,Value)-Pair #9 + { 0x6C, 0xE0 }, // (Offset,Value)-Pair #10 + { 0x6D, 0x0A }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_GetDisplayMode+0x92 : retn 0x04 + { 0x92, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x93, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Swap_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 + { 0x10, 0xBB }, // (Offset,Value)-Pair #1 + { 0x11, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Swap+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_Swap+0x46 : inc dword ptr [esi+0x2AC4] + { 0x46, 0xFF }, // (Offset,Value)-Pair #6 + { 0x47, 0x86 }, // (Offset,Value)-Pair #7 + { 0x48, 0xC4 }, // (Offset,Value)-Pair #8 + { 0x49, 0x2A }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Swap+0xAE : retn 4 + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xAF, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_EnableOverlay +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_EnableOverlay_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_EnableOverlay+0x0B : mov ecx, [eax+0x8700] + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x88 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x87 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_EnableOverlay+0x15 : jz +0x0A + { 0x15, 0x74 }, // (Offset,Value)-Pair #4 + { 0x16, 0x0A }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_EnableOverlay+0x5A : mov [eax+0x8918], ecx + { 0x5A, 0x89 }, // (Offset,Value)-Pair #6 + { 0x5B, 0x88 }, // (Offset,Value)-Pair #7 + { 0x5C, 0x18 }, // (Offset,Value)-Pair #8 + { 0x5D, 0x89 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_EnableOverlay+0x60 : retn 0x04 + { 0x60, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x61, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_UpdateOverlay +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2A90], ecx + { 0x0F, 0x89 }, // (Offset,Value)-Pair #1 + { 0x10, 0x88 }, // (Offset,Value)-Pair #2 + { 0x11, 0x90 }, // (Offset,Value)-Pair #3 + { 0x12, 0x2A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_UpdateOverlay+0x86 : and ecx, 0xFFFFFFFE + { 0x86, 0x83 }, // (Offset,Value)-Pair #5 + { 0x87, 0xE1 }, // (Offset,Value)-Pair #6 + { 0x88, 0xFE }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_UpdateOverlay+0xA2 : mov [esi+0x8920], ecx + { 0xA2, 0x89 }, // (Offset,Value)-Pair #8 + { 0xA3, 0x8E }, // (Offset,Value)-Pair #9 + { 0xA4, 0x20 }, // (Offset,Value)-Pair #10 + { 0xA5, 0x89 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, // (Offset,Value)-Pair #1 + { 0x06, 0x00 }, // (Offset,Value)-Pair #2 + { 0x07, 0x6A }, // (Offset,Value)-Pair #3 + { 0x08, 0x00 }, // (Offset,Value)-Pair #4 + { 0x09, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0A, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x17 : add eax, 0x2434 + { 0x17, 0x05 }, // (Offset,Value)-Pair #7 + { 0x18, 0x34 }, // (Offset,Value)-Pair #8 + { 0x19, 0x24 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TexCoordIndex +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07 + { 0x0D, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x0E, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x07 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x24 : cmp eax, ecx + { 0x24, 0x3B }, // (Offset,Value)-Pair #4 + { 0x25, 0xC1 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x6B : mov esi, 0x2400 + { 0x6B, 0xBE }, // (Offset,Value)-Pair #6 + { 0x6D, 0x24 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0xB3 : shl edx, 0x04 + { 0xB3, 0xC1 }, // (Offset,Value)-Pair #8 + { 0xB4, 0xE2 }, // (Offset,Value)-Pair #9 + { 0xB5, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_VertexBlend +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_VertexBlend+0x06 : or edx, 0x200 + { 0x06, 0x81 }, // (Offset,Value)-Pair #1 + { 0x07, 0xCA }, // (Offset,Value)-Pair #2 + { 0x08, 0x00 }, // (Offset,Value)-Pair #3 + { 0x09, 0x02 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x1E : jb +0x05 + { 0x1E, 0x72 }, // (Offset,Value)-Pair #5 + { 0x1F, 0x05 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x2F : mov [eax+4], ecx + { 0x2F, 0x89 }, // (Offset,Value)-Pair #7 + { 0x30, 0x48 }, // (Offset,Value)-Pair #8 + { 0x31, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_VertexBlend+0x3E : retn 0x04 + { 0x3E, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x3F, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0370] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x86 }, // (Offset,Value)-Pair #2 + { 0x09, 0x70 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x2F : nop + { 0x2F, 0x90 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x41 : retn 0x04 + { 0x41, 0xC2 }, // (Offset,Value)-Pair #6 + { 0x42, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_EdgeAntiAlias +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x13 : mov ecx, [esp+0x08] + { 0x13, 0x8B }, // (Offset,Value)-Pair #5 + { 0x14, 0x4C }, // (Offset,Value)-Pair #6 + { 0x15, 0x24 }, // (Offset,Value)-Pair #7 + { 0x16, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x2F : retn 0x04 + { 0x2F, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x30, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FillMode +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_FillMode+0x21 : mov ecx, [esp+0x08] + { 0x21, 0x8B }, // (Offset,Value)-Pair #3 + { 0x22, 0x4C }, // (Offset,Value)-Pair #4 + { 0x23, 0x24 }, // (Offset,Value)-Pair #5 + { 0x24, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_FillMode+0x25 : jnz +0x02 + { 0x25, 0x75 }, // (Offset,Value)-Pair #7 + { 0x26, 0x02 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_FillMode+0x35 : add eax, 0x0C + { 0x35, 0x83 }, // (Offset,Value)-Pair #9 + { 0x36, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x37, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Simple +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4361 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08 + { 0x05, 0x83 }, // (Offset,Value)-Pair #1 + { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x07, 0x08 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_Simple+0x0E : jnb +0x0C + { 0x0E, 0x73 }, // (Offset,Value)-Pair #4 + { 0x0F, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_Simple+0x15 : mov [eax-8], ecx + { 0x15, 0x89 }, // (Offset,Value)-Pair #6 + { 0x16, 0x48 }, // (Offset,Value)-Pair #7 + { 0x17, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_Simple+0x18 : mov [eax-4], ecx + { 0x18, 0x89 }, // (Offset,Value)-Pair #9 + { 0x19, 0x50 }, // (Offset,Value)-Pair #10 + { 0x1A, 0xFC }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_Simple+0x25 : jmp +0xD9 + { 0x25, 0xEB }, // (Offset,Value)-Pair #12 + { 0x26, 0xD9 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x1B : mov edx, [esi+0x2074h] + { 0x1B, 0x8B }, // (Offset,Value)-Pair #3 + { 0x1C, 0x96 }, // (Offset,Value)-Pair #4 + { 0x1D, 0x74 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x31 : mov dword ptr [eax], 0x4030C + { 0x31, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x32, 0x00 }, // (Offset,Value)-Pair #8 + { 0x33, 0x0C }, // (Offset,Value)-Pair #9 + { 0x34, 0x03 }, // (Offset,Value)-Pair #10 + { 0x35, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x98 : retn 0x04 + { 0x98, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x99, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilEnable +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + { + // IDirect3DDevice8_SetRenderState_StencilEnable+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x2C : jz +0x19 + { 0x2C, 0x74 }, // (Offset,Value)-Pair #3 + { 0x2D, 0x19 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x4D : mov dword ptr [eax], 0x00041D84 + { 0x4D, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x4E, 0x00 }, // (Offset,Value)-Pair #6 + { 0x4F, 0x84 }, // (Offset,Value)-Pair #7 + { 0x50, 0x1D }, // (Offset,Value)-Pair #8 + { 0x51, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_StencilEnable+0x81 : retn 0x04 + { 0x81, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x82, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi + { 0x04, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x05 : mov esi, dword ptr [addr] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x35 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x0B : mov ecx, esi + { 0x0B, 0x8B }, // (Offset,Value)-Pair #4 + { 0x0C, 0xCE }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x1C : jb +0x05 + { 0x1C, 0x72 }, // (Offset,Value)-Pair #6 + { 0x1D, 0x05 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x38 : shl ecx, 0x10 + { 0x38, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x39, 0xE1 }, // (Offset,Value)-Pair #9 + { 0x3A, 0x10 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x4F : retn 0x04 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x50, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetTransform +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetTransform+0x0A : shl ecx, 0x06 + { 0x0A, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x0B, 0xE1 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x06 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetTransform+0x12 : lea esi, [ecx+eax+*numb*] + { 0x12, 0x8D }, // (Offset,Value)-Pair #4 + { 0x13, 0xB4 }, // (Offset,Value)-Pair #5 + { 0x14, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetTransform+0x19 : mov ecx, 0x10 + { 0x19, 0xB9 }, // (Offset,Value)-Pair #7 + { 0x1A, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetTransform+0x20 : pop edi, pop esi + { 0x20, 0x5F }, // (Offset,Value)-Pair #9 + { 0x21, 0x5E }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetTransform+0x22 : retn 0x08 + { 0x22, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x23, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetStreamSource +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4361 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04] + { 0x08, 0x8B }, // (Offset,Value)-Pair #1 + { 0x09, 0x7C }, // (Offset,Value)-Pair #2 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetStreamSource+0x28 : jz +0x26 + { 0x28, 0x74 }, // (Offset,Value)-Pair #5 + { 0x29, 0x26 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetStreamSource+0x70 : or ecx, 0x40 + { 0x70, 0x83 }, // (Offset,Value)-Pair #7 + { 0x71, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x72, 0x40 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetStreamSource+0x7E : or ecx, 0x70 + { 0x7E, 0x83 }, // (Offset,Value)-Pair #10 + { 0x7F, 0xC9 }, // (Offset,Value)-Pair #11 + { 0x80, 0x70 }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C + { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShader +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4361 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 + { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x08, 0x01 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShader+0x11 : mov eax, [esi+0x0380] + { 0x11, 0x8B }, // (Offset,Value)-Pair #4 + { 0x12, 0x86 }, // (Offset,Value)-Pair #5 + { 0x13, 0x80 }, // (Offset,Value)-Pair #6 + { 0x14, 0x03 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetVertexShader+0x90 : retn 0x04 + { 0x90, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x91, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShader+0xB0 : mov dword ptr [eax], 0x4194C + { 0xB0, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB1, 0x00 }, // (Offset,Value)-Pair #11 + { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 + { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 + { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVertices +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVertices+0x12 : mov edi, [esp+0x0C+0x0C] + { 0x12, 0x8B }, // (Offset,Value)-Pair #1 + { 0x13, 0x7C }, // (Offset,Value)-Pair #2 + { 0x14, 0x24 }, // (Offset,Value)-Pair #3 + { 0x15, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_DrawVertices+0x16 : lea esi, [edi-1] + { 0x16, 0x8D }, // (Offset,Value)-Pair #5 + { 0x17, 0x77 }, // (Offset,Value)-Pair #6 + { 0x18, 0xFF }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawVertices+0x7E : shl edi, 0x18 + { 0x7E, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x7F, 0xE7 }, // (Offset,Value)-Pair #9 + { 0x80, 0x18 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_DrawVertices+0x9C : retn 0x0C + { 0x9C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x9D, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVerticesUP +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawVerticesUP+0x2F : mov edx, [edi+0x744] + { 0x2F, 0x8B }, // (Offset,Value)-Pair #4 + { 0x30, 0x97 }, // (Offset,Value)-Pair #5 + { 0x31, 0x44 }, // (Offset,Value)-Pair #6 + { 0x32, 0x07 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawVerticesUP+0xC1 : cmp esi, 0x80 + { 0xC1, 0x81 }, // (Offset,Value)-Pair #8 + { 0xC2, 0xFE }, // (Offset,Value)-Pair #9 + { 0xC3, 0x80 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVertices +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x46 }, // (Offset,Value)-Pair #2 + { 0x10, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawIndexedVertices+0x20 : push 0x0209 + { 0x20, 0x68 }, // (Offset,Value)-Pair #4 + { 0x21, 0x09 }, // (Offset,Value)-Pair #5 + { 0x22, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_DrawIndexedVertices+0x64 : dec eax + { 0x64, 0x48 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawIndexedVertices+0xF1 : prefetchnta byte ptr [esi+0x3C] + { 0xF1, 0x0F }, // (Offset,Value)-Pair #8 + { 0xF2, 0x18 }, // (Offset,Value)-Pair #9 + { 0xF3, 0x46 }, // (Offset,Value)-Pair #10 + { 0xF4, 0x3C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetLight +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x394] + { 0x11, 0x8B }, // (Offset,Value)-Pair #1 + { 0x12, 0xBD }, // (Offset,Value)-Pair #2 + { 0x13, 0x94 }, // (Offset,Value)-Pair #3 + { 0x14, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetLight+0x30 : shl eax, 0x04 + { 0x30, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x31, 0xE0 }, // (Offset,Value)-Pair #6 + { 0x32, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetLight+0xBD : rep stosb + { 0xBD, 0xF3 }, // (Offset,Value)-Pair #8 + { 0xBE, 0xAB }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetLight+0xFD : mov ecx, [ebx+0x68] + { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 + { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 + { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0940 + { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 + { 0x0E, 0xF0 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x09 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetMaterial+0x12 : mov ecx, 0x11 + { 0x12, 0xB9 }, // (Offset,Value)-Pair #5 + { 0x13, 0x11 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetMaterial+0x1F : or ecx, 0x1000 + { 0x1F, 0x81 }, // (Offset,Value)-Pair #7 + { 0x20, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x21, 0x00 }, // (Offset,Value)-Pair #9 + { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 + { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4361 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0394] + { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 + { 0x10, 0x9E }, // (Offset,Value)-Pair #2 + { 0x11, 0x94 }, // (Offset,Value)-Pair #3 + { 0x12, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_LightEnable+0x6B : test eax, eax + { 0x6B, 0x85 }, // (Offset,Value)-Pair #5 + { 0x6C, 0xC0 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_LightEnable+0x9E : mov eax, [eax+0x8C] + { 0x9E, 0x8B }, // (Offset,Value)-Pair #7 + { 0x9F, 0x80 }, // (Offset,Value)-Pair #8 + { 0xA0, 0x8C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_LightEnable+0xBC : jz +0x12 + { 0xBC, 0x74 }, // (Offset,Value)-Pair #10 + { 0xBD, 0x12 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 + { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 + { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock +// ****************************************************************** +SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] + { 0x01, 0x8A }, // (Offset,Value)-Pair #1 + { 0x02, 0x5C }, // (Offset,Value)-Pair #2 + { 0x03, 0x24 }, // (Offset,Value)-Pair #3 + { 0x04, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DVertexBuffer8_Lock+0x09 : jnz +0x24 + { 0x09, 0x75 }, // (Offset,Value)-Pair #5 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #6 + + // IDirect3DVertexBuffer8_Lock+0x2F : test bl, 0xA0 + { 0x2F, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x30, 0xC3 }, // (Offset,Value)-Pair #8 + { 0x31, 0xA0 }, // (Offset,Value)-Pair #9 + + // IDirect3DVertexBuffer8_Lock+0x50 : retn 0x14 + { 0x50, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x51, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_Release +// ****************************************************************** +SOOVPA<13> IDirect3DResource8_Release_1_0_4361 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF + { 0x09, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xFF }, // (Offset,Value)-Pair #3 + { 0x0C, 0xFF }, // (Offset,Value)-Pair #4 + + // IDirect3DResource8_Release+0x0F : cmp ecx, 1 + { 0x0F, 0x83 }, // (Offset,Value)-Pair #5 + { 0x10, 0xF9 }, // (Offset,Value)-Pair #6 + { 0x11, 0x01 }, // (Offset,Value)-Pair #7 + + // IDirect3DResource8_Release+0x12 : jnz +0x2E + { 0x12, 0x75 }, // (Offset,Value)-Pair #8 + { 0x13, 0x2E }, // (Offset,Value)-Pair #9 + + // IDirect3DResource8_Release+0x2F : test eax, 0x780000 + { 0x2F, 0xA9 }, // (Offset,Value)-Pair #10 + { 0x32, 0x78 }, // (Offset,Value)-Pair #11 + + // IDirect3DResource8_Release+0x4B : retn 0x04 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x4C, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_IsBusy +// ****************************************************************** +SOOVPA<11> IDirect3DResource8_IsBusy_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_IsBusy+0x24 : test eax, 0x780000 + { 0x24, 0xA9 }, // (Offset,Value)-Pair #1 + { 0x25, 0x00 }, // (Offset,Value)-Pair #2 + { 0x26, 0x00 }, // (Offset,Value)-Pair #3 + { 0x27, 0x78 }, // (Offset,Value)-Pair #4 + + // IDirect3DResource8_IsBusy+0x35 : jnz +0x41 + { 0x35, 0x75 }, // (Offset,Value)-Pair #5 + { 0x36, 0x41 }, // (Offset,Value)-Pair #6 + + // IDirect3DResource8_IsBusy+0x4E : mov eax, [ecx+0x14] + { 0x4E, 0x8B }, // (Offset,Value)-Pair #7 + { 0x4F, 0x41 }, // (Offset,Value)-Pair #8 + { 0x50, 0x14 }, // (Offset,Value)-Pair #9 + + // IDirect3DResource8_IsBusy+0x76 : jnb +0x09 + { 0x76, 0x73 }, // (Offset,Value)-Pair #10 + { 0x77, 0x09 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DSurface8_GetDesc +// ****************************************************************** +SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4361 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DSurface8_GetDesc+0x00 : mov eax, [esp+0x08] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirect3DSurface8_GetDesc+0x04 : mov ecx, [esp+0x04] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x4C }, // (Offset,Value)-Pair #6 + { 0x06, 0x24 }, // (Offset,Value)-Pair #7 + { 0x07, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DSurface8_GetDesc+0x08 : push eax + { 0x08, 0x50 }, // (Offset,Value)-Pair #9 + + // IDirect3DSurface8_GetDesc+0x09 : push 0 + { 0x09, 0x6A }, // (Offset,Value)-Pair #10 + { 0x0A, 0x00 }, // (Offset,Value)-Pair #11 + + // IDirect3DSurface8_GetDesc+0x0B : push ecx + { 0x0B, 0x51 }, // (Offset,Value)-Pair #12 + + // IDirect3DSurface8_GetDesc+0x0C : call [abs] + { 0x0C, 0xE8 }, // (Offset,Value)-Pair #13 + + // IDirect3DSurface8_GetDesc+0x11 : retn 0x08 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x12, 0x08 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DBaseTexture8_GetLevelCount +// ****************************************************************** +SOOVPA<13> IDirect3DBaseTexture8_GetLevelCount_1_0_4361 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DBaseTexture8_GetLevelCount+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DBaseTexture8_GetLevelCount+0x04 : movzx eax, [eax+0x0E] + { 0x04, 0x0F }, // (Offset,Value)-Pair #5 + { 0x05, 0xB6 }, // (Offset,Value)-Pair #6 + { 0x06, 0x40 }, // (Offset,Value)-Pair #7 + { 0x07, 0x0E }, // (Offset,Value)-Pair #8 + + // IDirect3DBaseTexture8_GetLevelCount+0x08 : and eax, 0x0F + { 0x08, 0x83 }, // (Offset,Value)-Pair #9 + { 0x09, 0xE0 }, // (Offset,Value)-Pair #10 + { 0x0A, 0x0F }, // (Offset,Value)-Pair #11 + + // IDirect3DBaseTexture8_GetLevelCount+0x0B : retn 0x04 + { 0x0B, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x0C, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x21C0] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0x7C }, // (Offset,Value)-Pair #7 + { 0x55, 0x20 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilFail +// ****************************************************************** +/* Blueshogun96 8/29/08: This is the same as 4432. Copied and pasted. Lazy, I know... */ +SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_StencilFail+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x38 : cmp [abs], 0x1E00 + { 0x38, 0x81 }, // (Offset,Value)-Pair #3 + { 0x3E, 0x00 }, // (Offset,Value)-Pair #4 + { 0x3F, 0x1E }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x47 : mov dword ptr [eax], 0x41D84 + { 0x47, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x48, 0x00 }, // (Offset,Value)-Pair #7 + { 0x49, 0x84 }, // (Offset,Value)-Pair #8 + { 0x4A, 0x1D }, // (Offset,Value)-Pair #9 + { 0x4B, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_StencilFail+0x6A : retn 0x04 + { 0x6A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x6B, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_NormalizeNormals +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x25 : or [addr], 0x200 + { 0x25, 0x81 }, // (Offset,Value)-Pair #3 + { 0x26, 0x0D }, // (Offset,Value)-Pair #4 + { 0x2B, 0x00 }, // (Offset,Value)-Pair #5 + { 0x2C, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x36 : retn 0x04 + { 0x36, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x37, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPalette +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xBE }, // (Offset,Value)-Pair #3 + { 0x10, 0x88 }, // (Offset,Value)-Pair #4 + { 0x11, 0x0A }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPalette+0x76 : add edi, 0x41B20 + { 0x76, 0x81 }, // (Offset,Value)-Pair #6 + { 0x77, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x78, 0x20 }, // (Offset,Value)-Pair #8 + { 0x79, 0x1B }, // (Offset,Value)-Pair #9 + { 0x7A, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 + { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + + +// ****************************************************************** +// * IDirect3DDevice8_SetShaderConstantMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetShaderConstantMode+0x26 : mov [ebx+0x20D8], eax + { 0x26, 0x89 }, // (Offset,Value)-Pair #1 + { 0x27, 0x83 }, // (Offset,Value)-Pair #2 + { 0x28, 0x18 }, // (Offset,Value)-Pair #3 + { 0x29, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetShaderConstantMode+0x50 : mov dword ptr [eax+0x04], 0x3C + { 0x50, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x51, 0x40 }, // (Offset,Value)-Pair #6 + { 0x52, 0x04 }, // (Offset,Value)-Pair #7 + { 0x53, 0x3C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetShaderConstantMode+0xE7 : add esi, 0x0124 + { 0xE7, 0x81 }, // (Offset,Value)-Pair #9 + { 0xE8, 0xC6 }, // (Offset,Value)-Pair #10 + { 0xE9, 0x24 }, // (Offset,Value)-Pair #11 + { 0xEA, 0x01 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x2268] + { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 + { 0x1E, 0x7C }, // (Offset,Value)-Pair #3 + { 0x1F, 0x22 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetFlickerFilter+0x22 : push 0; push esi; push 0x0B; push eax + { 0x22, 0x6A }, // (Offset,Value)-Pair #5 + { 0x23, 0x00 }, // (Offset,Value)-Pair #6 + { 0x24, 0x56 }, // (Offset,Value)-Pair #7 + { 0x25, 0x6A }, // (Offset,Value)-Pair #8 + { 0x26, 0x0B }, // (Offset,Value)-Pair #9 + { 0x27, 0x50 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x40, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x2268] + { 0x25, 0x8B }, // (Offset,Value)-Pair #1 + { 0x26, 0x90 }, // (Offset,Value)-Pair #2 + { 0x27, 0x68 }, // (Offset,Value)-Pair #3 + { 0x28, 0x22 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x2B : push 0; push esi; push 0x0E; push edx + { 0x2B, 0x6A }, // (Offset,Value)-Pair #5 + { 0x2C, 0x00 }, // (Offset,Value)-Pair #6 + { 0x2D, 0x56 }, // (Offset,Value)-Pair #7 + { 0x2E, 0x6A }, // (Offset,Value)-Pair #8 + { 0x2F, 0x0E }, // (Offset,Value)-Pair #9 + { 0x30, 0x52 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3DDevice_PrimeVertexCache +// ****************************************************************** +SOOVPA<7> D3DDevice_PrimeVertexCache_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0xE8 }, + { 0x1E, 0xEE }, + { 0x2E, 0xC1 }, + { 0x3E, 0x24 }, + { 0x4E, 0x8B }, + { 0x5E, 0x04 }, + { 0x6E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginPush +// ****************************************************************** +SOOVPA<7> D3DDevice_BeginPush_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x10, 0x8B }, + { 0x12, 0x24 }, + { 0x17, 0xE8 }, + { 0x1C, 0x8B }, + { 0x21, 0x01 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndPush +// ****************************************************************** +SOOVPA<8> D3DDevice_EndPush_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x01 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_Begin +// ****************************************************************** +SOOVPA<7> D3DDevice_Begin_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0xE8 }, + { 0x0C, 0x8B }, + { 0x13, 0xE8 }, + { 0x1A, 0x24 }, + { 0x21, 0x00 }, + { 0x28, 0x89 }, + { 0x2F, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_End +// ****************************************************************** +SOOVPA<7> D3DDevice_End_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0E, 0xE8 }, + { 0x16, 0x17 }, + { 0x1E, 0x00 }, + { 0x26, 0x46 }, + { 0x2E, 0x01 }, + { 0x36, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData2f +// ****************************************************************** +SOOVPA<8> D3DDevice_SetVertexData2f_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x72 }, + { 0x13, 0x8B }, + { 0x1A, 0x80 }, + { 0x21, 0x0C }, + { 0x28, 0x89 }, + { 0x2F, 0xC0 }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData4f +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVertexData4f_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x46 }, + { 0x16, 0x08 }, + { 0x22, 0x09 }, + { 0x2E, 0x24 }, + { 0x3A, 0x24 }, + { 0x46, 0x8B }, + { 0x52, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData4ub +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVertexData4ub_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x06 }, + { 0x13, 0x8B }, + { 0x1C, 0x04 }, + { 0x26, 0x0F }, + { 0x30, 0x24 }, + { 0x3A, 0x24 }, + { 0x44, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_Release +// ****************************************************************** +SOOVPA<8> D3DDevice_Release_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x00 }, + { 0x13, 0xCF }, + { 0x1A, 0xC0 }, + { 0x25, 0xA3 }, + { 0x2A, 0xF3 }, + { 0x2F, 0x89 }, + { 0x36, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginPushBuffer +// ****************************************************************** +SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0xCE }, + { 0x1B, 0x89 }, + { 0x25, 0x00 }, + { 0x32, 0x06 }, + { 0x3F, 0x03 }, + { 0x4C, 0x04 }, + { 0x59, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndPushBuffer +// ****************************************************************** +SOOVPA<7> D3DDevice_EndPushBuffer_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x11, 0x8D }, + { 0x24, 0x8B }, + { 0x37, 0x58 }, + { 0x4A, 0xFF }, + { 0x5D, 0xF7 }, + { 0x70, 0x03 }, + { 0x83, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetPushBufferOffset +// ****************************************************************** +SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x14, 0xB8 }, + { 0x2A, 0x8B }, + { 0x40, 0x47 }, + { 0x56, 0x89 }, + { 0x6C, 0xAB }, + { 0x82, 0x04 }, + { 0x98, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_RunPushBuffer +// ****************************************************************** +SOOVPA<8> D3DDevice_RunPushBuffer_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x07 }, + { 0x3E, 0x00 }, + { 0x5E, 0x46 }, + { 0x7E, 0x24 }, + { 0x9E, 0x18 }, + { 0xBE, 0x74 }, + { 0xE2, 0x8B }, + { 0xFE, 0x24 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CreateCubeTexture +// ****************************************************************** +SOOVPA<8> D3DDevice_CreateCubeTexture_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x18 }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x00 }, + { 0x17, 0x50 }, + { 0x1C, 0x6A }, + { 0x25, 0xC2 }, + { 0x26, 0x18 }, + } +}; + +// ****************************************************************** +// * D3DCubeTexture_GetCubeMapSurface +// ****************************************************************** +SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x44 }, + { 0x14, 0x24 }, + { 0x1F, 0x50 }, + { 0x2A, 0x50 }, + { 0x35, 0x8B }, + { 0x40, 0x24 }, + { 0x4B, 0x5E }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_4361 +// ****************************************************************** +OOVPATable D3D8_1_0_4361[] = +{ + // IDirect3D8::CreateDevice + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_4361, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3D8::CheckDeviceFormat + { + (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, + + XTL::EmuIDirect3D8_CheckDeviceFormat, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CheckDeviceFormat" + #endif + }, + // IDirect3DDevice8::LoadVertexShader (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4034, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShader + { + (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_4361, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // IDirect3DDevice8::SetRenderTarget (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::AddRef + { + (OOVPA*)&IDirect3DDevice8_AddRef_1_0_4361, + + XTL::EmuIDirect3DDevice8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_AddRef" + #endif + }, + // IDirect3D::ClearStateBlockFlags + { + (OOVPA*)&IDirect3D_ClearStateBlockFlags_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D_ClearStateBlockFlags (XREF)" + #endif + }, + // IDirect3DDevice8::SetGammaRamp + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3D::RecordStateBlock + { + (OOVPA*)&IDirect3D_RecordStateBlock_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D_RecordStateBlock (XREF)" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::CaptureStateBlock + { + (OOVPA*)&IDirect3DDevice8_CaptureStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_CaptureStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CaptureStateBlock" + #endif + }, + // D3DDevice_DeleteStateBlock + { + (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_4361, + XTL::EmuIDirect3DDevice8_DeleteStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteStateBlock" + #endif + }, + // IDirect3DDevice8::ApplyStateBlock + { + (OOVPA*)&IDirect3DDevice8_ApplyStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_ApplyStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_ApplyStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // IDirect3DDevice8::CopyRects + { + (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_4361, + + XTL::EmuIDirect3DDevice8_CopyRects, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CopyRects" + #endif + }, + // IDirect3DDevice8::CreateImageSurface + { + (OOVPA*)&IDirect3DDevice8_CreateImageSurface_1_0_4361, + + XTL::EmuIDirect3DDevice8_CreateImageSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateImageSurface" + #endif + }, + // IDirect3DDevice8::GetBackBuffer (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // IDirect3DDevice8::GetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface" + #endif + }, + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant" + #endif + }, + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::GetViewport + { + (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetTexture + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::SwitchTexture + { + (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SwitchTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SwitchTexture" + #endif + }, + // IDirect3DDevice8::GetDisplayMode + { + (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // IDirect3DDevice8::Clear (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_4134, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_4361, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer" + #endif + }, + // IDirect3DDevice8::EnableOverlay + { + (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, + + XTL::EmuIDirect3DDevice8_EnableOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EnableOverlay" + #endif + }, + // IDirect3DDevice8::UpdateOverlay + { + (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_4361, + + XTL::EmuIDirect3DDevice8_UpdateOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_UpdateOverlay" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetRenderState_VertexBlend + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::GetTransform + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::SetStreamSource + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::DrawVertices + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4361, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3DDevice8::DrawVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4361, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4361, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::SetLight + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // IDirect3DVertexBuffer8::Lock + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4361, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + }, + // IDirect3DResource8::Register (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DResource8::Release + { + (OOVPA*)&IDirect3DResource8_Release_1_0_4361, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::IsBusy + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // Get2DSurfacDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_4361, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // IDirect3DSurface8::GetDesc + { + (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // IDirect3DBaseTexture8::GetLevelCount + { + (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, + + XTL::EmuIDirect3DBaseTexture8_GetLevelCount, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DBaseTexture8_GetLevelCount" + #endif + }, + // IDirect3DTexture8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel" + #endif + }, + // IDirect3DDevice8_SetRenderState_StencilFail + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8_SetRenderState_NormalizeNormals + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8::CreatePalette (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer + // TODO: This needs to be verified on 4361, not just 4242! + { + (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DResource8::AddRef + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::Release + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DPalette8::Lock (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, + + XTL::EmuIDirect3DPalette8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock" + #endif + }, + // IDirect3DCubeTexture8::LockRect + // TODO: This needs to be verified on 4361, not just 4242! + { + (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DCubeTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_LockRect_4242" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3DDevice8::SetTextureState_TwoSidedLighting (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting" + #endif + }, + // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // IDirect3DDevice8::SetRenderState_LogicOp (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMask (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::DrawIndexedVerticesUP (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, + + XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVerticesUP" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant" + #endif + }, + // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_DeletePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePixelShader" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullModeB" + #endif + }, + // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // IDirect3DDevice8_SetScreenSpaceOffset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset" + #endif + }, + // D3D::SetFence (XREF) (* unchanged since 4134 *) + { + (OOVPA*)&D3D_SetFence_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "D3D::SetFence (XREF)" + #endif + }, + // IDirect3DDevice8::SetRenderState_LineWidth (* unchanged since 4134 *) + { + (OOVPA*)&D3DDevice_SetRenderState_LineWidth_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth" + #endif + }, + // IDirect3DDevice8::SetSwapCallback (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetSwapCallback_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetSwapCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSwapCallback" + #endif + }, + // IDirect3DDevice8::GetTile (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_GetTile_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetTile, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTile" + #endif + }, + // IDirect3DDevice8::SetTile (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTile_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTileNoWait, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTile" + #endif + }, + // IDirect3DDevice8::IsBusy (* unchanged since 4134 *) + { + (OOVPA*)&D3DDevice_IsBusy_1_0_4134, + + XTL::EmuIDirect3DDevice8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_IsBusy" + #endif + }, + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVisibilityTestResult" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // D3DDevice_PrimeVertexCache + { + (OOVPA*)&D3DDevice_PrimeVertexCache_1_0_4361, + XTL::EmuIDirect3DDevice8_PrimeVertexCache, + + #ifdef _DEBUG_TRACE + "D3DDevice_PrimeVertexCache" + #endif + }, + // D3DDevice_BeginPush + { + (OOVPA*)&D3DDevice_BeginPush_1_0_4361, + XTL::EmuIDirect3DDevice8_BeginPush, + + #ifdef _DEBUG_TRACE + "D3DDevice_BeginPush" + #endif + }, + // D3DDevice_EndPush + { + (OOVPA*)&D3DDevice_EndPush_1_0_4361, + XTL::EmuIDirect3DDevice8_EndPush, + + #ifdef _DEBUG_TRACE + "D3DDevice_EndPush" + #endif + }, + // IDirect3DDevice8::Begin + { + (OOVPA*)&D3DDevice_Begin_1_0_4361, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&D3DDevice_End_1_0_4361, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&D3DDevice_SetVertexData2f_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetVertexData4ub + { + (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4ub, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4ub" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8::BlockOnFence (* unchanged since 4134 *) + { + (OOVPA*)&D3DDevice_BlockOnFence_1_0_4134, + + XTL::EmuIDirect3DDevice8_BlockOnFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockOnFence" + #endif + }, + // Direct3D_GetAdapterIdentifier (* unchanged since 3925 *) + { + (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, + XTL::EmuIDirect3D8_GetAdapterIdentifier, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_GetAdapterIdentifier" + #endif + }, + // IDirect3DDevice8::Release + { + (OOVPA*)&D3DDevice_Release_1_0_4361, + + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Release" + #endif + }, + // IDirect3DDevice8::BeginPushBuffer + { + (OOVPA*)&D3DDevice_BeginPushBuffer_1_0_4361, + + XTL::EmuIDirect3DDevice8_BeginPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPushBuffer" + #endif + }, + // IDirect3DDevice8::EndPushBuffer + { + (OOVPA*)&D3DDevice_EndPushBuffer_1_0_4361, + + XTL::EmuIDirect3DDevice8_EndPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPushBuffer" + #endif + }, + // IDirect3DDevice8::RunPushBuffer + { + (OOVPA*)&D3DDevice_RunPushBuffer_1_0_4361, + + XTL::EmuIDirect3DDevice8_RunPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_RunPushBuffer" + #endif + }, + // IDirect3DDevice8::GetPushBufferOffset + { + (OOVPA*)&D3DDevice_GetPushBufferOffset_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetPushBufferOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetPushBufferOffset" + #endif + }, + // IDirect3DDevice8::CreateCubeTexture + { + (OOVPA*)&D3DDevice_CreateCubeTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_CreateCubeTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateCubeTexture" + #endif + }, + // IDirect3DCubeTexture8::GetCubeMapSurface + { + (OOVPA*)&D3DCubeTexture_GetCubeMapSurface_1_0_4361, + + XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_GetCubeMapSurface" + #endif + }, + // Lock2DSurface (* unchanged since 3925 *) + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, +}; + +// ****************************************************************** +// * D3D8_1_0_4361_SIZE +// ****************************************************************** +uint32 D3D8_1_0_4361_SIZE = sizeof(D3D8_1_0_4361); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.h new file mode 100644 index 000000000..b2bf178d9 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4432.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_4432_H +#define D3D8_1_0_4432_H + +#include "OOVPA.h" + +extern OOVPATable D3D8_1_0_4432[]; +extern uint32 D3D8_1_0_4432_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.inl new file mode 100644 index 000000000..19edb7738 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4432.inl @@ -0,0 +1,2097 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4432.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3D8_CreateDevice +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDevice_1_0_4432 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x07 : jnz +0x0A + { 0x07, 0x75 }, // (Offset,Value)-Pair #1 + { 0x08, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x86 : repe stosd + { 0x86, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x87, 0xAB }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x89 : mov eax, esi + { 0x89, 0x8B }, // (Offset,Value)-Pair #5 + { 0x8A, 0xC6 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0xA0 : retn 0x18 + { 0xA0, 0xC2 }, // (Offset,Value)-Pair #7 + { 0xA1, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetRenderTarget +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_GetRenderTarget_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetRenderTarget+0x05 : mov eax, [eax + 0x2070] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x70 }, // (Offset,Value)-Pair #4 + { 0x08, 0x20 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetRenderTarget+0x15 : push eax + { 0x15, 0x50 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetRenderTarget+0x13 : jz + 0x06 + { 0x13, 0x74 }, // (Offset,Value)-Pair #7 + { 0x14, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetRenderTarget+0x16 : call [addr] + { 0x16, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetRenderTarget+0x1D : retn 0x04 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x1E, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDepthStencilSurface +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_GetDepthStencilSurface_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetDepthStencilSurface+0x05 : mov eax, [eax + 0x2074] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x74 }, // (Offset,Value)-Pair #4 + { 0x08, 0x20 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetDepthStencilSurface+0x15 : push eax + { 0x15, 0x50 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetDepthStencilSurface+0x13 : jnz +0x0B + { 0x13, 0x74 }, // (Offset,Value)-Pair #7 + { 0x14, 0x0B }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDepthStencilSurface+0x16 : call [addr] + { 0x16, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetDepthStencilSurface+0x25 : retn 0x04 + { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x26, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4432 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShader+0x22 : or ecx, 0x4800 + { 0x22, 0x81 }, // (Offset,Value)-Pair #1 + { 0x23, 0xC9 }, // (Offset,Value)-Pair #2 + { 0x24, 0x00 }, // (Offset,Value)-Pair #3 + { 0x25, 0x48 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetPixelShader+0x3A : or eax, 0x2000 + { 0x3A, 0x0D }, // (Offset,Value)-Pair #5 + { 0x3C, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetPixelShader+0x78 : retn 0x04 + { 0x78, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x79, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetPixelShader+0xE3 : rep movsd + { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 + { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TwoSidedLighting +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4432 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x11 : or edx, 0x1000 + { 0x11, 0x81 }, // (Offset,Value)-Pair #1 + { 0x12, 0xCA }, // (Offset,Value)-Pair #2 + { 0x13, 0x00 }, // (Offset,Value)-Pair #3 + { 0x14, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x24 : cmp eax, [esi+4]; push edi + { 0x24, 0x3B }, // (Offset,Value)-Pair #5 + { 0x25, 0x46 }, // (Offset,Value)-Pair #6 + { 0x26, 0x04 }, // (Offset,Value)-Pair #7 + { 0x27, 0x57 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x53 : add eax, 0x0C + { 0x53, 0x83 }, // (Offset,Value)-Pair #9 + { 0x54, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x55, 0x0C }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x60 : retn 0x04 + { 0x60, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x61, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_ColorKeyColor +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x27 : add eax, 8; mov [esi], eax; shl ecx, 7 + { 0x27, 0x83 }, // (Offset,Value)-Pair #3 + { 0x28, 0xC0 }, // (Offset,Value)-Pair #4 + { 0x29, 0x08 }, // (Offset,Value)-Pair #5 + { 0x2A, 0x89 }, // (Offset,Value)-Pair #6 + { 0x2B, 0x06 }, // (Offset,Value)-Pair #7 + { 0x2C, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x2D, 0xE1 }, // (Offset,Value)-Pair #9 + { 0x2E, 0x07 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x36 : retn 0x08 + { 0x36, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x37, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_NormalizeNormals +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x25 : or [addr], 0x200 + { 0x25, 0x81 }, // (Offset,Value)-Pair #3 + { 0x26, 0x0D }, // (Offset,Value)-Pair #4 + { 0x2B, 0x00 }, // (Offset,Value)-Pair #5 + { 0x2C, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x36 : retn 0x04 + { 0x36, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x37, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x1B : mov ecx, [esi+0x2074] + { 0x1B, 0x8B }, // (Offset,Value)-Pair #3 + { 0x1C, 0x8E }, // (Offset,Value)-Pair #4 + { 0x1D, 0x74 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x2E : mov dword ptr [eax], 0x4030C + { 0x2E, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x2F, 0x00 }, // (Offset,Value)-Pair #8 + { 0x30, 0x0C }, // (Offset,Value)-Pair #9 + { 0x31, 0x03 }, // (Offset,Value)-Pair #10 + { 0x32, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x8C : retn 0x04 + { 0x8C, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x8D, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi + { 0x04, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x12 : call [abs] + { 0x12, 0xE8 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x38 : shl ecx, 0x10 + { 0x38, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x39, 0xE1 }, // (Offset,Value)-Pair #4 + { 0x3A, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x44 : or ecx, edx + { 0x44, 0x0B }, // (Offset,Value)-Pair #6 + { 0x45, 0xCA }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x4F : retn 0x04 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x50, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_LineWidth +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x460] + { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 + { 0x16, 0x8E }, // (Offset,Value)-Pair #2 + { 0x17, 0x60 }, // (Offset,Value)-Pair #3 + { 0x18, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x32 : cmp edi, 0x1FF + { 0x32, 0x81 }, // (Offset,Value)-Pair #5 + { 0x33, 0xFF }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x3A : mov edi, 0x1FF + { 0x3A, 0xBF }, // (Offset,Value)-Pair #7 + { 0x3B, 0xFF }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x62 : retn 0x04 + { 0x62, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x63, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPalette +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xBE }, // (Offset,Value)-Pair #3 + { 0x10, 0x88 }, // (Offset,Value)-Pair #4 + { 0x11, 0x0A }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPalette+0x76 : add esi, 0x41B20 + { 0x76, 0x81 }, // (Offset,Value)-Pair #6 + { 0x77, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x78, 0x20 }, // (Offset,Value)-Pair #8 + { 0x79, 0x1B }, // (Offset,Value)-Pair #9 + { 0x7A, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 + { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Swap_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 + { 0x10, 0xBB }, // (Offset,Value)-Pair #1 + { 0x11, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Swap+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_Swap+0x46 : inc dword ptr [esi+0x2AD8] + { 0x46, 0xFF }, // (Offset,Value)-Pair #6 + { 0x47, 0x86 }, // (Offset,Value)-Pair #7 + { 0x48, 0xD8 }, // (Offset,Value)-Pair #8 + { 0x49, 0x2A }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Swap+0xAE : retn 4 + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xAF, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Swap_1_0_4531 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 + { 0x10, 0xBB }, // (Offset,Value)-Pair #1 + { 0x11, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Swap+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_Swap+0x46 : inc dword ptr [esi+0x2AD8] + { 0x46, 0xFF }, // (Offset,Value)-Pair #6 + { 0x47, 0x86 }, // (Offset,Value)-Pair #7 + { 0x48, 0xD8 }, // (Offset,Value)-Pair #8 + { 0x49, 0x2A }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Swap+0xAE : retn 4 + { 0xB9, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xBA, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_UpdateOverlay +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2AA4], ecx + { 0x0F, 0x89 }, // (Offset,Value)-Pair #1 + { 0x10, 0x88 }, // (Offset,Value)-Pair #2 + { 0x11, 0xA4 }, // (Offset,Value)-Pair #3 + { 0x12, 0x2A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_UpdateOverlay+0x86 : and ecx, 0xFFFFFFFE + { 0x86, 0x83 }, // (Offset,Value)-Pair #5 + { 0x87, 0xE1 }, // (Offset,Value)-Pair #6 + { 0x88, 0xFE }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_UpdateOverlay+0xA2 : mov [esi+0x8920], ecx + { 0xA2, 0x89 }, // (Offset,Value)-Pair #8 + { 0xA3, 0x8E }, // (Offset,Value)-Pair #9 + { 0xA4, 0x20 }, // (Offset,Value)-Pair #10 + { 0xA5, 0x89 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, // (Offset,Value)-Pair #1 + { 0x06, 0x00 }, // (Offset,Value)-Pair #2 + { 0x07, 0x6A }, // (Offset,Value)-Pair #3 + { 0x08, 0x00 }, // (Offset,Value)-Pair #4 + { 0x09, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0A, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x17 : add eax, 0x2448 + { 0x17, 0x05 }, // (Offset,Value)-Pair #7 + { 0x18, 0x48 }, // (Offset,Value)-Pair #8 + { 0x19, 0x24 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x0D }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x2444], eax + { 0x0A, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0B, 0x81 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x44 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x24 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x11, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BackFillMode +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_BackFillMode_1_0_4531 = +{ + 0, // Large == 0 + 9, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x56 }, + { 0x10, 0x8B }, + { 0x11, 0x06 }, + { 0x12, 0x3B }, + { 0x13, 0x46 }, + { 0x14, 0x04 }, + { 0x41, 0x83 }, + { 0x42, 0xC0 }, + { 0x43, 0x0C }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginPush +// ****************************************************************** +SOOVPA<6> D3DDevice_BeginPush_1_0_4432 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x8B }, + { 0x0A, 0xCE }, + { 0x10, 0x8B }, + { 0x11, 0x44 }, + { 0x17, 0xE8 }, + { 0x1D, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndPush +// ****************************************************************** +SOOVPA<8> D3DDevice_EndPush_1_0_4432 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x01 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DeletePixelShader +// ****************************************************************** +// TODO: Add +SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4531 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x75 }, + { 0x0A, 0x04 }, + { 0x0E, 0x09 }, + { 0x12, 0x04 }, + { 0x18, 0xC2 }, + { 0x1A, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Release +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_Release_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x08, 0x87 }, + { 0x09, 0x40 }, + { 0x0A, 0x04 }, + { 0x0B, 0x00 }, + { 0x0C, 0x00 }, + { 0x1B, 0xB9 }, + { 0x1C, 0xC0 }, + { 0x1D, 0x0A }, + { 0x1E, 0x00 }, + { 0x1F, 0x00 } + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_GetSurfaceLevel +// ****************************************************************** +SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel_1_0_4432 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DTexture8_GetSurfaceLevel+0x00 : sub esp, 0x0C + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x0C }, // (Offset,Value)-Pair #3 + + // IDirect3DTexture8_GetSurfaceLevel+0x04 : mov esi, [esp+0x14] + { 0x04, 0x8B }, // (Offset,Value)-Pair #4 + { 0x07, 0x14 }, // (Offset,Value)-Pair #5 + + // IDirect3DTexture8_GetSurfaceLevel+0x04 : lea eax, [esp+0x14] + { 0x08, 0x8D }, // (Offset,Value)-Pair #6 + { 0x0B, 0x14 }, // (Offset,Value)-Pair #7 + + // IDirect3DTexture8_GetSurfaceLevel+0x17 : mov edx, [esp+0x24] + { 0x17, 0x8B }, // (Offset,Value)-Pair #8 + { 0x1A, 0x24 }, // (Offset,Value)-Pair #9 + + // IDirect3DTexture8_GetSurfaceLevel+0x1B : lea eax, [esp+0x18] + { 0x1B, 0x8D }, // (Offset,Value)-Pair #10 + { 0x1E, 0x18 }, // (Offset,Value)-Pair #11 + + // IDirect3DTexture8_GetSurfaceLevel+0x29 : call [abs] + { 0x29, 0xE8 }, // (Offset,Value)-Pair #12 + + // IDirect3DTexture8_GetSurfaceLevel+0x4C : retn 0x0C + { 0x4C, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x4D, 0x0C }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDisplayMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetDisplayMode_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] + { 0x01, 0x8B }, // (Offset,Value)-Pair #1 + { 0x02, 0x35 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDisplayMode+0x18 : shr ecx, 0x14 + { 0x18, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x19, 0xE9 }, // (Offset,Value)-Pair #4 + { 0x1A, 0x14 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetDisplayMode+0x50 : shr eax, 0x0C + { 0x50, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x51, 0xE8 }, // (Offset,Value)-Pair #7 + { 0x52, 0x0C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDisplayMode+0x6B : and eax, 0x0A + { 0x6B, 0x83 }, // (Offset,Value)-Pair #9 + { 0x6C, 0xE0 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetDisplayMode+0x92 : retn 4 + { 0x92, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x93, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x227C] + { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 + { 0x1E, 0x7C }, // (Offset,Value)-Pair #3 + { 0x1F, 0x22 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetFlickerFilter+0x22 : push 0; push esi; push 0x0B; push eax + { 0x22, 0x6A }, // (Offset,Value)-Pair #5 + { 0x23, 0x00 }, // (Offset,Value)-Pair #6 + { 0x24, 0x56 }, // (Offset,Value)-Pair #7 + { 0x25, 0x6A }, // (Offset,Value)-Pair #8 + { 0x26, 0x0B }, // (Offset,Value)-Pair #9 + { 0x27, 0x50 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x40, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x227C] + { 0x25, 0x8B }, // (Offset,Value)-Pair #1 + { 0x26, 0x90 }, // (Offset,Value)-Pair #2 + { 0x27, 0x7C }, // (Offset,Value)-Pair #3 + { 0x28, 0x22 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x2B : push 0; push esi; push 0x0E; push edx + { 0x2B, 0x6A }, // (Offset,Value)-Pair #5 + { 0x2C, 0x00 }, // (Offset,Value)-Pair #6 + { 0x2D, 0x56 }, // (Offset,Value)-Pair #7 + { 0x2E, 0x6A }, // (Offset,Value)-Pair #8 + { 0x2F, 0x0E }, // (Offset,Value)-Pair #9 + { 0x30, 0x52 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock +// ****************************************************************** +SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4531 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] + { 0x01, 0x8A }, // (Offset,Value)-Pair #1 + { 0x02, 0x5C }, // (Offset,Value)-Pair #2 + { 0x03, 0x24 }, // (Offset,Value)-Pair #3 + { 0x04, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DVertexBuffer8_Lock+0x09 : jnz +0x24 + { 0x09, 0x75 }, // (Offset,Value)-Pair #5 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #6 + + // IDirect3DVertexBuffer8_Lock+0x2F : test bl, 0xA0 + { 0x2F, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x30, 0xC3 }, // (Offset,Value)-Pair #8 + { 0x31, 0xA0 }, // (Offset,Value)-Pair #9 + + // IDirect3DVertexBuffer8_Lock+0x50 : retn 0x14 + { 0x54, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x55, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * D3DDevice_GetProjectionViewportMatrix +// ****************************************************************** +SOOVPA<7> D3DDevice_GetProjectionViewportMatrix_1_0_4432 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x35 }, + { 0x07, 0x57 }, + { 0x0A, 0x24 }, + { 0x0E, 0x70 }, + { 0x12, 0xB9 }, + { 0x16, 0x00 }, + { 0x1A, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexShaderInput +// ****************************************************************** +SOOVPA<8> D3DDevice_SetVertexShaderInput_1_0_4432 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x83 }, + { 0x3E, 0x10 }, + { 0x5E, 0x00 }, + { 0x7E, 0x24 }, + { 0x9E, 0x89 }, + { 0xBE, 0x81 }, + { 0xDE, 0xC6 }, + { 0xFE, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetModelView +// ****************************************************************** +SOOVPA<7> D3DDevice_SetModelView_1_0_4432 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x15, 0x25 }, + { 0x2F, 0x81 }, + { 0x43, 0x43 }, + { 0x5A, 0x04 }, + { 0x72, 0x8D }, + { 0x88, 0x00 }, + { 0x9F, 0x75 }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_4432 +// ****************************************************************** +OOVPATable D3D8_1_0_4432[] = +{ + // IDirect3D8::CreateDevice + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_4432, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, + + XTL::EmuIDirect3D8_CheckDeviceFormat, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CheckDeviceFormat" + #endif + }, + // IDirect3DDevice8::SetRenderTarget (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::AddRef (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_AddRef_1_0_4361, + + XTL::EmuIDirect3DDevice8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_AddRef" + #endif + }, + // IDirect3DDevice8::GetBackBuffer (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4134, + + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // IDirect3DDevice8::GetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget_1_0_4432, + + XTL::EmuIDirect3DDevice8_GetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_4432, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface" + #endif + }, + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::SetTexture (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, + + XTL::EmuIDirect3DDevice8_EnableOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EnableOverlay" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetTextureState_TwoSidedLighting (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting" + #endif + }, + // IDirect3DDevice8::SetRenderState_BackFillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // IDirect3DDevice8::SetRenderState_LogicOp (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // IDirect3DDevice8::SetRenderState_NormalizeNormals + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVisibilityTestResult" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_LineWidth + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMask (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SwitchTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SwitchTexture" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::Clear (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_4134, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::CreatePalette (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_4432, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_4531, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap (4531)" + #endif + }, + // IDirect3DDevice8::UpdateOverlay + { + (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_4432, + + XTL::EmuIDirect3DDevice8_UpdateOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_UpdateOverlay" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // IDirect3DDevice8::DrawIndexedVerticesUP (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, + + XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVerticesUP" + #endif + }, + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShader (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::DrawVerticesUP (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4361, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // IDirect3DDevice8::SetLight (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::LightEnable (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // IDirect3DResource8::Register (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::Release (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_4432, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel" + #endif + }, + // IDirect3DPalette8::Lock (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, + + XTL::EmuIDirect3DPalette8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // IDirect3DDevice8_Release + { + (OOVPA*)&IDirect3DDevice8_Release_1_0_4432, + + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Release" + #endif + }, + // IDirect3DDevice8::SetMaterial (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8_BackFillMode_4531 + { + (OOVPA*)&IDirect3DDevice8_BackFillMode_1_0_4531, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode (4531)" + #endif + }, + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // Get2DSurfacDesc (* unchanged since 4361 *) + { + (OOVPA*)&Get2DSurfaceDesc_1_0_4361, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant" + #endif + }, + // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_DeletePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePixelShader" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullModeB" + #endif + }, + // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // IDirect3DDevice8_SetScreenSpaceOffset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset" + #endif + }, + // D3D::SetFence (XREF) (* unchanged since 4134 *) + { + (OOVPA*)&D3D_SetFence_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "D3D::SetFence (XREF)" + #endif + }, + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // IDirect3DDevice8::GetDisplayMode + { + (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4432, + + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer" + #endif + }, + // IDirect3DVertexBuffer8::Lock (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4361, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + }, + // IDirect3DVertexBuffer8::Lock + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4531, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock (4531)" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant" + #endif + }, + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DDevice8::GetViewport (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8::DrawVertices (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4361, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // IDirect3DDevice8::SetGammaRamp (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4361, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::Begin (* unchanged since 4361 *) + { + (OOVPA*)&D3DDevice_Begin_1_0_4361, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::End (* unchanged since 4361 *) + { + (OOVPA*)&D3DDevice_End_1_0_4361, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::SetVertexData2f (* unchanged since 4361 *) + { + (OOVPA*)&D3DDevice_SetVertexData2f_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::SetVertexData4f (* unchanged since 4361 *) + { + (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetVertexData4ub (* un`anged since 4361 *) + { + (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4ub, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4ub" + #endif + }, + // IDirect3DDevice8::SetIndices (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // Lock2DSurface (* unchanged since 3925 *) + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, + + XTL::EmuIDirect3DBaseTexture8_GetLevelCount, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DBaseTexture8_GetLevelCount" + #endif + }, + // IDirect3DDevice8_GetProjectionViewportMatrix + { + (OOVPA*)&D3DDevice_GetProjectionViewportMatrix_1_0_4432, + + XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetProjectionViewportMatrix" + #endif + }, + // D3DDevice_SetVertexShaderInputDirect + { + (OOVPA*)&D3DDevice_SetVertexShaderInput_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetVertexShaderInput, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderInput" + #endif + }, + // D3DDevice_SetModelView + { + (OOVPA*)&D3DDevice_SetModelView_1_0_4432, + XTL::EmuIDirect3DDevice8_SetModelView, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetModelView" + #endif + }, + // IDirect3DDevice8::BeginPush + { + (OOVPA*)&D3DDevice_BeginPush_1_0_4432, + + XTL::EmuIDirect3DDevice8_BeginPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPush" + #endif + }, + // IDirect3DDevice8::EndPush + { + (OOVPA*)&D3DDevice_EndPush_1_0_4432, + + XTL::EmuIDirect3DDevice8_EndPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPush" + #endif + }, +}; + +// ****************************************************************** +// * D3D8_1_0_4432_SIZE +// ****************************************************************** +uint32 D3D8_1_0_4432_SIZE = sizeof(D3D8_1_0_4432); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.h new file mode 100644 index 000000000..7fe81d321 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.h @@ -0,0 +1,44 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4627.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_4627_H +#define D3D8_1_0_4627_H + +#include "OOVPA.h" + +extern SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627; + +extern OOVPATable D3D8_1_0_4627[]; +extern uint32 D3D8_1_0_4627_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.inl new file mode 100644 index 000000000..b00584e85 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.4627.inl @@ -0,0 +1,6376 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4627.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3D8_CreateDevice +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDevice_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x07 : jnz +0x0A + { 0x07, 0x75 }, // (Offset,Value)-Pair #1 + { 0x08, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x80 : repe stosd + { 0x80, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x81, 0xAB }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x83 : mov eax, esi + { 0x83, 0x8B }, // (Offset,Value)-Pair #5 + { 0x84, 0xC6 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0x90 : retn 0x18 + { 0x90, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x91, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3D8_CreateDeviceX (From D3D8X) +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDeviceX_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x07 : jnz +0x0A + { 0x07, 0x75 }, // (Offset,Value)-Pair #1 + { 0x08, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x7F : repe stosd + { 0x7F, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x80, 0xAB }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x82 : mov eax, esi + { 0x82, 0x8B }, // (Offset,Value)-Pair #5 + { 0x83, 0xC6 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0xA0 : retn 0x18 + { 0xA0, 0xC2 }, // (Offset,Value)-Pair #7 + { 0xA1, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BeginVisibilityTest +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BeginVisibilityTest_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BeginVisibilityTest+0x13 : mov dword ptr [eax], 0x000817C8 + { 0x13, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x14, 0x00 }, // (Offset,Value)-Pair #2 + { 0x15, 0xC8 }, // (Offset,Value)-Pair #3 + { 0x16, 0x17 }, // (Offset,Value)-Pair #4 + { 0x17, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_BeginVisibilityTest+0x19 : mov ecx, 1 + { 0x19, 0xB9 }, // (Offset,Value)-Pair #6 + { 0x1A, 0x01 }, // (Offset,Value)-Pair #7 + { 0x1B, 0x00 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_BeginVisibilityTest+0x24 : add eax, 0x0C + { 0x24, 0x83 }, // (Offset,Value)-Pair #9 + { 0x25, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x26, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3D8_CreateDevice +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDevice_1_0_5028 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x0A : jnz +0x0A + { 0x0A, 0x75 }, // (Offset,Value)-Pair #1 + { 0x0B, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x80 : repe stosd + { 0x80, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x81, 0xAB }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x83 : mov eax, esi + { 0x83, 0x8B }, // (Offset,Value)-Pair #5 + { 0x84, 0xC6 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0x91 : retn 0x18 + { 0x91, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x92, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_EndVisibilityTest +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_EndVisibilityTest_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_EndVisibilityTest+0x11 : mov eax, 0x8007000E + { 0x11, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x12, 0x0E }, // (Offset,Value)-Pair #2 + { 0x13, 0x00 }, // (Offset,Value)-Pair #3 + { 0x14, 0x07 }, // (Offset,Value)-Pair #4 + { 0x15, 0x80 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_EndVisibilityTest+0x2D : mov dword ptr [eax], 0x000817CC + { 0x2D, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x2E, 0x00 }, // (Offset,Value)-Pair #7 + { 0x2F, 0xCC }, // (Offset,Value)-Pair #8 + { 0x30, 0x17 }, // (Offset,Value)-Pair #9 + { 0x31, 0x08 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_EndVisibilityTest+0x49 : add eax, 0x0C + { 0x49, 0x83 }, // (Offset,Value)-Pair #11 + { 0x4A, 0xC0 }, // (Offset,Value)-Pair #12 + { 0x4B, 0x0C }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3D8_GetAdapterDisplayMode +// ****************************************************************** +SOOVPA<13> IDirect3D8_GetAdapterDisplayMode_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_GetAdapterDisplayMode+0x08 : mov eax, 0x8876086C + { 0x08, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x09, 0x6C }, // (Offset,Value)-Pair #2 + { 0x0A, 0x08 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x76 }, // (Offset,Value)-Pair #4 + { 0x0C, 0x88 }, // (Offset,Value)-Pair #5 + + // IDirect3D8_GetAdapterDisplayMode+0x19 : jnz +0x18 + { 0x19, 0x75 }, // (Offset,Value)-Pair #6 + { 0x1A, 0x18 }, // (Offset,Value)-Pair #7 + + // IDirect3D8_GetAdapterDisplayMode+0x33 : mov ecx, [esi+0x21C4] + { 0x33, 0x8B }, // (Offset,Value)-Pair #8 + { 0x34, 0x8E }, // (Offset,Value)-Pair #9 + { 0x35, 0xC4 }, // (Offset,Value)-Pair #10 + { 0x36, 0x21 }, // (Offset,Value)-Pair #11 + + // IDirect3D8_GetAdapterDisplayMode+0xB6 : retn 0x08 + { 0xB6, 0xC2 }, // (Offset,Value)-Pair #12 + { 0xB7, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3D8_KickOffAndWaitForIdle +// ****************************************************************** +SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3D8_KickOffAndWaitForIdle+0x05 : mov ecx, [eax+0x30] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x48 }, // (Offset,Value)-Pair #3 + { 0x07, 0x30 }, // (Offset,Value)-Pair #4 + + // IDirect3D8_KickOffAndWaitForIdle+0x08 : push 2 + { 0x08, 0x6A }, // (Offset,Value)-Pair #5 + { 0x09, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_KickOffAndWaitForIdle+0x0A : push ecx + { 0x0A, 0x51 }, // (Offset,Value)-Pair #7 + + // IDirect3D8_KickOffAndWaitForIdle+0x0B : call [addr] + { 0x0B, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3D8_KickOffAndWaitForIdle+0x10 : retn + { 0x10, 0xC3 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3D8_KickOffAndWaitForIdle2 +// ****************************************************************** +SOOVPA<11> IDirect3D8_KickOffAndWaitForIdle2_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_KickOffAndWaitForIdle2+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3D8_KickOffAndWaitForIdle2+0x05 : mov ecx, [eax+0x30] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x48 }, // (Offset,Value)-Pair #3 + { 0x07, 0x30 }, // (Offset,Value)-Pair #4 + + // IDirect3D8_KickOffAndWaitForIdle2+0x08 : push 2 + { 0x08, 0x6A }, // (Offset,Value)-Pair #5 + { 0x09, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_KickOffAndWaitForIdle2+0x0A : push ecx + { 0x0A, 0x51 }, // (Offset,Value)-Pair #7 + + // IDirect3D8_KickOffAndWaitForIdle2+0x0B : call [addr] + { 0x0B, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3D8_KickOffAndWaitForIdle2+0x18 : call [addr] + { 0x18, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3D8_KickOffAndWaitForIdle2+0x1D : retn 0x08 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x1E, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BeginPush +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_BeginPush_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x00 }, + { 0x12, 0x8B }, + { 0x1C, 0x02 }, + { 0x26, 0x72 }, + { 0x30, 0xE8 }, + { 0x3A, 0x76 }, + { 0x44, 0x52 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetViewport +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetViewport+0x0A : mov eax, [esi+0x21B4] + { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0B, 0x86 }, // (Offset,Value)-Pair #2 + { 0x0C, 0xB4 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x21 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetViewport+0x63 : shl edi, cl + { 0x63, 0xD3 }, // (Offset,Value)-Pair #5 + { 0x64, 0xE7 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetViewport+0xDF : and ecx, 0x0F + { 0xDF, 0x83 }, // (Offset,Value)-Pair #7 + { 0xE0, 0xE1 }, // (Offset,Value)-Pair #8 + { 0xE1, 0x0F }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * D3D_CommonSetRenderTarget +// ****************************************************************** +SOOVPA<12> D3D_CommonSetRenderTarget_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_COMMONSETRENDERTARGET, // XRef Is Saved + 0, // XRef Not Used + + { + // D3D_CommonSetRenderTarget+0x00 : sub esp, 0x20 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x20 }, // (Offset,Value)-Pair #3 + + // D3D_CommonSetRenderTarget+0x86 : jmp +0x06 + { 0x86, 0xEB }, // (Offset,Value)-Pair #4 + { 0x87, 0x06 }, // (Offset,Value)-Pair #5 + + // D3D_CommonSetRenderTarget+0x88 : and eax, 0x0FFF + { 0x88, 0x25 }, // (Offset,Value)-Pair #6 + { 0x89, 0xFF }, // (Offset,Value)-Pair #7 + { 0x8A, 0x0F }, // (Offset,Value)-Pair #8 + { 0x8B, 0x00 }, // (Offset,Value)-Pair #9 + + // D3D_CommonSetRenderTarget+0xC6 : and ecx, 0x0F + { 0xC6, 0x83 }, // (Offset,Value)-Pair #10 + { 0xC7, 0xE1 }, // (Offset,Value)-Pair #11 + { 0xC8, 0x0F }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3D_CommonSetRenderTargetB +// ****************************************************************** +SOOVPA<11> D3D_CommonSetRenderTargetB_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_COMMONSETRENDERTARGET, // XRef Is Saved + 0, // XRef Not Used + + { + // D3D_CommonSetRenderTargetB+0x00 : sub esp, 0x24 + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + + // D3D_CommonSetRenderTargetB+0x86 : jmp +0x06 + { 0x8D, 0xEB }, // (Offset,Value)-Pair #4 + { 0x8E, 0x04 }, // (Offset,Value)-Pair #5 + + // D3D_CommonSetRenderTargetB+0xE4 : and eax, 0x0FFF + { 0xE4, 0x25 }, // (Offset,Value)-Pair #6 + { 0xE5, 0xFF }, // (Offset,Value)-Pair #7 + { 0xE6, 0x0F }, // (Offset,Value)-Pair #8 + { 0xE7, 0x00 }, // (Offset,Value)-Pair #9 + + // D3D_CommonSetRenderTargetB+0xF4 : jge +0x06 + { 0xF4, 0x7D }, // (Offset,Value)-Pair #10 + { 0xF5, 0x06 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderTarget +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderTarget_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirect3DDevice8_SetRenderTarget+0x10 : call [D3D_CommonSetRenderTarget] + { 0x10, XREF_COMMONSETRENDERTARGET }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderTarget+0x00 : mov eax, [esp+0x08] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderTarget+0x04 : mov ecx, [esp+0x04] + { 0x04, 0x8B }, // (Offset,Value)-Pair #6 + { 0x05, 0x4C }, // (Offset,Value)-Pair #7 + { 0x06, 0x24 }, // (Offset,Value)-Pair #8 + { 0x07, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderTarget+0x0D : push eax; push ecx + { 0x0D, 0x50 }, // (Offset,Value)-Pair #10 + { 0x0E, 0x51 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderTarget+0x14 : retn 0x08 + { 0x14, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x15, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_AddRef +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_AddRef_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_AddRef+0x05 : mov ecx, [eax+0x0500] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x88 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + { 0x08, 0x05 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_AddRef+0x0C : mov [eax+0x0500], ecx + { 0x0C, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x00 }, // (Offset,Value)-Pair #9 + { 0x0F, 0x05 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetGammaRamp +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_4928 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x25, 0x57 }, // (Offset,Value)-Pair #1 + { 0x26, 0x83 }, // (Offset,Value)-Pair #2 + { 0x27, 0xE0 }, // (Offset,Value)-Pair #3 + { 0x28, 0x01 }, // (Offset,Value)-Pair #4 + + { 0x39, 0xF3 }, // (Offset,Value)-Pair #5 + { 0x3A, 0xA7 }, // (Offset,Value)-Pair #6 + + { 0x5A, 0x89 }, // (Offset,Value)-Pair #7 + { 0x5B, 0x82 }, // (Offset,Value)-Pair #8 + { 0x5C, 0xE4 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetShaderConstantMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetShaderConstantMode+0x26 : mov [ebx+0x20D8], eax + { 0x26, 0x89 }, // (Offset,Value)-Pair #1 + { 0x27, 0x83 }, // (Offset,Value)-Pair #2 + { 0x28, 0xD8 }, // (Offset,Value)-Pair #3 + { 0x29, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetShaderConstantMode+0x50 : mov dword ptr [eax+0x04], 0x3C + { 0x50, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x51, 0x40 }, // (Offset,Value)-Pair #6 + { 0x52, 0x04 }, // (Offset,Value)-Pair #7 + { 0x53, 0x3C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetShaderConstantMode+0xE7 : add esi, 0x0124 + { 0xE7, 0x81 }, // (Offset,Value)-Pair #9 + { 0xE8, 0xC6 }, // (Offset,Value)-Pair #10 + { 0xE9, 0x24 }, // (Offset,Value)-Pair #11 + { 0xEA, 0x01 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CopyRects +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_CopyRects_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x57 }, + { 0x3E, 0xF6 }, + { 0x5E, 0x00 }, + { 0x7E, 0x01 }, + { 0x9E, 0x00 }, + { 0xBE, 0x0C }, + { 0xDE, 0xF7 }, + { 0xFE, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer+0x0D : jnz +0x19 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x19 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer+0x15 : mov esi, [ecx+eax*4+0x21C0] + { 0x15, 0x8B }, // (Offset,Value)-Pair #6 + { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x17, 0x81 }, // (Offset,Value)-Pair #8 + { 0x18, 0xC0 }, // (Offset,Value)-Pair #9 + { 0x19, 0x21 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer+0x40 : retn 0x04 + { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x41, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer2B +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer2B_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer2B+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer2B+0x0D : jnz +0x07 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer2B+0x1E : mov esi, [ecx+eax*4+0x21C0] + { 0x1E, 0x8B }, // (Offset,Value)-Pair #6 + { 0x1F, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x20, 0x81 }, // (Offset,Value)-Pair #8 + { 0x21, 0xC0 }, // (Offset,Value)-Pair #9 + { 0x22, 0x21 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer2B+0x4C : retn 0x04 + { 0x4C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x4D, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetRenderTarget2 +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetRenderTarget2_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetRenderTarget2+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetRenderTarget2+0x05 : push esi + { 0x05, 0x56 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetRenderTarget2+0x06 : mov esi, [eax + 0x21B4] + { 0x06, 0x8B }, // (Offset,Value)-Pair #3 + { 0x07, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x08, 0xB4 }, // (Offset,Value)-Pair #5 + { 0x09, 0x21 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetRenderTarget2+0x0E : jz + 0x06 + { 0x0E, 0x74 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetRenderTarget2+0x11 : call [addr] + { 0x11, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetRenderTarget2+0x19 : retn + { 0x19, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetRenderTarget2B +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetRenderTarget2B_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetRenderTarget2B+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetRenderTarget2B+0x05 : push esi + { 0x05, 0x56 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetRenderTarget2B+0x06 : mov esi, [eax + 0x21B4] + { 0x06, 0x8B }, // (Offset,Value)-Pair #3 + { 0x07, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x08, 0xB4 }, // (Offset,Value)-Pair #5 + { 0x09, 0x21 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetRenderTarget2B+0x2A : jz + 0x06 + { 0x2A, 0x74 }, // (Offset,Value)-Pair #7 + { 0x2B, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetRenderTarget2B+0x2D : call [addr] + { 0x2D, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetRenderTarget2B+0x37 : retn + { 0x37, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDepthStencilSurface2 +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDepthStencilSurface2+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x05 : push esi + { 0x05, 0x56 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x06 : mov esi, [eax + 0x21B8] + { 0x06, 0x8B }, // (Offset,Value)-Pair #3 + { 0x07, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x08, 0xB8 }, // (Offset,Value)-Pair #5 + { 0x09, 0x21 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x0E : jnz +0x04 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x15 : call [addr] + { 0x15, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x1D : retn + { 0x1D, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDepthStencilSurface2B +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2B_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDepthStencilSurface2B+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetDepthStencilSurface2B+0x05 : push esi + { 0x05, 0x56 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDepthStencilSurface2B+0x06 : mov esi, [eax + 0x21B8] + { 0x06, 0x8B }, // (Offset,Value)-Pair #3 + { 0x07, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x08, 0xB8 }, // (Offset,Value)-Pair #5 + { 0x09, 0x21 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetDepthStencilSurface2B+0x0E : jnz +0x04 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDepthStencilSurface2B+0x31 : call [addr] + { 0x31, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetDepthStencilSurface2B+0x3B : retn + { 0x3B, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetTile +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_GetTile_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetTile+0x13 : lea esi, [ecx+eax*8+0x2260] + { 0x13, 0x8D }, // (Offset,Value)-Pair #1 + { 0x14, 0xB4 }, // (Offset,Value)-Pair #2 + { 0x15, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x16, 0x60 }, // (Offset,Value)-Pair #4 + { 0x17, 0x22 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetTile+0x1A : mov ecx, 0x06 + { 0x1A, 0xB9 }, // (Offset,Value)-Pair #6 + { 0x1B, 0x06 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_GetTile+0x21 : pop edi; pop esi + { 0x21, 0x5F }, // (Offset,Value)-Pair #8 + { 0x22, 0x5E }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetTile+0x23 : retn 0x08 + { 0x23, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x24, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTileNoWait +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetTileNoWait_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTileNoWait+0x06 : sub esp, 0x18 + { 0x06, 0x83 }, // (Offset,Value)-Pair #1 + { 0x07, 0xEC }, // (Offset,Value)-Pair #2 + { 0x08, 0x18 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTileNoWait+0x15 : cmp [esi+4], eax + { 0x15, 0x39 }, // (Offset,Value)-Pair #4 + { 0x16, 0x46 }, // (Offset,Value)-Pair #5 + { 0x17, 0x04 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTileNoWait+0x3D : lea edi, [edx+ecx*8+0x2260] + { 0x3D, 0x8D }, // (Offset,Value)-Pair #7 + { 0x3E, 0xBC }, // (Offset,Value)-Pair #8 + { 0x3F, 0xCA }, // (Offset,Value)-Pair #9 + { 0x40, 0x60 }, // (Offset,Value)-Pair #10 + { 0x41, 0x22 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateIndexBuffer2 +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_CreateIndexBuffer2_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0xC0 }, + { 0x0F, 0x85 }, + { 0x13, 0xC2 }, + { 0x1A, 0x89 }, + { 0x21, 0x08 }, + { 0x28, 0x00 }, + { 0x2F, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShaderConstant +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetPixelShaderConstant_1_0_4928 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShaderConstant+0x1E : test eax, eax + { 0x1E, 0x85 }, // (Offset,Value)-Pair #1 + { 0x1F, 0xC0 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetPixelShaderConstant+0x32 : mov [ebp+0x10], eax + { 0x32, 0x89 }, // (Offset,Value)-Pair #3 + { 0x33, 0x45 }, // (Offset,Value)-Pair #4 + { 0x34, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPixelShaderConstant+0x84 : or eax, ebx + { 0x84, 0x0B }, // (Offset,Value)-Pair #6 + { 0x85, 0xC3 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetPixelShaderConstant+0xBD : mov dword ptr [eax], 0x406A0 + { 0xBD, 0xC7 }, // (Offset,Value)-Pair #8 + { 0xBE, 0x00 }, // (Offset,Value)-Pair #9 + { 0xBF, 0x60 }, // (Offset,Value)-Pair #10 + { 0xC0, 0x0A }, // (Offset,Value)-Pair #11 + { 0xC1, 0x04 }, // (Offset,Value)-Pair #12 + { 0xC2, 0x00 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant1 +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant1+0x06 : add eax, 0x1C + { 0x06, 0x83 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x08, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x0F : jnb +0x43 + { 0x0F, 0x73 }, // (Offset,Value)-Pair #4 + { 0x10, 0x43 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x27 : shl ecx, 0x04 + { 0x27, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x28, 0xE1 }, // (Offset,Value)-Pair #7 + { 0x29, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x53 : retn + { 0x53, 0xC3 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x5D : jmp +0xA2 + { 0x5D, 0xEB }, // (Offset,Value)-Pair #10 + { 0x5E, 0xA2 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant4 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant4+0x05 : add eax, 0x4C + { 0x05, 0x83 }, // (Offset,Value)-Pair #1 + { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x07, 0x4C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant4+0x34 : movq mm7, qword ptr [edx+0x38] + { 0x34, 0x0F }, // (Offset,Value)-Pair #4 + { 0x35, 0x6F }, // (Offset,Value)-Pair #5 + { 0x36, 0x7A }, // (Offset,Value)-Pair #6 + { 0x37, 0x38 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetVertexShaderConstant4+0x42 : shl ecx, 0x04 + { 0x42, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x43, 0xE1 }, // (Offset,Value)-Pair #9 + { 0x44, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetVertexShaderConstant4+0x91 : emms + { 0x91, 0x0F }, // (Offset,Value)-Pair #11 + { 0x92, 0x77 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstantNotInline +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x02 : test byte ptr ds:[abs], 0x10 + { 0x02, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0x00 }, // (Offset,Value)-Pair #2 + { 0x08, 0x10 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x0E : jnz +0x15 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0F, 0x15 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x42 : push esi; push edi; mov edi, eax + { 0x10, 0x56 }, // (Offset,Value)-Pair #6 + { 0x11, 0x57 }, // (Offset,Value)-Pair #7 + { 0x12, 0x8B }, // (Offset,Value)-Pair #8 + { 0x13, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x21 : rep movsd + { 0x21, 0xF3 }, // (Offset,Value)-Pair #10 + { 0x22, 0xA5 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x28 : call [abs] + { 0x28, 0xE8 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShader+0x26 : or ecx, 0x4800 + { 0x26, 0x81 }, // (Offset,Value)-Pair #1 + { 0x27, 0xC9 }, // (Offset,Value)-Pair #2 + { 0x28, 0x00 }, // (Offset,Value)-Pair #3 + { 0x29, 0x48 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetPixelShader+0x3E : or eax, 0x2000 + { 0x3E, 0x0D }, // (Offset,Value)-Pair #5 + { 0x40, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetPixelShader+0x7D : retn 0x04 + { 0x7D, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x7E, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetPixelShader+0xDE : rep movsd + { 0xDE, 0xF3 }, // (Offset,Value)-Pair #9 + { 0xDF, 0xA5 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateTexture2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreateTexture2_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateTexture2+0x02 : lea eax, [esp+0x20] + { 0x02, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x20 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateTexture2+0x0E : setz dl + { 0x0E, 0x0F }, // (Offset,Value)-Pair #3 + { 0x0F, 0x94 }, // (Offset,Value)-Pair #4 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateTexture2+0x2A : push 0x00 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #6 + { 0x2B, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateTexture2+0x53 : call [abs] + { 0x53, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CreateTexture2+0x78 : jnz +0x0D + { 0x78, 0x75 }, // (Offset,Value)-Pair #9 + { 0x79, 0x0D }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_CreateTexture2+0xAE : retn 0x1C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #11 + { 0xAF, 0x1C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateTexture2B +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreateTexture2B_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateTexture2B+0x02 : lea eax, [esp+0x20] + { 0x02, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x20 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateTexture2B+0x0E : setz dl + { 0x0E, 0x0F }, // (Offset,Value)-Pair #3 + { 0x0F, 0x94 }, // (Offset,Value)-Pair #4 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateTexture2B+0x2A : push 0x00 + { 0x25, 0x6A }, // (Offset,Value)-Pair #6 + { 0x26, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateTexture2B+0x53 : call [abs] + { 0x50, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CreateTexture2B+0x78 : jnz +0x0D + { 0x75, 0x75 }, // (Offset,Value)-Pair #9 + { 0x76, 0x0D }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_CreateTexture2B+0xAE : retn 0x1C + { 0x81, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x82, 0x1C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateTexture2C +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreateTexture2C_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateTexture2C+0x02 : lea eax, [esp+0x20] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x07, 0x20 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateTexture2C+0x0E : setz dl + { 0x10, 0x0F }, // (Offset,Value)-Pair #3 + { 0x11, 0x94 }, // (Offset,Value)-Pair #4 + { 0x12, 0xC2 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateTexture2C+0x2A : push 0x00 + { 0x2E, 0x6A }, // (Offset,Value)-Pair #6 + { 0x2F, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateTexture2C+0x53 : call [abs] + { 0x57, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CreateTexture2C+0x78 : jnz +0x0D + { 0x7C, 0x75 }, // (Offset,Value)-Pair #9 + { 0x7D, 0x0D }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_CreateTexture2C+0xAE : retn 0x1C + { 0x88, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x89, 0x1C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetIndicesB +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetIndicesB_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetIndicesB+0x0F : jz +0x10 + { 0x0F, 0x74 }, // (Offset,Value)-Pair #1 + { 0x10, 0x10 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetIndicesB+0x1F : jmp +0x0A + { 0x1F, 0xEB }, // (Offset,Value)-Pair #3 + { 0x20, 0x0A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetIndicesB+0x58 : mov [esi+0x1C], ecx + { 0x58, 0x89 }, // (Offset,Value)-Pair #5 + { 0x59, 0x4E }, // (Offset,Value)-Pair #6 + { 0x5A, 0x1C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetIndicesB+0x78 : mov [esi+0x038C], ebx + { 0x78, 0x89 }, // (Offset,Value)-Pair #8 + { 0x79, 0x9E }, // (Offset,Value)-Pair #9 + { 0x7A, 0x8C }, // (Offset,Value)-Pair #10 + { 0x7B, 0x03 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureB +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureB_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureB+0x0F : push edi + { 0x0F, 0x57 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetTextureB+0x21 : jz +0x1E + { 0x21, 0x74 }, // (Offset,Value)-Pair #2 + { 0x22, 0x1E }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureB+0x33 : test ecx, 0x78FFFF + { 0x33, 0xA9 }, // (Offset,Value)-Pair #4 + { 0x34, 0xFF }, // (Offset,Value)-Pair #5 + { 0x36, 0x78 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTextureB+0x38 : mov [edi], ecx + { 0x38, 0x89 }, // (Offset,Value)-Pair #7 + { 0x39, 0x0F }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetTextureB+0xD9 : jz +0x4D + { 0xD9, 0x74 }, // (Offset,Value)-Pair #9 + { 0xDA, 0x4D }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureC +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureC_1_0_4928 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x56 }, // (Offset,Value)-Pair #1 + + { 0x21, 0x74 }, // (Offset,Value)-Pair #2 + { 0x22, 0x20 }, // (Offset,Value)-Pair #3 + + { 0x33, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x34, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x36, 0xFF }, // (Offset,Value)-Pair #6 + + { 0x39, 0x89 }, // (Offset,Value)-Pair #7 + { 0x3A, 0x10 }, // (Offset,Value)-Pair #8 + + { 0x50, 0x75 }, // (Offset,Value)-Pair #9 + { 0x51, 0x47 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDisplayMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetDisplayMode_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] + { 0x01, 0x8B }, // (Offset,Value)-Pair #1 + { 0x02, 0x35 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDisplayMode+0x18 : shr ecx, 0x14 + { 0x18, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x19, 0xE9 }, // (Offset,Value)-Pair #4 + { 0x1A, 0x14 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetDisplayMode+0x50 : shr eax, 0x0C + { 0x50, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x51, 0xE8 }, // (Offset,Value)-Pair #7 + { 0x52, 0x0C }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDisplayMode+0x6A : or edx, eax + { 0x6A, 0x0B }, // (Offset,Value)-Pair #9 + { 0x6B, 0xD0 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetDisplayMode+0x7F : jmp +0x1C + { 0x7F, 0xEB }, // (Offset,Value)-Pair #11 + { 0x80, 0x1C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_RunPushBuffer +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_RunPushBuffer_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_RunPushBuffer+0x3C : mov edx, [esi+30h] + { 0x3C, 0x8B }, // (Offset,Value)-Pair #1 + { 0x3D, 0x56 }, // (Offset,Value)-Pair #2 + { 0x3E, 0x30 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_RunPushBuffer+0xCA : mov edi, ebp + { 0xCA, 0x8B }, // (Offset,Value)-Pair #4 + { 0xCB, 0xFD }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_RunPushBuffer+0xDC : jmp +0x12 + { 0xDC, 0xEB }, // (Offset,Value)-Pair #6 + { 0xDD, 0x12 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_RunPushBuffer+0xED : lea edi, [eax+4] + { 0xED, 0x8D }, // (Offset,Value)-Pair #8 + { 0xEE, 0x78 }, // (Offset,Value)-Pair #9 + { 0xEF, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Begin +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_Begin_1_0_4627 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Begin+0x25 : mov dword ptr [eax], 0x417FC + { 0x25, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x26, 0x00 }, // (Offset,Value)-Pair #2 + { 0x27, 0xFC }, // (Offset,Value)-Pair #3 + { 0x28, 0x17 }, // (Offset,Value)-Pair #4 + { 0x29, 0x04 }, // (Offset,Value)-Pair #5 + { 0x2A, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_Begin+0x19 : shl edx, 6 + { 0x19, 0xD1 }, // (Offset,Value)-Pair #7 + { 0x1A, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_Begin+0x33 : or dword ptr [esi+8], 0x800 + { 0x33, 0x81 }, // (Offset,Value)-Pair #9 + { 0x34, 0x4E }, // (Offset,Value)-Pair #10 + { 0x35, 0x08 }, // (Offset,Value)-Pair #11 + { 0x37, 0x08 }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_Begin+0x3B : retn 0x08 + { 0x3B, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x3C, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData2f +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_4627 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexData2f+0x20 : lea edx, ds:abs[ecx*8] + { 0x20, 0x8D }, // (Offset,Value)-Pair #1 + { 0x21, 0x14 }, // (Offset,Value)-Pair #2 + { 0x22, 0xCD }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexData2f+0x2B : mov [eax], edx; mov edx, [esp+0x10] + { 0x2B, 0x89 }, // (Offset,Value)-Pair #4 + { 0x2C, 0x10 }, // (Offset,Value)-Pair #5 + { 0x2D, 0x8B }, // (Offset,Value)-Pair #6 + { 0x2E, 0x54 }, // (Offset,Value)-Pair #7 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #8 + { 0x30, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexData2f+0x37 : add eax, 0x0C + { 0x37, 0x83 }, // (Offset,Value)-Pair #10 + { 0x38, 0xC0 }, // (Offset,Value)-Pair #11 + { 0x39, 0x0C }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_SetVertexData2f+0x3D : retn 0x0C + { 0x3D, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x3E, 0x0C }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData4f +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexData4f_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexData4f+0x20 : cmp ecx, -1; jnz +0x07 + { 0x20, 0x83 }, // (Offset,Value)-Pair #1 + { 0x21, 0xF9 }, // (Offset,Value)-Pair #2 + { 0x22, 0xFF }, // (Offset,Value)-Pair #3 + { 0x23, 0x75 }, // (Offset,Value)-Pair #4 + { 0x24, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexData4f+0x2C : add ecx, 0x01A0 + { 0x2C, 0x81 }, // (Offset,Value)-Pair #6 + { 0x2D, 0xC1 }, // (Offset,Value)-Pair #7 + { 0x2E, 0xA0 }, // (Offset,Value)-Pair #8 + { 0x2F, 0x01 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexData4f+0x5F : retn 0x14 + { 0x5F, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x60, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_End +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_End_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_End+0x1C : mov dword ptr [eax], 0x417FC + { 0x1C, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x1D, 0x00 }, // (Offset,Value)-Pair #2 + { 0x1E, 0xFC }, // (Offset,Value)-Pair #3 + { 0x1F, 0x17 }, // (Offset,Value)-Pair #4 + { 0x20, 0x04 }, // (Offset,Value)-Pair #5 + { 0x21, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_End+0x31 : test ah, 0x10 + { 0x31, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x32, 0xC4 }, // (Offset,Value)-Pair #8 + { 0x33, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_End+0x34 : jz +0x07 + { 0x34, 0x74 }, // (Offset,Value)-Pair #10 + { 0x35, 0x07 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_End+0x45 : retn + { 0x45, 0xC3 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Clear +// ****************************************************************** +LOOVPA<9> IDirect3DDevice8_Clear_1_0_4627 = +{ + 1, // Large == 1 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h + { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 + { 0x0002, 0x38 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_Clear+0x000B : mov ebx, [ebp+0x21B8] + { 0x000B, 0x8B }, // (Offset,Value)-Pair #4 + { 0x000C, 0x9D }, // (Offset,Value)-Pair #5 + { 0x000D, 0xB8 }, // (Offset,Value)-Pair #6 + { 0x000E, 0x21 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_Clear+0x0399 : retn 0x18 + { 0x0399, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x039A, 0x18 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_ClearB +// ****************************************************************** +LOOVPA<9> IDirect3DDevice8_ClearB_1_0_4627 = +{ + 1, // Large == 1 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h + { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 + { 0x0002, 0x38 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_Clear+0x001C : mov ebx, [ebp+0x21B8] + { 0x001C, 0x8B }, // (Offset,Value)-Pair #4 + { 0x001D, 0xB5 }, // (Offset,Value)-Pair #5 + { 0x001E, 0xB8 }, // (Offset,Value)-Pair #6 + { 0x001F, 0x21 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_Clear+0x03C6 : retn 0x18 + { 0x03C6, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x03C7, 0x18 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Swap_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Swap+0x2A : mov ebx, 5 + { 0x2A, 0xBB }, // (Offset,Value)-Pair #1 + { 0x2B, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Swap+0x37 : test bl, 3 + { 0x37, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x38, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x39, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_Swap+0x60 : inc dword ptr [esi+0x2C10] + { 0x60, 0xFF }, // (Offset,Value)-Pair #6 + { 0x61, 0x86 }, // (Offset,Value)-Pair #7 + { 0x62, 0x10 }, // (Offset,Value)-Pair #8 + { 0x63, 0x2C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Swap+0xD8 : retn 4 + { 0xD8, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xD9, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexBuffer2 +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_CreateVertexBuffer2_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateVertexBuffer2+0x03 : push 0x40 + { 0x03, 0x6A }, // (Offset,Value)-Pair #1 + { 0x04, 0x40 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateVertexBuffer2+0x10 : mov eax, [esp+8] + { 0x10, 0x8B }, // (Offset,Value)-Pair #3 + { 0x11, 0x44 }, // (Offset,Value)-Pair #4 + { 0x12, 0x24 }, // (Offset,Value)-Pair #5 + { 0x13, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_CreateVertexBuffer2+0x41 : mov dword ptr [esi], 0x01000001 + { 0x41, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x42, 0x06 }, // (Offset,Value)-Pair #8 + { 0x43, 0x01 }, // (Offset,Value)-Pair #9 + { 0x44, 0x00 }, // (Offset,Value)-Pair #10 + { 0x46, 0x01 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_CreateVertexBuffer2+0x4A : retn 0x04 + { 0x4A, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x4B, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_UpdateOverlay +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2BA8], ecx + { 0x0F, 0x89 }, // (Offset,Value)-Pair #1 + { 0x10, 0x88 }, // (Offset,Value)-Pair #2 + { 0x11, 0xA8 }, // (Offset,Value)-Pair #3 + { 0x12, 0x2B }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_UpdateOverlay+0x8E : and eax, 0xFFFFFFFE + { 0x8E, 0x83 }, // (Offset,Value)-Pair #5 + { 0x8F, 0xE0 }, // (Offset,Value)-Pair #6 + { 0x90, 0xFE }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_UpdateOverlay+0xAC : mov [esi+0x8930], eax + { 0xAC, 0x89 }, // (Offset,Value)-Pair #8 + { 0xAD, 0x86 }, // (Offset,Value)-Pair #9 + { 0xAE, 0x30 }, // (Offset,Value)-Pair #10 + { 0xAF, 0x89 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetOverlayUpdateStatus +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x2BA8] + { 0x05, 0x8B }, // (Offset,Value)-Pair #1 + { 0x06, 0x88 }, // (Offset,Value)-Pair #2 + { 0x07, 0xA8 }, // (Offset,Value)-Pair #3 + { 0x08, 0x2B }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x0C : mov esi, [eax+0x2580] + { 0x0C, 0x8B }, // (Offset,Value)-Pair #5 + { 0x0D, 0xB0 }, // (Offset,Value)-Pair #6 + { 0x0E, 0x80 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x25 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x16 : setnz dl + { 0x16, 0x0F }, // (Offset,Value)-Pair #9 + { 0x17, 0x95 }, // (Offset,Value)-Pair #10 + { 0x18, 0xC2 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x1C : retn + { 0x1C, 0xC3 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, // (Offset,Value)-Pair #1 + { 0x06, 0x00 }, // (Offset,Value)-Pair #2 + { 0x07, 0x6A }, // (Offset,Value)-Pair #3 + { 0x08, 0x00 }, // (Offset,Value)-Pair #4 + { 0x09, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0A, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x17 : add eax, 0x2554 + { 0x17, 0x05 }, // (Offset,Value)-Pair #7 + { 0x18, 0x54 }, // (Offset,Value)-Pair #8 + { 0x19, 0x25 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x0D }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x2550], eax + { 0x0A, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0B, 0x81 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x50 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x25 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x11, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetViewport +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi + { 0x05, 0x56 }, // (Offset,Value)-Pair #1 + { 0x06, 0x57 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetViewport+0x0B : lea esi, [eax+0x0A90] + { 0x0B, 0x8D }, // (Offset,Value)-Pair #3 + { 0x0C, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x0D, 0x90 }, // (Offset,Value)-Pair #5 + { 0x0E, 0x0A }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetViewport+0x11 : mov ecx, 6 + { 0x11, 0xB9 }, // (Offset,Value)-Pair #7 + { 0x12, 0x06 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 + { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TexCoordIndex +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x14 : shl eax, 0x07 + { 0x14, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x15, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x16, 0x07 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x26 : cmp eax, ecx + { 0x26, 0x3B }, // (Offset,Value)-Pair #4 + { 0x27, 0xC1 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x71 : mov ebp, 0x2400 + { 0x71, 0xBD }, // (Offset,Value)-Pair #6 + { 0x73, 0x24 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0xAA : shl ebx, 0x04 + { 0xAA, 0xC1 }, // (Offset,Value)-Pair #8 + { 0xAB, 0xE3 }, // (Offset,Value)-Pair #9 + { 0xAC, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_NormalizeNormalsB +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormalsB_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_NormalizeNormalsB+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_NormalizeNormalsB+0x2E : or [addr], 0x200 + { 0x2E, 0x81 }, // (Offset,Value)-Pair #3 + { 0x2F, 0x0D }, // (Offset,Value)-Pair #4 + { 0x34, 0x00 }, // (Offset,Value)-Pair #5 + { 0x35, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_NormalizeNormalsB+0x3F : retn 0x04 + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x40, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_EdgeAntiAliasB +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAliasB_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_EdgeAntiAliasB+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAliasB+0x0C : jb +0x0E + { 0x0C, 0x72 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x0E }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAliasB+0x1C : mov ecx, [esp+0x08] + { 0x1C, 0x8B }, // (Offset,Value)-Pair #5 + { 0x1D, 0x4C }, // (Offset,Value)-Pair #6 + { 0x1E, 0x24 }, // (Offset,Value)-Pair #7 + { 0x1F, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAliasB+0x38 : retn 0x04 + { 0x38, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x39, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0D : mov eax, [edi+0x21B4] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x87 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xB4 }, // (Offset,Value)-Pair #3 + { 0x10, 0x21 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x56 : shl esi, 0x05 + { 0x56, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x57, 0xE6 }, // (Offset,Value)-Pair #6 + { 0x58, 0x05 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x74 : retn 0x04 + { 0x74, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x75, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x1B : mov ecx, [esi+0x21B8h] + { 0x1B, 0x8B }, // (Offset,Value)-Pair #3 + { 0x1C, 0x8E }, // (Offset,Value)-Pair #4 + { 0x1D, 0xB8 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x21 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x2E : mov dword ptr [eax], 0x4030 + { 0x2E, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x2F, 0x00 }, // (Offset,Value)-Pair #8 + { 0x30, 0x0C }, // (Offset,Value)-Pair #9 + { 0x31, 0x03 }, // (Offset,Value)-Pair #10 + { 0x32, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ZEnable+0x8C : retn 0x04 + { 0x8C, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x8D, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnableB +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnableB_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ZEnableB+0x0C : jb +0x0E + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x0E }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_ZEnableB+0x1B : mov ecx, [esi+0x21B8h] + { 0x24, 0x8B }, // (Offset,Value)-Pair #3 + { 0x25, 0x8E }, // (Offset,Value)-Pair #4 + { 0x26, 0xB8 }, // (Offset,Value)-Pair #5 + { 0x27, 0x21 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ZEnableB+0x37 : mov dword ptr [eax], 0x4030 + { 0x37, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x38, 0x00 }, // (Offset,Value)-Pair #8 + { 0x39, 0x0C }, // (Offset,Value)-Pair #9 + { 0x3A, 0x03 }, // (Offset,Value)-Pair #10 + { 0x3B, 0x04 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_ZEnableB+0x99 : retn 0x04 + { 0x99, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x9A, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilEnableB +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnableB_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + { + // IDirect3DDevice8_SetRenderState_StencilEnableB+0x0C : jb +0x0E + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x0E }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_StencilEnableB+0x35 : jz +0x19 + { 0x35, 0x74 }, // (Offset,Value)-Pair #3 + { 0x36, 0x19 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_StencilEnableB+0x56 : mov dword ptr [eax], 0x00041D84 + { 0x56, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x57, 0x00 }, // (Offset,Value)-Pair #6 + { 0x58, 0x84 }, // (Offset,Value)-Pair #7 + { 0x59, 0x1D }, // (Offset,Value)-Pair #8 + { 0x5A, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_StencilEnableB+0x8A : retn 0x04 + { 0x8A, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x8B, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi + { 0x04, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x13 : call [abs] + { 0x13, 0xE8 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x27 : shl edi, 0x10 + { 0x27, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x28, 0xE7 }, // (Offset,Value)-Pair #4 + { 0x29, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x2E : jns +0x0C + { 0x2E, 0x79 }, // (Offset,Value)-Pair #6 + { 0x2F, 0x0C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x39 : or edi, 0x01 + { 0x39, 0x83 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xCF }, // (Offset,Value)-Pair #9 + { 0x3B, 0x01 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x6F : retn 0x04 + { 0x6F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x70, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x04 : push esi + { 0x04, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x11 : call [abs] + { 0x11, 0xE8 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x25 : shl edi, 0x10 + { 0x25, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x26, 0xE7 }, // (Offset,Value)-Pair #4 + { 0x27, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x2C : jns +0x0C + { 0x2C, 0x79 }, // (Offset,Value)-Pair #6 + { 0x2D, 0x0C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x37 : or edi, 0x01 + { 0x37, 0x83 }, // (Offset,Value)-Pair #8 + { 0x38, 0xCF }, // (Offset,Value)-Pair #9 + { 0x39, 0x01 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x7B : retn 0x04 + { 0x7B, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x7C, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVerticesUP +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawVerticesUP+0x2F : mov edx, [edi+0x804] + { 0x2F, 0x8B }, // (Offset,Value)-Pair #4 + { 0x30, 0x97 }, // (Offset,Value)-Pair #5 + { 0x31, 0x04 }, // (Offset,Value)-Pair #6 + { 0x32, 0x08 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawVerticesUP+0xC2 : cmp esi, 0x80 + { 0xC2, 0x81 }, // (Offset,Value)-Pair #8 + { 0xC3, 0xFE }, // (Offset,Value)-Pair #9 + { 0xC4, 0x80 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVerticesUPB +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawVerticesUPB_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVerticesUPB+0x03 : sub esp, 0x14 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawVerticesUPB+0x3C : mov edx, [esi+0x804] + { 0x3C, 0x8B }, // (Offset,Value)-Pair #4 + { 0x3D, 0x96 }, // (Offset,Value)-Pair #5 + { 0x3E, 0x04 }, // (Offset,Value)-Pair #6 + { 0x3F, 0x08 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawVerticesUPB+0xF9 : cmp edi, 0x80 + { 0xF9, 0x81 }, // (Offset,Value)-Pair #8 + { 0xFA, 0xFF }, // (Offset,Value)-Pair #9 + { 0xFB, 0x80 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVertices +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x46 }, // (Offset,Value)-Pair #2 + { 0x10, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawIndexedVertices+0x26 : push 0x0209 + { 0x26, 0x68 }, // (Offset,Value)-Pair #4 + { 0x27, 0x09 }, // (Offset,Value)-Pair #5 + { 0x28, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_DrawIndexedVertices+0x66 : dec eax + { 0x66, 0x48 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawIndexedVertices+0xFB : prefetchnta byte ptr [esi+0x3C] + { 0xFB, 0x0F }, // (Offset,Value)-Pair #8 + { 0xFC, 0x18 }, // (Offset,Value)-Pair #9 + { 0xFD, 0x46 }, // (Offset,Value)-Pair #10 + { 0xFE, 0x3C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0AB0 + { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 + { 0x0E, 0xB0 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x0A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetMaterial+0x12 : mov ecx, 0x11 + { 0x12, 0xB9 }, // (Offset,Value)-Pair #5 + { 0x13, 0x11 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetMaterial+0x1F : or ecx, 0x1000 + { 0x1F, 0x81 }, // (Offset,Value)-Pair #7 + { 0x20, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x21, 0x00 }, // (Offset,Value)-Pair #9 + { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 + { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock2 +// ****************************************************************** +SOOVPA<11> IDirect3DVertexBuffer8_Lock2_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVertexBuffer8_Lock2+0x01 : mov bl, [esp+0x0C] + { 0x01, 0x8A }, // (Offset,Value)-Pair #1 + { 0x02, 0x5C }, // (Offset,Value)-Pair #2 + { 0x03, 0x24 }, // (Offset,Value)-Pair #3 + { 0x04, 0x0C }, // (Offset,Value)-Pair #4 + + // IDirect3DVertexBuffer8_Lock2+0x09 : jnz +0x24 + { 0x09, 0x75 }, // (Offset,Value)-Pair #5 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #6 + + // IDirect3DVertexBuffer8_Lock2+0x2F : test bl, 0xA0 + { 0x2F, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x30, 0xC3 }, // (Offset,Value)-Pair #8 + { 0x31, 0xA0 }, // (Offset,Value)-Pair #9 + + // IDirect3DVertexBuffer8_Lock2+0x48 : retn 0x08 + { 0x48, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x49, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock2B +// ****************************************************************** +SOOVPA<11> IDirect3DVertexBuffer8_Lock2B_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVertexBuffer8_Lock2B+0x01 : mov bl, [esp+0x0C] + { 0x01, 0x8A }, // (Offset,Value)-Pair #1 + { 0x02, 0x5C }, // (Offset,Value)-Pair #2 + { 0x03, 0x24 }, // (Offset,Value)-Pair #3 + { 0x04, 0x0C }, // (Offset,Value)-Pair #4 + + // IDirect3DVertexBuffer8_Lock2B+0x09 : jnz +0x24 + { 0x09, 0x75 }, // (Offset,Value)-Pair #5 + { 0x0A, 0x2D }, // (Offset,Value)-Pair #6 + + // IDirect3DVertexBuffer8_Lock2B+0x2F : test bl, 0xA0 + { 0x38, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x39, 0xC3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xA0 }, // (Offset,Value)-Pair #9 + + // IDirect3DVertexBuffer8_Lock2B+0x48 : retn 0x08 + { 0x6B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x6C, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_ReleaseB +// ****************************************************************** +SOOVPA<11> IDirect3DResource8_ReleaseB_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_ReleaseB+0x09 : and ecx, 0xFFFF + { 0x09, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xFF }, // (Offset,Value)-Pair #3 + { 0x0C, 0xFF }, // (Offset,Value)-Pair #4 + + // IDirect3DResource8_ReleaseB+0x14 : and eax, 0x00070000 + { 0x14, 0x25 }, // (Offset,Value)-Pair #5 + { 0x17, 0x07 }, // (Offset,Value)-Pair #6 + + // IDirect3DResource8_ReleaseB+0x19 : cmp eax, 0x00050000 + { 0x19, 0x3D }, // (Offset,Value)-Pair #7 + { 0x1C, 0x05 }, // (Offset,Value)-Pair #8 + + // IDirect3DResource8_ReleaseB+0x3D : pop edi + { 0x3D, 0x5F }, // (Offset,Value)-Pair #9 + + // IDirect3DResource8_ReleaseB+0x4A : retn 0x04 + { 0x4A, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4B, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DResource8_GetType +// ****************************************************************** +SOOVPA<7> IDirect3DResource8_GetType_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x10, 0x77 }, + { 0x22, 0x83 }, + { 0x34, 0x00 }, + { 0x46, 0x74 }, + { 0x58, 0x00 }, + { 0x6A, 0x74 }, + { 0x7C, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DVolumeTexture8_LockBox +// ****************************************************************** +SOOVPA<15> IDirect3DVolumeTexture8_LockBox_1_0_4627 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DVolumeTexture8_LockBox+0x00 : mov eax, [esp+0x14] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x14 }, // (Offset,Value)-Pair #4 + + // IDirect3DVolumeTexture8_LockBox+0x04 : mov ecx, [esp+0x10] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x4C }, // (Offset,Value)-Pair #6 + { 0x06, 0x24 }, // (Offset,Value)-Pair #7 + { 0x07, 0x0C }, // (Offset,Value)-Pair #8 + + // IDirect3DVolumeTexture8_LockBox+0x0C : push eax + { 0x0C, 0x50 }, // (Offset,Value)-Pair #9 + + // IDirect3DVolumeTexture8_LockBox+0x11 : push ecx; push edx; push eax + { 0x11, 0x51 }, // (Offset,Value)-Pair #10 + { 0x12, 0x52 }, // (Offset,Value)-Pair #11 + { 0x13, 0x50 }, // (Offset,Value)-Pair #12 + + // IDirect3DVolumeTexture8_LockBox+0x18 : call [addr] + { 0x18, 0xE8 }, // (Offset,Value)-Pair #13 + + // IDirect3DVolumeTexture8_LockBox+0x1D : retn 0x14 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x1E, 0x14 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DSurface8_LockRectB +// ****************************************************************** +SOOVPA<17> IDirect3DSurface8_LockRectB_1_0_4627 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DSurface8_LockRectB+0x00 : mov eax, [esp+0x10] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirect3DSurface8_LockRectB+0x04 : mov ecx, [esp+0x04] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x4C }, // (Offset,Value)-Pair #6 + { 0x06, 0x24 }, // (Offset,Value)-Pair #7 + { 0x07, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DSurface8_LockRectB+0x08 : push esi; mov esi, [esp+0x0C]; push eax + { 0x08, 0x56 }, // (Offset,Value)-Pair #9 + { 0x09, 0x8B }, // (Offset,Value)-Pair #10 + { 0x0A, 0x74 }, // (Offset,Value)-Pair #11 + { 0x0B, 0x24 }, // (Offset,Value)-Pair #12 + { 0x0C, 0x0C }, // (Offset,Value)-Pair #13 + { 0x0D, 0x50 }, // (Offset,Value)-Pair #14 + + // IDirect3DSurface8_LockRectB+0x17 : call [addr] + { 0x17, 0xE8 }, // (Offset,Value)-Pair #15 + + // IDirect3DSurface8_LockRectB+0x1D : retn 0x10 + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #16 + { 0x1E, 0x10 }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x21C0] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x55, 0x21 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDescB +// ****************************************************************** +SOOVPA<9> Get2DSurfaceDescB_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_GET2DSURFACEDESCB, // XRef Is Saved + 0, // XRef Not Used + + { + // Get2DSurfaceDescB+0x1D : movzx ecx, byte ptr [edi+0x0D] + { 0x1D, 0x0F }, // (Offset,Value)-Pair #1 + { 0x1E, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x1F, 0x4F }, // (Offset,Value)-Pair #3 + { 0x20, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDescB+0x44 : mov edx, [eax+0x21C0] + { 0x44, 0x8B }, // (Offset,Value)-Pair #5 + { 0x45, 0x90 }, // (Offset,Value)-Pair #6 + { 0x46, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x47, 0x21 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDescB+0x9E : retn + { 0x9E, 0xC3 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDescC +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDescC_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // Get2DSurfaceDescC+0x10 : call [Get2DSurfaceDescB] + { 0x10, XREF_GET2DSURFACEDESCB }, // (Offset,Value)-Pair #1 + + // Get2DSurfaceDescC+0x00 : push ebx; push esi; push edi + { 0x00, 0x53 }, // (Offset,Value)-Pair #2 + { 0x05, 0x56 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x57 }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDescC+0x01 : mov ebx, [esp+0x0C] + { 0x01, 0x8B }, // (Offset,Value)-Pair #5 + { 0x02, 0x5C }, // (Offset,Value)-Pair #6 + { 0x03, 0x24 }, // (Offset,Value)-Pair #7 + { 0x04, 0x0C }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDescC+0x17 : retn 0x0C + { 0x17, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x18, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDescD +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDescD_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // Get2DSurfaceDescD+0x0E : call [Get2DSurfaceDescB] + { 0x0E, XREF_GET2DSURFACEDESCB }, // (Offset,Value)-Pair #1 + + // Get2DSurfaceDescD+0x00 : push ebx; push esi; push edi + { 0x00, 0x53 }, // (Offset,Value)-Pair #2 + { 0x01, 0x56 }, // (Offset,Value)-Pair #3 + { 0x06, 0x57 }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDescD+0x02 : mov esi, [esp+0x10] + { 0x02, 0x8B }, // (Offset,Value)-Pair #5 + { 0x03, 0x74 }, // (Offset,Value)-Pair #6 + { 0x04, 0x24 }, // (Offset,Value)-Pair #7 + { 0x05, 0x10 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDescD+0x15 : retn 0x08 + { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x16, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_GetSurfaceLevel2 +// ****************************************************************** +SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel2_1_0_4627 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DTexture8_GetSurfaceLevel2+0x00 : sub esp, 0x0C + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x0C }, // (Offset,Value)-Pair #3 + + // IDirect3DTexture8_GetSurfaceLevel2+0x04 : mov esi, [esp+0x14] + { 0x04, 0x8B }, // (Offset,Value)-Pair #4 + { 0x07, 0x14 }, // (Offset,Value)-Pair #5 + + // IDirect3DTexture8_GetSurfaceLevel2+0x08 : lea eax, [esp+0x14] + { 0x08, 0x8D }, // (Offset,Value)-Pair #6 + { 0x0B, 0x14 }, // (Offset,Value)-Pair #7 + + // IDirect3DTexture8_GetSurfaceLevel2+0x17 : mov edx, [esp+0x24] + { 0x17, 0x8B }, // (Offset,Value)-Pair #8 + { 0x1A, 0x24 }, // (Offset,Value)-Pair #9 + + // IDirect3DTexture8_GetSurfaceLevel2+0x1B : lea eax, [esp+0x18] + { 0x1B, 0x8D }, // (Offset,Value)-Pair #10 + { 0x1E, 0x18 }, // (Offset,Value)-Pair #11 + + // IDirect3DTexture8_GetSurfaceLevel2+0x29 : call [abs] + { 0x29, 0xE8 }, // (Offset,Value)-Pair #12 + + // IDirect3DTexture8_GetSurfaceLevel2+0x47 : retn 0x08 + { 0x47, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x48, 0x08 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_GetSurfaceLevel2B +// ****************************************************************** +SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel2B_1_0_4627 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DTexture8_GetSurfaceLevel2B+0x00 : sub esp, 0x0C + { 0x00, 0x83 }, // (Offset,Value)-Pair #1 + { 0x01, 0xEC }, // (Offset,Value)-Pair #2 + { 0x02, 0x0C }, // (Offset,Value)-Pair #3 + + // IDirect3DTexture8_GetSurfaceLevel2B+0x04 : mov esi, [esp+0x14] + { 0x04, 0x8B }, // (Offset,Value)-Pair #4 + { 0x07, 0x14 }, // (Offset,Value)-Pair #5 + + // IDirect3DTexture8_GetSurfaceLevel2B+0x08 : lea eax, [esp+0x14] + { 0x08, 0x8D }, // (Offset,Value)-Pair #6 + { 0x0B, 0x18 }, // (Offset,Value)-Pair #7 + + // IDirect3DTexture8_GetSurfaceLevel2B+0x17 : mov edx, [esp+0x24] + { 0x17, 0x8B }, // (Offset,Value)-Pair #8 + { 0x1A, 0x24 }, // (Offset,Value)-Pair #9 + + // IDirect3DTexture8_GetSurfaceLevel2B+0x1B : lea eax, [esp+0x18] + { 0x1B, 0x8D }, // (Offset,Value)-Pair #10 + { 0x1E, 0x18 }, // (Offset,Value)-Pair #11 + + // IDirect3DTexture8_GetSurfaceLevel2B+0x29 : call [abs] + { 0x29, 0xE8 }, // (Offset,Value)-Pair #12 + + // IDirect3DTexture8_GetSurfaceLevel2B+0x47 : retn 0x08 + { 0x45, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x46, 0x08 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * D3DDevice_GetViewportOffsetAndScale@8 +// ****************************************************************** +SOOVPA<8> X_D3DDevice_GetViewportOffsetAndScale_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xD8 }, + { 0x40, 0xD8 }, + { 0x5E, 0xC9 }, + { 0x7E, 0x05 }, + { 0x9E, 0x0A }, + { 0xBE, 0x00 }, + { 0xDE, 0x14 }, + { 0xFE, 0xE0 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SelectVertexShaderDirect +// ****************************************************************** +SOOVPA<7> X_D3DDevice_SelectVertexShaderDirect_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x85 }, + { 0x0C, 0x00 }, + { 0x14, 0xF3 }, + { 0x1D, 0x83 }, + { 0x21, 0x4C }, + { 0x29, 0x5E }, + { 0x2F, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetShaderConstantMode +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetShaderConstantMode_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0xD8 }, + { 0x0A, 0x00 }, + { 0x0D, 0x24 }, + { 0x10, 0x0A }, + { 0x13, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetVertexShader +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetVertexShader_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x84 }, + { 0x0A, 0x00 }, + { 0x0D, 0x24 }, + { 0x10, 0x0A }, + { 0x13, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderConstant +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetVertexShaderConstant_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x15 }, + { 0x0C, 0x24 }, + { 0x13, 0xE0 }, + { 0x1A, 0x8D }, + { 0x21, 0x8B }, + { 0x28, 0x8B }, + { 0x2F, 0x5F }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexShaderInputDirect +// ****************************************************************** +SOOVPA<7> X_D3DDevice_SetVertexShaderInputDirect_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x85 }, + { 0x0C, 0x00 }, + { 0x14, 0xF3 }, + { 0x1D, 0x83 }, + { 0x21, 0x54 }, + { 0x29, 0x5E }, + { 0x2F, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderInput +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetVertexShaderInput_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x74 }, + { 0x18, 0x04 }, + { 0x25, 0x57 }, + { 0x32, 0x00 }, + { 0x3F, 0x00 }, + { 0x4C, 0x03 }, + { 0x59, 0xD0 }, + } +}; + +// ****************************************************************** +// * D3DDevice_RunVertexStateShader +// ****************************************************************** +SOOVPA<7> X_D3DDevice_RunVertexStateShader_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x3B }, + { 0x14, 0x4C }, + { 0x1F, 0xC0 }, + { 0x2A, 0x40 }, + { 0x35, 0xF4 }, + { 0x40, 0xC7 }, + { 0x4B, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_EndPush +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_EndPush_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 10 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x06, XREF_D3DDEVICE }, // 1 + + { 0x00, 0x8B }, // 2 + { 0x01, 0x44 }, // 3 + { 0x02, 0x24 }, // 4 + { 0x03, 0x04 }, // 5 + { 0x04, 0x8B }, // 6 + { 0x05, 0x0D }, // 7 + { 0x0A, 0x89 }, // 8 + { 0x0B, 0x01 }, // 9 + { 0x0C, 0xC2 }, // 10 + { 0x0D, 0x04 }, // 11 + { 0x0E, 0x00 }, // 12 + } +}; + +// ****************************************************************** +// * D3DDevice_LoadVertexShader +// ****************************************************************** +SOOVPA<7> X_D3DDevice_LoadVertexShader_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x08 }, + { 0x14, 0x75 }, + { 0x21, 0x8B }, + { 0x2A, 0xE8 }, + { 0x35, 0x9C }, + { 0x40, 0x14 }, + { 0x4B, 0x8D }, + } +}; + +// ****************************************************************** +// * D3DDevice_LoadVertexShaderProgram +// ****************************************************************** +SOOVPA<7> X_D3DDevice_LoadVertexShaderProgram_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x2D }, + { 0x18, 0x10 }, + { 0x25, 0xE0 }, + { 0x32, 0x5F }, + { 0x3F, 0x8B }, + { 0x4C, 0x00 }, + { 0x59, 0xE8 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SelectVertexShader +// ****************************************************************** +SOOVPA<8> X_D3DDevice_SelectVertexShader_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x49 }, + { 0x1E, 0x00 }, + { 0x2E, 0x72 }, + { 0x3E, 0x1E }, + { 0x4E, 0x8B }, + { 0x5E, 0x05 }, + { 0x6E, 0x89 }, + { 0x7E, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderType@8 +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetVertexShaderType_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x8B }, + { 0x0A, 0x07 }, + { 0x10, 0xEB }, + { 0x16, 0x00 }, + { 0x1C, 0x40 }, + { 0x22, 0xC9 }, + { 0x28, 0x08 }, + } +}; + + +// ****************************************************************** +// * D3DDevice_GetVertexShaderDeclaration +// ****************************************************************** +SOOVPA<8> X_D3DDevice_GetVertexShaderDeclaration_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xC2 }, + { 0x3E, 0x00 }, + { 0x5E, 0x00 }, + { 0x7E, 0x02 }, + { 0x9E, 0x24 }, + { 0xBE, 0x2B }, + { 0xDE, 0x9A }, + { 0xFE, 0x10 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderFunction +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetVertexShaderFunction_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x16, 0xC0 }, + { 0x2E, 0x01 }, + { 0x46, 0x10 }, + { 0x5E, 0x07 }, + { 0x76, 0xC7 }, + { 0x8E, 0x00 }, + { 0xA6, 0xF8 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexShaderInput +// ****************************************************************** +SOOVPA<8> X_D3DDevice_SetVertexShaderInput_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x83 }, + { 0x3E, 0x10 }, + { 0x5E, 0x00 }, + { 0x7E, 0x24 }, + { 0x9E, 0x89 }, + { 0xBE, 0x81 }, + { 0xDE, 0xC6 }, + { 0xFE, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetStreamSource2 (Maybe same in older versions) +// ****************************************************************** +SOOVPA<7> X_D3DDevice_GetStreamSource2_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x34 }, + { 0x12, 0x85 }, + { 0x16, 0x57 }, + { 0x22, 0x8B }, + { 0x26, 0x89 }, + { 0x2E, 0x00 }, + { 0x36, 0x89 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderB +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexShaderB_1_0_4627 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderB+0x06 : test bl, 1 + { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x08, 0x01 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderB+0x11 : mov eax, [esi+0x0380] + { 0x11, 0x8B }, // (Offset,Value)-Pair #4 + { 0x12, 0x86 }, // (Offset,Value)-Pair #5 + { 0x13, 0x80 }, // (Offset,Value)-Pair #6 + { 0x14, 0x03 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetVertexShaderB+0x95 : retn 0x04 + { 0x95, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x96, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderB+0xC2 : mov dword ptr [eax], 0x4194C + { 0xC2, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xC3, 0x00 }, // (Offset,Value)-Pair #11 + { 0xC4, 0x4C }, // (Offset,Value)-Pair #12 + { 0xC5, 0x19 }, // (Offset,Value)-Pair #13 + { 0xC6, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * D3DDevice_Release +// ****************************************************************** +SOOVPA<8> X_D3DDevice_Release_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x00 }, + { 0x13, 0xCF }, + { 0x1A, 0x0C }, + { 0x21, 0x05 }, + { 0x28, 0x00 }, + { 0x2F, 0x89 }, + { 0x36, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_LineWidth +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0xXXXX] + { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 + { 0x16, 0x8E }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x32 : cmp edi, 0x1FF + { 0x32, 0x81 }, // (Offset,Value)-Pair #5 + { 0x33, 0xFF }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x3A : mov edi, 0x1FF + { 0x3A, 0xBF }, // (Offset,Value)-Pair #7 + { 0x3B, 0xFF }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x62 : retn 0x04 + { 0x62, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x63, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetBackBufferScale +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_SetBackBufferScale_1_0_4627 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x24 }, + { 0x3E, 0x06 }, +// { 0x62, 0xEC }, + { 0x7E, 0x8B }, + { 0x9E, 0xBF }, + { 0xBE, 0x89 }, + { 0xDE, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Reset +// ****************************************************************** +SOOVPA<18> IDirect3DDevice8_Reset_1_0_4627 = +{ + 0, // Large == 0 + 18, // Count == 18 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x01, 0x81 }, + { 0x02, 0xBC }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x83 }, + { 0x07, 0xE0 }, + { 0x08, 0x01 }, + { 0x09, 0x83 }, + { 0x0A, 0xC0 }, + { 0x0B, 0x1F }, + { 0x0C, 0x8D }, + { 0x0D, 0x04 }, + { 0x0E, 0x40 }, + { 0x0F, 0x8B }, + { 0x10, 0x04 }, + { 0x11, 0x81 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShaderProgram +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetPixelShaderProgram_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x01, 0x54 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x85 }, + { 0x05, 0xD2 }, + { 0x29, 0x89 }, + { 0x2A, 0x4C }, + { 0x2B, 0x24 }, + { 0x2C, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDisplayFieldStatus +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetDisplayFieldStatus_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x0C, 0x4C }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x1E, 0x56 }, + { 0x25, 0x33 }, + { 0x26, 0xD2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateStateBlock +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_CreateStateBlock_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x57 }, + { 0x1C, 0xF3 }, + { 0x1D, 0xAB }, + { 0x41, 0x81 }, + { 0x42, 0xC1 }, + { 0x43, 0x90 }, + { 0x44, 0x00 }, + { 0x45, 0x00 }, + { 0x46, 0x00 }, + { 0x8B, 0x33 }, + { 0x8C, 0xC0 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_InsertCallback +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_InsertCallback_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x0E }, + { 0x1C, 0x8B }, + { 0x2B, 0x48 }, + { 0x3A, 0x0C }, + { 0x49, 0x89 }, + { 0x58, 0x10 }, + { 0x67, 0x07 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawRectPatch +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_DrawRectPatch_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x6C }, + { 0x3E, 0x3C }, + { 0x5E, 0x54 }, + { 0x80, 0x89 }, + { 0x9E, 0xF0 }, + { 0xBE, 0x00 }, + { 0xDE, 0xD8 }, + { 0xFE, 0xD9 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetProjectionViewportMatrix +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetProjectionViewportMatrix_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x35 }, + { 0x07, 0x57 }, + { 0x0A, 0x24 }, + { 0x0E, 0x30 }, + { 0x12, 0xB9 }, + { 0x16, 0x00 }, + { 0x1A, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +/* blueshogun96 8/7/08 + for MGS2 :)*/ +SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4721 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPixelShader+0x26 : or ecx, 0x4800 + { 0x26, 0x81 }, // (Offset,Value)-Pair #1 + { 0x27, 0xC9 }, // (Offset,Value)-Pair #2 + { 0x28, 0x00 }, // (Offset,Value)-Pair #3 + { 0x29, 0x48 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetPixelShader+0x3E : or eax, 0x2000 + { 0x3E, 0x0D }, // (Offset,Value)-Pair #5 + { 0x40, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetPixelShader+0x7D : retn 0x04 + { 0x7D, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x7E, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetPixelShader+0xDE : rep movsd + { 0xF4, 0xF3 }, // (Offset,Value)-Pair #9 + { 0xF5, 0xA5 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3DDevice_SetScissors@12 +// ****************************************************************** +SOOVPA<8> D3DDevice_SetScissors_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x57 }, + { 0x3E, 0x44 }, + { 0x5E, 0x5C }, + { 0x7E, 0x24 }, + { 0x9E, 0xBE }, + { 0xBE, 0x04 }, + { 0xDE, 0x24 }, + { 0xFE, 0x4C }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetPalette@8 +// ****************************************************************** +SOOVPA<7> D3DDevice_SetPalette_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x10, 0x48 }, + { 0x22, 0x0B }, + { 0x34, 0x00 }, + { 0x46, 0x9C }, + { 0x58, 0xC5 }, + { 0x6E, 0x8B }, + { 0x7C, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMask +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0xA3 }, + { 0x12, 0x56 }, + { 0x1C, 0x8B }, + { 0x2A, 0x85 }, + { 0x30, 0x01 }, + { 0x3D, 0xC7 }, + { 0x44, 0x78 }, + { 0x4E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_LogicOp +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x3B }, + { 0x14, 0x4C }, + { 0x1F, 0x04 }, + { 0x2A, 0x0D }, + { 0x35, 0xBC }, + { 0x40, 0x89 }, + { 0x4E, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_InsertFence +// ****************************************************************** +SOOVPA<5> D3DDevice_InsertFence_1_0_4627 = +{ + 0, // Large == 0 + 5, // Count == 5 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x03, XREF_D3D_SETFENCE }, + + { 0x00, 0x6A }, + { 0x01, 0x00 }, + { 0x02, 0xE8 }, + { 0x07, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3D::CDevice::KickOff +// ****************************************************************** +SOOVPA<13> D3D_CDevice_KickOff_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + 0, // Xref Is Used + + { + // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] + { 0x0B, 0x8B }, + { 0x0C, 0x91 }, + { 0x0D, 0x5C }, + { 0x0E, 0x03 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + + // D3D::CDevice::KickOff+0x1F : test ch, 0x20 + { 0x1F, 0xF6 }, + { 0x20, 0xC5 }, + { 0x21, 0x20 }, + + // D3D::CDevice::KickOff+0x2F : sfence + { 0x2F, 0x0F }, + { 0x30, 0xAE }, + { 0x31, 0xF8 }, + + // D3D::CDevice::KickOff+0xE2 : retn + { 0xE2, 0xC3 } + } +}; + +// ****************************************************************** +// * D3DDevice_KickPushBuffer +// ****************************************************************** +SOOVPA<4> D3DDevice_KickPushBuffer_1_0_4627 = +{ + 0, // Large == 0 + 4, // Count == 4 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x07, XREF_D3D_KickOff }, + + { 0x00, 0x8B }, + { 0x01, 0x0D }, + { 0x06, 0xE9 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8::GetTexture2 +// ****************************************************************** +SOOVPA<8> D3DDevice_GetTexture2_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x0A, 0x56 }, + { 0x0D, 0x81 }, + { 0x0E, 0x38 }, + { 0x12, 0x8B }, + { 0x17, 0x06 }, + { 0x1E, 0x8B }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3D::CDevice::SetStateVB +// ****************************************************************** +SOOVPA<12> D3D_CDevice_SetStateVB_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // D3D_CDevice_SetStateVB+0x00 : sub esp, 0xC + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x0C }, + + // D3D_CDevice_SetStateVB+0x0D : and eax, 0xFFFFFFAF + { 0x0D, 0x83 }, + { 0x0E, 0xE0 }, + { 0x0F, 0xAF }, + + // D3D_CDevice_SetStateVB+0x10 : test ebx, 0x3FFFFF8F + { 0x10, 0xF7 }, + { 0x11, 0xC3 }, + { 0x12, 0x8F }, + { 0x13, 0xFF }, + { 0x14, 0xFF }, + { 0x15, 0x3F }, + } +}; + +// ****************************************************************** +// * D3D::CDevice::SetStateUP +// ****************************************************************** +SOOVPA<11> D3D_CDevice_SetStateUP_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // D3D_CDevice_SetStateUP+0x05 : sub esp, 0x14 + { 0x05, 0x83 }, + { 0x06, 0xEC }, + { 0x07, 0x14 }, + + // D3D_CDevice_SetStateUP+0x08 : test eax, 0x3FFFFF8F + { 0x08, 0xA9 }, + { 0x09, 0x8F }, + { 0x0A, 0xFF }, + { 0x0B, 0xFF }, + { 0x0C, 0x3F }, + + // D3D_CDevice_SetStateUP+0x27 : or eax, 0x50 + { 0x27, 0x83 }, + { 0x28, 0xC8 }, + { 0x29, 0x50 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVerticesUP +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #1 + { 0x4B, 0xCA }, // (Offset,Value)-Pair #2 + { 0x4C, 0x00 }, // (Offset,Value)-Pair #3 + { 0x4D, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_DrawIndexedVerticesUP+0x5C : lea edx, [edi+0x784] + { 0x5C, 0x8D }, // (Offset,Value)-Pair #5 + { 0x5D, 0x97 }, // (Offset,Value)-Pair #6 + { 0x5E, 0x84 }, // (Offset,Value)-Pair #7 + { 0x5F, 0x07 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_DrawIndexedVerticesUP+0x6A : mov eax, 0x10 + { 0x6A, 0xB8 }, // (Offset,Value)-Pair #9 + { 0x6B, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3DDevice_SetStipple +// ****************************************************************** +SOOVPA<7> D3DDevice_SetStipple_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x03 }, + { 0x15, 0xF6 }, + { 0x1C, 0x10 }, + { 0x26, 0x20 }, + { 0x30, 0x80 }, + { 0x3A, 0x00 }, + { 0x44, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +SOOVPA<8> D3DDevice_PersistDisplay_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x21, 0x8B }, + { 0x3C, 0x8D }, + { 0x5B, 0x74 }, + { 0x7A, 0x42 }, + { 0x99, 0x56 }, + { 0xB8, 0x00 }, + { 0xD7, 0x8B }, + { 0xF6, 0xF9 }, + } +}; + +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +SOOVPA<14> D3DDevice_PersistDisplay_1_0_4928 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // D3DDevice_PersistDisplay+0x23 : mov eax, [ebx+0x500] + { 0x23, 0x8B }, + { 0x24, 0x83 }, + { 0x25, 0x00 }, + { 0x26, 0x05 }, + { 0x27, 0x00 }, + { 0x28, 0x00 }, + // D3DDevice_PersistDisplay+0x39 : lea ebp, [ebx+0x23C0] + { 0x39, 0x8D }, + { 0x3A, 0xAB }, + { 0x3B, 0xC0 }, + { 0x3C, 0x23 }, + { 0x3D, 0x00 }, + { 0x3E, 0x00 }, + // D3DDevice_PersistDisplay+0x72 : shl edx, cl + { 0x72, 0xD3 }, + { 0x73, 0xE2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetSwapCallback +// ****************************************************************** +/* See the comment for the 4134 OOVPA signature for previous notes */ +SOOVPA<12> IDirect3DDevice8_SetSwapCallback_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x0D }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x254C], eax + { 0x0A, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0B, 0x81 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x4C }, // (Offset,Value)-Pair #9 + { 0x0D, 0x25 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x11, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMode +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMode_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x89 }, + { 0x0F, 0x8B }, + { 0x13, 0x00 }, + { 0x1A, 0x00 }, + { 0x1B, 0x75 }, + { 0x21, 0x00 }, + { 0x28, 0x00 }, + { 0x31, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x89 }, + { 0x0F, 0x8B }, + { 0x13, 0x00 }, + { 0x1A, 0x00 }, + { 0x1B, 0x74 }, + { 0x21, 0x00 }, + { 0x28, 0x00 }, + { 0x31, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginStateBlock +// ****************************************************************** +SOOVPA<6> D3DDevice_BeginStateBlock_1_0_4627 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x05, 0x83 }, + { 0x06, 0x48 }, + { 0x07, 0x08 }, + { 0x08, 0x20 }, + { 0x09, 0xE9 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndStateBlock +// ****************************************************************** +SOOVPA<6> D3DDevice_EndStateBlock_1_0_4627 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x05, 0x83 }, + { 0x06, 0x60 }, + { 0x07, 0x08 }, + { 0x08, 0xDF }, + { 0x09, 0xE9 }, + } +}; + +// ****************************************************************** +// * D3DDevice_ApplyStateBlock +// ****************************************************************** +SOOVPA<8> D3DDevice_ApplyStateBlock_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xC6 }, + { 0x40, 0x83 }, + { 0x5E, 0x04 }, + { 0x7E, 0x50 }, + { 0xA0, 0x83 }, + { 0xBE, 0x51 }, + { 0xDE, 0xE9 }, + { 0xFE, 0x33 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CaptureStateBlock +// ****************************************************************** +SOOVPA<8> D3DDevice_CaptureStateBlock_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x5E }, + { 0x3C, 0x00 }, + { 0x5B, 0x72 }, + { 0x7A, 0x00 }, + { 0x99, 0x01 }, + { 0xBC, 0x8B }, + { 0xD7, 0x89 }, + { 0xF9, 0x8B }, + } +}; + +// ****************************************************************** +// * D3DDevice_DeleteStateBlock +// ****************************************************************** +SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x11, 0x76 }, + { 0x24, 0x3B }, + { 0x37, 0xE8 }, + { 0x4A, 0x50 }, + { 0x5D, 0x74 }, + { 0x70, 0x06 }, + { 0x83, 0xEB }, + } +}; + +// ****************************************************************** +// * D3D::BlockOnTime +// ****************************************************************** +SOOVPA<6> D3D_BlockOnTime_1_0_4627 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XREF_D3D_BLOCKONTIME, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x09, 0x34 }, + { 0x27, 0x07 }, + { 0x55, 0x7E }, + { 0x7B, 0x58 }, + { 0xE3, 0x80 }, + { 0xF5, 0x30 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BlockOnFence +// ****************************************************************** +SOOVPA<8> D3DDevice_BlockOnFence_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x08, XREF_D3D_BLOCKONTIME }, + + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x6A }, + { 0x06, 0x50 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, + } +}; + +// ****************************************************************** +// * Lock3DSurface +// ****************************************************************** +SOOVPA<11> Lock3DSurface_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // D3D::PixelJar::Lock3DSurface + 0x08: test bl, 0x20 + { 0x08, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x09, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x0A, 0x20 }, // (Offset,Value)-Pair #3 + + // D3D::PixelJar::Lock3DSurface + 0x40: test bl, 0x40 + { 0x40, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x41, 0xC3 }, // (Offset,Value)-Pair #5 + { 0x42, 0x40 }, // (Offset,Value)-Pair #6 + + // D3D::PixelJar::Lock3DSurface + 0x6D: and edx, 0x3C + { 0x6D, 0x83 }, // (Offset,Value)-Pair #7 + { 0x6E, 0xE2 }, // (Offset,Value)-Pair #8 + { 0x6F, 0x3C }, // (Offset,Value)-Pair #9 + + // D3D::PixelJar::Lock3DSurface + 0x99: ret 0x14 + { 0x99, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x9A, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateImageSurface +// ****************************************************************** +SOOVPA<9> D3DDevice_CreateImageSurface_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x8B }, + { 0x0A, 0x24 }, + { 0x0E, 0x00 }, + { 0x10, 0x52 }, + { 0x16, 0x8B }, + { 0x1C, 0x85 }, + { 0x22, 0x01 }, + { 0x28, 0x07 }, + { 0x2E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DCubeTexture_GetCubeMapSurface2 +// ****************************************************************** +SOOVPA<7> D3DCubeTexture_GetCubeMapSurface2_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x8D }, + { 0x12, 0x8D }, + { 0x1C, 0x44 }, + { 0x26, 0x24 }, + { 0x31, 0x8B }, + { 0x3A, 0x44 }, + { 0x46, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetSoftDisplayFilter +// ****************************************************************** +SOOVPA<7> D3DDevice_SetSoftDisplayFilter_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x56 }, + { 0x14, 0x8B }, + { 0x1F, 0x95 }, + { 0x2A, 0x00 }, + { 0x37, 0x33 }, + { 0x44, 0x01 }, + { 0x4D, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetPixelShader +// ****************************************************************** +SOOVPA<7> D3DDevice_GetPixelShader_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x70 }, + { 0x0A, 0x00 }, + { 0x0D, 0x24 }, + { 0x10, 0x0A }, + { 0x13, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CreatePalette2 +// ****************************************************************** +SOOVPA<8> D3DDevice_CreatePalette2_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x8B }, + { 0x16, 0x74 }, + { 0x22, 0x04 }, + { 0x2E, 0x50 }, + { 0x3A, 0xE8 }, + { 0x46, 0xC1 }, + { 0x52, 0xFF }, + { 0x5E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DPalette_Lock2 +// ****************************************************************** +SOOVPA<7> D3DPalette_Lock2_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x8B }, + { 0x0A, 0x75 }, + { 0x12, 0x8B }, + { 0x13, 0x46 }, + { 0x16, 0x00 }, + { 0x1A, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetFlickerFilter +// ****************************************************************** +SOOVPA<7> D3DDevice_SetFlickerFilter_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0xC9 }, + { 0x10, 0x24 }, + { 0x1A, 0x74 }, + { 0x22, 0x6A }, + { 0x2E, 0xC7 }, + { 0x34, 0x01 }, + { 0x3E, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginPushBuffer +// ****************************************************************** +SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0xCE }, + { 0x1B, 0x89 }, + { 0x25, 0x00 }, + { 0x32, 0x06 }, + { 0x3F, 0x03 }, + { 0x4C, 0x04 }, + { 0x59, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndPushBuffer +// ****************************************************************** +SOOVPA<7> D3DDevice_EndPushBuffer_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x11, 0x8D }, + { 0x22, 0x50 }, + { 0x34, 0x0C }, + { 0x46, 0x08 }, + { 0x58, 0x00 }, + { 0x6D, 0x8B }, + { 0x7C, 0x88 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetPersistedSurface2 +// ****************************************************************** +SOOVPA<7> D3DDevice_GetPersistedSurface2_1_0_4627 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xFF }, + { 0x01, 0x25 }, + { 0x02, 0x04 }, + { 0x03, 0xC1 }, + { 0x04, 0x3A }, + { 0x05, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetModelView +// ****************************************************************** +SOOVPA<7> D3DDevice_SetModelView_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x15, 0xFF }, + { 0x2D, 0x81 }, + { 0x43, 0x3B }, + { 0x5A, 0xC1 }, + { 0x71, 0x53 }, + { 0x8A, 0x8B }, + { 0x9F, 0x30 }, + } +}; + +// ****************************************************************** +// * D3D::LazySetPointParams +// ****************************************************************** +SOOVPA<7> D3D_LazySetPointParams_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x14 }, + { 0x4E, 0xE0 }, + { 0x73, 0xF6 }, + { 0x74, 0xC4 }, + { 0x75, 0x41 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetDepthClipPlanes +// ****************************************************************** +SOOVPA<7> D3DDevice_SetDepthClipPlanes_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x12, 0x24 }, + { 0x26, 0x8B }, + { 0x3A, 0x0C }, + { 0x4E, 0x17 }, + { 0x62, 0x86 }, + { 0x76, 0x05 }, + { 0x8A, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetMaterial +// ****************************************************************** +SOOVPA<8> D3DDevice_GetMaterial_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0D, 0xB0 }, + { 0x0E, 0x0A }, + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetBackMaterial +// ****************************************************************** +SOOVPA<8> D3DDevice_GetBackMaterial_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0D, 0xF4 }, + { 0x0E, 0x0A }, + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +SOOVPA<9> D3DDevice_SetBackMaterial_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x08 }, + { 0x0C, 0x81 }, + { 0x0E, 0xF4 }, + { 0x10, 0x00 }, + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x10 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_4627 +// ****************************************************************** +OOVPATable D3D8_1_0_4627[] = +{ + // IDirect3D8::CreateDevice + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_4627, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3D8::CreateDeviceX + { + (OOVPA*)&IDirect3D8_CreateDeviceX_1_0_4627, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, + + XTL::EmuIDirect3D8_CheckDeviceFormat, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CheckDeviceFormat" + #endif + }, + // IDirect3DDevice8::BeginVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, + + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::EndVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_4627, + + XTL::EmuIDirect3DDevice8_EndVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndVisibilityTest" + #endif + }, + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVisibilityTestResult" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4627, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle2 + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle2_1_0_4627, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle2" + #endif + }, + // IDirect3DDevice8::BeginPush + { + (OOVPA*)&IDirect3DDevice8_BeginPush_1_0_4627, + + XTL::EmuIDirect3DDevice8_BeginPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPush" + #endif + }, + // IDirect3DDevice8::EndPush + { + (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, + + XTL::EmuIDirect3DDevice8_EndPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPush" + #endif + }, + // IDirect3DDevice8::CopyRects + { + (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_4627, + + XTL::EmuIDirect3DDevice8_CopyRects, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CopyRects" + #endif + }, + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // IDirect3DDevice8::GetBackBuffer2 + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2" + #endif + }, + // IDirect3DDevice8::GetBackBuffer2B + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer2B_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2B" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // D3D::CommonSetRenderTarget (XREF) + { + (OOVPA*)&D3D_CommonSetRenderTarget_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "D3D::CommonSetRenderTarget (XREF)" + #endif + }, + // D3D::CommonSetRenderTargetB (XREF) + { + (OOVPA*)&D3D_CommonSetRenderTargetB_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "D3D::CommonSetRenderTargetB (XREF)" + #endif + }, + // IDirect3DDevice8::SetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::AddRef + { + (OOVPA*)&IDirect3DDevice8_AddRef_1_0_4627, + + XTL::EmuIDirect3DDevice8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_AddRef" + #endif + }, + // IDirect3DDevice8::SetGammaRamp + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::GetRenderTarget2 + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetRenderTarget2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget2" + #endif + }, + // IDirect3DDevice8::GetRenderTarget2B + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget2B_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetRenderTarget2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget2B" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface2 + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface2" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface2B + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2B_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface2B" + #endif + }, + // IDirect3DDevice8::GetTile + { + (OOVPA*)&IDirect3DDevice8_GetTile_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetTile, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTile" + #endif + }, + // IDirect3DDevice8::SetTileNoWait + { + (OOVPA*)&IDirect3DDevice8_SetTileNoWait_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetTileNoWait, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTileNoWait" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer2 + { + (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer2_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer2" + #endif + }, + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant1 + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant1" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant4 + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant4" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstantNotInline + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" + #endif + }, + // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_DeletePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePixelShader" + #endif + }, + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::CreateTexture2 + { + (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture2" + #endif + }, + // IDirect3DDevice8::CreateTexture2B + { + (OOVPA*)&IDirect3DDevice8_CreateTexture2B_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture2B" + #endif + }, + // IDirect3DDevice8::CreateTexture2C + { + (OOVPA*)&IDirect3DDevice8_CreateTexture2C_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture2C" + #endif + }, + // IDirect3DDevice8::SetIndices (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetIndicesB + { + (OOVPA*)&IDirect3DDevice8_SetIndicesB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndicesB" + #endif + }, + // IDirect3DDevice8::SetTexture (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::SetTextureB + { + (OOVPA*)&IDirect3DDevice8_SetTextureB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureB" + #endif + }, + // IDirect3DDevice8::SetTextureC + { + (OOVPA*)&IDirect3DDevice8_SetTextureC_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureC" + #endif + }, + // IDirect3DDevice8::GetDisplayMode + { + (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // IDirect3DDevice8::RunPushBuffer + { + (OOVPA*)&IDirect3DDevice8_RunPushBuffer_1_0_4627, + + XTL::EmuIDirect3DDevice8_RunPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_RunPushBuffer" + #endif + }, + // IDirect3DDevice8::Begin + { + (OOVPA*)&IDirect3DDevice8_Begin_1_0_4627, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&IDirect3DDevice8_End_1_0_4627, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::Clear + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_4627, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::ClearB + { + (OOVPA*)&IDirect3DDevice8_ClearB_1_0_4627, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_ClearB" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_4627, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, + + XTL::EmuIDirect3DDevice8_EnableOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EnableOverlay" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer2 + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer2" + #endif + }, + // IDirect3DDevice8::UpdateOverlay + { + (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_4627, + + XTL::EmuIDirect3DDevice8_UpdateOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_UpdateOverlay" + #endif + }, + // IDirect3DDevice8::GetOverlayUpdateStatus + { + (OOVPA*)&IDirect3DDevice8_GetOverlayUpdateStatus_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetOverlayUpdateStatus" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4627, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // IDirect3DDevice8::GetViewport + { + (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullModeB" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::SetRenderState_NormalizeNormalsB + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormalsB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormalsB" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAliasB + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAliasB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAliasB" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnableB + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnableB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnableB" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnableB + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnableB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnableB" + #endif + }, + // IDirect3DDevice8::SetRenderState_LineWidth + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAliasB + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SwitchTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SwitchTexture" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // D3DDevice_GetStreamSource2 + { + (OOVPA*)&X_D3DDevice_GetStreamSource2_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetStreamSource2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetStreamSource2" + #endif + + }, + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShader (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::SetVertexShaderB + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderB_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderB" + #endif + }, + // IDirect3DDevice8::DrawVertices (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4361, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3DDevice8::DrawVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4627, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // IDirect3DDevice8::DrawVerticesUPB + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUPB_1_0_4627, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUPB" + #endif + }, + // IDirect3DDevice8::SetLight (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4627, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::LightEnable (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // IDirect3DVertexBuffer8::Lock2 + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_4627, + + XTL::EmuIDirect3DVertexBuffer8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock2" + #endif + }, + // IDirect3DVertexBuffer8::Lock2B + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock2B_1_0_4627, + + XTL::EmuIDirect3DVertexBuffer8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock2B" + #endif + }, + // IDirect3DResource8::Register (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::Release (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::ReleaseB + { + (OOVPA*)&IDirect3DResource8_ReleaseB_1_0_4627, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_ReleaseB" + #endif + }, + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + /* I forget why I had this in here... + // IDirect3DResource8::GetType + { + (OOVPA*)&IDirect3DResource8_GetType_1_0_4627, + + XTL::EmuIDirect3DResource8_GetType, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_GetType" + #endif + },*/ + // Get2DSurfaceDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_4627, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // Get2DSurfaceDescB + { + (OOVPA*)&Get2DSurfaceDescB_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDescB (XREF)" + #endif + }, + // Get2DSurfaceDescC + { + (OOVPA*)&Get2DSurfaceDescC_1_0_4627, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDescC" + #endif + }, + // Get2DSurfaceDescD + { + (OOVPA*)&Get2DSurfaceDescD_1_0_4627, + + XTL::EmuGet2DSurfaceDescD, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDescD" + #endif + }, + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // IDirect3DSurface8::LockRectB + { + (OOVPA*)&IDirect3DSurface8_LockRectB_1_0_4627, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRectB" + #endif + }, + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, + + XTL::EmuIDirect3DBaseTexture8_GetLevelCount, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DBaseTexture8_GetLevelCount" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel2 + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel2" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel2B + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2B_1_0_4627, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel2B" + #endif + }, + // IDirect3DTexture8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // IDirect3DVolumeTexture8::LockBox + { + (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_4627, + + XTL::EmuIDirect3DVolumeTexture8_LockBox, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVolumeTexture8_LockBox" + #endif + }, + // X_D3DDevice_GetViewportOffsetAndScale + { + (OOVPA*)&X_D3DDevice_GetViewportOffsetAndScale_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetViewportOffsetAndScale, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewportOffsetAndScale" + #endif + }, + // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // D3DDevice_SelectVertexShaderDirect + { + (OOVPA*)&X_D3DDevice_SelectVertexShaderDirect_1_0_4627, + + XTL::EmuIDirect3DDevice8_SelectVertexShaderDirect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShaderDirect" + #endif + }, + // D3DDevice_GetShaderConstantMode + { + (OOVPA*)&X_D3DDevice_GetShaderConstantMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetShaderConstantMode" + #endif + }, + // D3DDevice_GetVertexShader + { + (OOVPA*)&X_D3DDevice_GetVertexShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVertexShader" + #endif + }, + // D3DDevice_GetVertexShaderConstant + { + (OOVPA*)&X_D3DDevice_GetVertexShaderConstant_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetVertexShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVertexShaderConstant" + #endif + }, + // D3DDevice_SetVertexShaderInputDirect + { + (OOVPA*)&X_D3DDevice_SetVertexShaderInputDirect_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderInputDirect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderInputDirect" + #endif + }, + // D3DDevice_GetVertexShaderInput + { + (OOVPA*)&X_D3DDevice_GetVertexShaderInput_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetVertexShaderInput, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVertexShaderInput" + #endif + }, + // D3DDevice_RunVertexStateShader + { + (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_RunVertexStateShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_RunVertexStateShader" + #endif + }, + // D3DDevice_LoadVertexShader + { + (OOVPA*)&X_D3DDevice_LoadVertexShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // D3DDevice_LoadVertexShaderProgram + { + (OOVPA*)&X_D3DDevice_LoadVertexShaderProgram_1_0_4627, + + XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShaderProgram" + #endif + }, + // D3DDevice_SelectVertexShader + { + (OOVPA*)&X_D3DDevice_SelectVertexShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // D3DDevice_GetVertexShaderType + { + (OOVPA*)&X_D3DDevice_GetVertexShaderType_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetVertexShaderType, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVertexShaderType" + #endif + }, + // D3DDevice_GetVertexShaderDeclaration + { + (OOVPA*)&X_D3DDevice_GetVertexShaderDeclaration_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetVertexShaderDeclaration, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVertexShaderDeclaration" + #endif + }, + // D3DDevice_GetVertexShaderFunction + { + (OOVPA*)&X_D3DDevice_GetVertexShaderFunction_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetVertexShaderFunction, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVertexShaderFunction" + #endif + }, + // D3DDevice_SetVertexShaderInput + { + (OOVPA*)&X_D3DDevice_SetVertexShaderInput_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderInput, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderInput" + #endif + }, + // D3DDevice_Release + { + (OOVPA*)&X_D3DDevice_Release_1_0_4627, + + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Release" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4721, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader_4721" + #endif + }, + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // IDirect3DDevice8::SetScissors + { + (OOVPA*) &D3DDevice_SetScissors_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScissors" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*) &D3DDevice_SetPalette_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::SetBackBufferScale + { + (OOVPA*)&IDirect3DDevice8_SetBackBufferScale_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetBackBufferScale, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetBackBufferScale" + #endif + }, + // IDirect3DDevice8::Reset + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4627, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // IDirect3DDevice8_SetPixelShaderProgram + { + (OOVPA*)&IDirect3DDevice8_SetPixelShaderProgram_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderProgram" + #endif + }, + // IDirect3DDevice8_GetDisplayFieldStatus + { + (OOVPA*)&IDirect3DDevice8_GetDisplayFieldStatus_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayFieldStatus" + #endif + }, + // IDirect3DDevice8_SetScreenSpaceOffset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset" + #endif + }, + // IDirect3DDevice8_CreateStateBlock + { + (OOVPA*)&IDirect3DDevice8_CreateStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateStateBlock" + #endif + }, + // IDirect3DDevice8_InsertCallback + { + (OOVPA*)&IDirect3DDevice8_InsertCallback_1_0_4627, + + XTL::EmuIDirect3DDevice8_InsertCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertCallback" + #endif + }, + // IDirect3DDevice8_DrawRectPatch + { + (OOVPA*)&IDirect3DDevice8_DrawRectPatch_1_0_4627, + + XTL::EmuIDirect3DDevice8_DrawRectPatch, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawRectPatch" + #endif + }, + // IDirect3DDevice8_GetProjectionViewportMatrix + { + (OOVPA*)&IDirect3DDevice8_GetProjectionViewportMatrix_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetProjectionViewportMatrix" + #endif + }, + // IDirect3DDevice8_BackFillMode (* unchanged since 4531 *) + { + (OOVPA*)&IDirect3DDevice8_BackFillMode_1_0_4531, + + XTL::EmuIDirect3DDevice8_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BackFillMode" + #endif + }, + // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // D3DDevice_SetRenderState_MultiSampleMask + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // D3DDevice_SetRenderState_LogicOp + { + (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // D3D::SetFence (XREF) (* unchanged since 4134 *) + { + (OOVPA*)&D3D_SetFence_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "D3D::SetFence (XREF)" + #endif + }, + // IDirect3DDevice8::InsertFence + { + (OOVPA*)&D3DDevice_InsertFence_1_0_4627, + + XTL::EmuIDirect3DDevice8_InsertFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertFence" + #endif + }, + // D3D::CDevice::KickOff + { + (OOVPA*)&D3D_CDevice_KickOff_1_0_4627, + + XTL::EmuD3DDevice_KickOff, + + #ifdef _DEBUG_TRACE + "D3D::CDevice::KickOff" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant + { + (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant_4928" + #endif + }, + // IDirect3DDevice8::SetRenderState_TwoSidedLighting (* unchanged since 4134 *) + // Beware of the typo... + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" + #endif + }, + // D3DDevice_GetTexture2 + { + (OOVPA*)&D3DDevice_GetTexture2_1_0_4627, + XTL::EmuIDirect3DDevice8_GetTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTexture2" + #endif + }, + // D3D::CDevice::SetStateVB + /*{ + (OOVPA*)&D3D_CDevice_SetStateVB_1_0_4627, + + XTL::EmuD3DDevice_SetStateVB, + + #ifdef _DEBUG_TRACE + "D3D::CDevice::SetStateVB" + #endif + },*/ + // D3D::CDevice::SetStateUP + /*{ + (OOVPA*)&D3D_CDevice_SetStateUP_1_0_4627, + + XTL::EmuD3DDevice_SetStateUP, + + #ifdef _DEBUG_TRACE + "D3D::CDevice::SetStateUP" + #endif + },*/ + // IDirect3DDevice8::DrawIndexedVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4627, + + XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVerticesUP" + #endif + }, + // IDirect3DDevice8::SetStipple + { + (OOVPA*)&D3DDevice_SetStipple_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetStipple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStipple" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_DeletePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePixelShader" + #endif + }, + // D3DDevice_PersistDisplay + { + (OOVPA*)&D3DDevice_PersistDisplay_1_0_4627, + XTL::EmuIDirect3DDevice8_PersistDisplay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice_PersistDisplay" + #endif + }, + // D3DDevice_PersistDisplay + { + (OOVPA*)&D3DDevice_PersistDisplay_1_0_4928, + XTL::EmuIDirect3DDevice8_PersistDisplay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_PersistDisplay_4928" + #endif + }, + // IDirect3DDevice8::SetSwapCallback + { + (OOVPA*)&IDirect3DDevice8_SetSwapCallback_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetSwapCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSwapCallback" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&D3DDevice_BeginStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&D3DDevice_EndStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // IDirect3DDevice8::ApplyStateBlock + { + (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_ApplyStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_ApplyStateBlock" + #endif + }, + // IDirect3DDevice8::CaptureStateBlock + { + (OOVPA*)&D3DDevice_CaptureStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_CaptureStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CaptureStateBlock" + #endif + }, + // IDirect3DDevice8::DeleteStateBlock + { + (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_DeleteStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteStateBlock" + #endif + }, + // IDirect3DDevice8::SetVertexData4ub (* unchanged since 4361 *) + { + (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4ub, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4ub" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // D3D_BlockOnTime + { + (OOVPA*)&D3D_BlockOnTime_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "D3D::BlockOnTime (XREF)" + #endif + }, + // D3DDevice_BlockOnFence + { + (OOVPA*)&D3DDevice_BlockOnFence_1_0_4627, + + XTL::EmuIDirect3DDevice8_BlockOnFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockOnFence" + #endif + }, + // Lock3DSurface + { + (OOVPA*)&Lock3DSurface_1_0_4627, + + XTL::EmuLock3DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock3DSurface" + #endif + }, + // Lock2DSurface (* unchanged since 3925 *) + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // IDirect3DDevice8::CreateImageSurface + { + (OOVPA*)&D3DDevice_CreateImageSurface_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateImageSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateImageSurface" + #endif + }, + // IDirect3DCubeTexture8::GetCubeMapSurface2 + { + (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, + + XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&D3DDevice_SetSoftDisplayFilter_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&D3DDevice_SetFlickerFilter_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::GetPixelShader + { + (OOVPA*)&D3DDevice_GetPixelShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetPixelShader" + #endif + }, + // IDirect3DDevice8::CreatePalette2 + { + (OOVPA*)&D3DDevice_CreatePalette2_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreatePalette2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette2" + #endif + }, + // IDirect3DPalette8::Lock2 + { + (OOVPA*)&D3DPalette_Lock2_1_0_4627, + + XTL::EmuIDirect3DPalette8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock2" + #endif + }, + // IDirect3DDevice8::BeginPushBuffer + { + (OOVPA*)&D3DDevice_BeginPushBuffer_1_0_4627, + + XTL::EmuIDirect3DDevice8_BeginPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPushBuffer" + #endif + }, + // IDirect3DDevice8::EndPushBuffer + { + (OOVPA*)&D3DDevice_EndPushBuffer_1_0_4627, + + XTL::EmuIDirect3DDevice8_EndPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPushBuffer" + #endif + }, + // D3DDevice_GetPersistedSurface2 + { + (OOVPA*)&D3DDevice_GetPersistedSurface2_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetPersistedSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetPersistedSurface2 ***" + #endif + }, + // D3DDevice_SetModelView + { + (OOVPA*)&D3DDevice_SetModelView_1_0_4627, + XTL::EmuIDirect3DDevice8_SetModelView, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetModelView" + #endif + }, + // D3D_LazySetPointParams_1_0_4627 + { + (OOVPA*)&D3D_LazySetPointParams_1_0_4627, + XTL::EmuD3D_LazySetPointParams, + + #ifdef _DEBUG_TRACE + "D3D::LazySetPointParams (XRef)" + #endif + }, + // D3DDevice_SetDepthClipPlanes + { + (OOVPA*)&D3DDevice_SetDepthClipPlanes_1_0_4627, + XTL::EmuIDirect3DDevice8_SetDepthClipPlanes, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetDepthClipPlanes" + #endif + }, + // IDirect3DDevice8::GetMaterial + { + (OOVPA*)&D3DDevice_GetMaterial_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetMaterial" + #endif + }, + // IDirect3DDevice8::KickPushBuffer + { + (OOVPA*)&D3DDevice_KickPushBuffer_1_0_4627, + + XTL::EmuD3DDevice_KickOff, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_KickPushBuffer" + #endif + }, + // IDirect3DDevice8::GetBackMaterial + { + (OOVPA*)&D3DDevice_GetBackMaterial_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetBackMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackMaterial" + #endif + }, + // IDirect3DDevice8::SetBackMaterial + { + (OOVPA*)&D3DDevice_SetBackMaterial_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetBackMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetBackMaterial" + #endif + }, + // IDirect3DCubeTexture8::LockRect + // TODO: This needs to be verified on 4361, not just 4242! + /*{ + (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, + + XTL::EmuIDirect3DCubeTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_LockRect_4242" + #endif + },*/ +}; + +// ****************************************************************** +// * D3D8_1_0_4627_SIZE +// ****************************************************************** +uint32 D3D8_1_0_4627_SIZE = sizeof(D3D8_1_0_4627); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.h new file mode 100644 index 000000000..99b6ed280 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.h @@ -0,0 +1,44 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5233.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_5233_H +#define D3D8_1_0_5233_H + +#include "OOVPA.h" + +extern SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5233; + +extern OOVPATable D3D8_1_0_5233[]; +extern uint32 D3D8_1_0_5233_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.inl new file mode 100644 index 000000000..a34c0dce3 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5233.inl @@ -0,0 +1,3694 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5233.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3D8_CreateDevice +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDevice_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x0A : jnz +0x0A + { 0x0A, 0x75 }, // (Offset,Value)-Pair #1 + { 0x0B, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x80 : repe stosd + { 0x80, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x81, 0xAB }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x83 : mov eax, esi + { 0x83, 0x8B }, // (Offset,Value)-Pair #5 + { 0x84, 0xC6 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0x91 : retn 0x18 + { 0x91, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x92, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDisplayFieldStatus +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x90 }, + { 0x0E, 0x04 }, + { 0x16, 0x00 }, + { 0x1E, 0x56 }, + { 0x26, 0xD2 }, + { 0x2E, 0x89 }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetViewport +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5233 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetViewport+0x0A : mov eax, [esi+0x15B4] + { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0B, 0x86 }, // (Offset,Value)-Pair #2 + { 0x0C, 0xB4 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x15 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetViewport+0x63 : shl edi, cl + { 0x63, 0xD3 }, // (Offset,Value)-Pair #5 + { 0x64, 0xE7 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetViewport+0xDF : and ecx, 0x0F + { 0xDF, 0x83 }, // (Offset,Value)-Pair #7 + { 0xE0, 0xE1 }, // (Offset,Value)-Pair #8 + { 0xE1, 0x0F }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LoadVertexShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x45 }, + { 0x14, 0x75 }, + { 0x21, 0x8B }, + { 0x2D, 0x8B }, + { 0x35, 0x04 }, + { 0x40, 0x00 }, + { 0x4B, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstantNotInline +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x26 : cmp eax, 0x10 + { 0x26, 0x83 }, // (Offset,Value)-Pair #1 + { 0x27, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x28, 0x10 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x29 : jnb +0x1F + { 0x29, 0x73 }, // (Offset,Value)-Pair #4 + { 0x2A, 0x1F }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x33 : or eax, 0x0B80 + { 0x33, 0x0D }, // (Offset,Value)-Pair #6 + { 0x34, 0x80 }, // (Offset,Value)-Pair #7 + { 0x35, 0x0B }, // (Offset,Value)-Pair #8 + { 0x36, 0x00 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x3B : rep movsd + { 0x3B, 0xF3 }, // (Offset,Value)-Pair #10 + { 0x3C, 0xA5 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x43 : emms + { 0x43, 0x0F }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Clear +// ****************************************************************** +LOOVPA<8> IDirect3DDevice8_Clear_1_0_5233 = +{ + 1, // Large == 1 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x8A }, + { 0x3C, 0x8B }, + { 0x5B, 0x00 }, + { 0x7A, 0xFD }, + { 0x99, 0x25 }, + { 0xB8, 0x00 }, + { 0xD7, 0x75 }, + { 0xF6, 0xFF }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetPixelShader_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x75 }, + { 0x3E, 0x0D }, + { 0x60, 0x8B }, + { 0x7E, 0x04 }, + { 0x9E, 0x20 }, + { 0xBE, 0x08 }, + { 0xE1, 0xF6 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateTexture2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreateTexture2_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateTexture2+0x04 : lea eax, [esp+0x20] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x07, 0x20 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreateTexture2+0x10 : setz dl + { 0x10, 0x0F }, // (Offset,Value)-Pair #3 + { 0x11, 0x94 }, // (Offset,Value)-Pair #4 + { 0x12, 0xC2 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateTexture2+0x2E : push 0x00 + { 0x2E, 0x6A }, // (Offset,Value)-Pair #6 + { 0x2F, 0x00 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreateTexture2+0x57 : call [abs] + { 0x57, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CreateTexture2+0x7C : jnz +0x0D + { 0x7C, 0x75 }, // (Offset,Value)-Pair #9 + { 0x7D, 0x0D }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_CreateTexture2+0xB2 : retn 0x1C + { 0xB2, 0xC2 }, // (Offset,Value)-Pair #11 + { 0xB3, 0x1C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_CullMode +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5233 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_DXSRSCULLMODE, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3DDevice8_SetRenderState_CullMode+0x19 : mov dword ptr [eax], 0x40308 + { 0x19, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x1B, 0x08 }, // (Offset,Value)-Pair #2 + { 0x1C, 0x03 }, // (Offset,Value)-Pair #3 + { 0x1D, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_CullMode+0x24 : add eax, 8 + { 0x24, 0x83 }, // (Offset,Value)-Pair #5 + { 0x25, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x26, 0x08 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_CullMode+0x30 : retn 4 + { 0x30, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x31, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_CullMode+0x53 : add edx, 0x404 + { 0x53, 0x81 }, // (Offset,Value)-Pair #10 + { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x55, 0x04 }, // (Offset,Value)-Pair #12 + { 0x56, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0F, 0xB4 }, + { 0x10, 0x15 }, + { 0x16, 0x0D }, + { 0x1F, 0x3C }, + { 0x34, 0x36 }, + { 0x58, 0x05 }, + { 0x75, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0D : mov eax, [edi+XXXXh] + { 0x0D, 0x8B }, + { 0x0E, 0x87 }, + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+1D : and dl, 3Ch + { 0x1D, 0x80 }, + { 0x1E, 0xE2 }, + { 0x1F, 0x3C }, + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+20 : xor esi, esi + { 0x20, 0x33 }, + { 0x21, 0xF6 }, + + // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+22 : cmp dl, 20h + { 0x22, 0x80 }, + { 0x23, 0xFA }, + { 0x24, 0x20 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x036C] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x86 }, // (Offset,Value)-Pair #2 + { 0x09, 0x6C }, // (Offset,Value)-Pair #3 + { 0x0A, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x2F : nop + { 0x2F, 0x90 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x41 : retn 0x04 + { 0x41, 0xC2 }, // (Offset,Value)-Pair #6 + { 0x42, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x13, 0x8B }, + { 0x22, 0xC9 }, + { 0x34, 0x89 }, + { 0x46, 0x0C }, + { 0x5A, 0x74 }, + { 0x6D, 0x8B }, + { 0x7C, 0xCE }, + { 0x8E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetIndices +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0F, 0x10 }, + { 0x20, 0xC7 }, + { 0x31, 0xC0 }, + { 0x42, 0x78 }, + { 0x53, 0xBE }, + { 0x64, 0x89 }, + { 0x75, 0x10 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTexture +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x44 }, + { 0x3E, 0xE8 }, + { 0x5F, 0x8B }, + { 0x7E, 0x00 }, + { 0x9E, 0x00 }, + { 0xBE, 0x89 }, + { 0xDE, 0xFF }, + { 0xFE, 0xE2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureB +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetTextureB_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1B, 0x89 }, + { 0x2B, 0xF8 }, + { 0x3B, 0x51 }, + { 0x4B, 0x00 }, + { 0x5B, 0x1C }, + { 0x6B, 0x41 }, + { 0x7B, 0x00 }, + { 0x8B, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Begin +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_Begin_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0xE8 }, + { 0x0C, 0x8B }, + { 0x13, 0xE8 }, + { 0x1A, 0x24 }, + { 0x21, 0x00 }, + { 0x28, 0x89 }, + { 0x2F, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_Swap_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1B, 0xE8 }, + { 0x38, 0xC3 }, + { 0x55, 0xC0 }, + { 0x72, 0x3F }, + { 0x8F, 0x8E }, + { 0xAC, 0xC6 }, + { 0xC9, 0xC0 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVertices +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x5E }, + { 0x3E, 0x17 }, + { 0x5E, 0x00 }, + { 0x7E, 0x8B }, + { 0x9E, 0x89 }, + { 0xBE, 0x2B }, + { 0xDE, 0x00 }, + { 0xFE, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DPalette8_Lock2 +// ****************************************************************** +SOOVPA<13> IDirect3DPalette8_Lock2_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x8B }, + { 0x0A, 0x75 }, + { 0x12, 0x8B }, + { 0x13, 0x46 }, + { 0x16, 0x00 }, + { 0x1A, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_LockRect +// ****************************************************************** +SOOVPA<17> IDirect3DTexture8_LockRect_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x14 }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x8B }, + { 0x17, 0x50 }, + { 0x20, 0xC2 }, + { 0x21, 0x14 }, + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_5233 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x15C0] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x55, 0x15 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_5344 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x15F4] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0xF4 }, // (Offset,Value)-Pair #7 + { 0x55, 0x15 }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer+0x0D : jnz +0x19 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x19 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer+0x15 : mov esi, [ecx+eax*4+0x15C0] + { 0x15, 0x8B }, // (Offset,Value)-Pair #6 + { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x17, 0x81 }, // (Offset,Value)-Pair #8 + { 0x18, 0xC0 }, // (Offset,Value)-Pair #9 + { 0x19, 0x15 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer+0x40 : retn 0x04 + { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x41, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_UpdateOverlay +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5233 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_UpdateOverlay+0x13 : mov [eax+0x17BC], ecx + { 0x13, 0x89 }, // (Offset,Value)-Pair #1 + { 0x14, 0x88 }, // (Offset,Value)-Pair #2 + { 0x15, 0xBC }, // (Offset,Value)-Pair #3 + { 0x16, 0x17 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_UpdateOverlay+0x92 : and eax, 0xFFFFFFFE + { 0x92, 0x83 }, // (Offset,Value)-Pair #5 + { 0x93, 0xE0 }, // (Offset,Value)-Pair #6 + { 0x94, 0xFE }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_UpdateOverlay+0xB0 : mov [esi+0x8930], eax + { 0xB0, 0x89 }, // (Offset,Value)-Pair #8 + { 0xB1, 0x86 }, // (Offset,Value)-Pair #9 + { 0xB2, 0x30 }, // (Offset,Value)-Pair #10 + { 0xB3, 0x89 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetOverlayUpdateStatus +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x1FB0] + { 0x05, 0x8B }, // (Offset,Value)-Pair #1 + { 0x06, 0x88 }, // (Offset,Value)-Pair #2 + { 0x07, 0xB0 }, // (Offset,Value)-Pair #3 + { 0x08, 0x1F }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x0C : mov esi, [eax+0x1988] + { 0x0C, 0x8B }, // (Offset,Value)-Pair #5 + { 0x0D, 0xB0 }, // (Offset,Value)-Pair #6 + { 0x0E, 0x88 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x19 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x16 : setnz dl + { 0x16, 0x0F }, // (Offset,Value)-Pair #9 + { 0x17, 0x95 }, // (Offset,Value)-Pair #10 + { 0x18, 0xC2 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x1C : retn + { 0x1C, 0xC3 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, // (Offset,Value)-Pair #1 + { 0x06, 0x00 }, // (Offset,Value)-Pair #2 + { 0x07, 0x6A }, // (Offset,Value)-Pair #3 + { 0x08, 0x00 }, // (Offset,Value)-Pair #4 + { 0x09, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0A, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x17 : add eax, 0x195C + { 0x17, 0x05 }, // (Offset,Value)-Pair #7 + { 0x18, 0x5C }, // (Offset,Value)-Pair #8 + { 0x19, 0x19 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetShaderConstantMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0xFD }, + { 0x3C, 0x8B }, + { 0x5B, 0x0B }, + { 0x7A, 0x56 }, + { 0x99, 0xC0 }, + { 0xB8, 0x00 }, + { 0xD7, 0x89 }, + { 0xF6, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetRenderTarget2 +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_GetRenderTarget2_1_0_5233 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x56 }, + { 0x06, 0x8B }, + { 0x0A, 0x00 }, + { 0x0E, 0x74 }, + { 0x16, 0x8B }, + { 0x17, 0xC6 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDepthStencilSurface2 +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x56 }, + { 0x06, 0x8B }, + { 0x0A, 0x00 }, + { 0x0E, 0x75 }, + { 0x12, 0x5E }, + { 0x1A, 0x8B }, + { 0x1B, 0xC6 }, + } +}; + +// ****************************************************************** +// * IDirect3D8_GetDeviceCaps +// ****************************************************************** +SOOVPA<7> IDirect3D8_GetDeviceCaps_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x85 }, + { 0x0A, 0x08 }, + { 0x10, 0x83 }, + { 0x16, 0x08 }, + { 0x1C, 0xC2 }, + { 0x22, 0x0C }, + { 0x29, 0x33 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVertices +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x12, 0x8B }, + { 0x26, 0x8B }, + { 0x37, 0x00 }, + { 0x4A, 0x27 }, + { 0x5D, 0x89 }, + { 0x70, 0x75 }, + { 0x83, 0x40 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetLight +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x390] + { 0x11, 0x8B }, // (Offset,Value)-Pair #1 + { 0x12, 0xBD }, // (Offset,Value)-Pair #2 + { 0x13, 0x90 }, // (Offset,Value)-Pair #3 + { 0x14, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetLight+0x30 : shl eax, 0x04 + { 0x30, 0xC1 }, // (Offset,Value)-Pair #5 + { 0x31, 0xE0 }, // (Offset,Value)-Pair #6 + { 0x32, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetLight+0xBD : rep stosb + { 0xBD, 0xF3 }, // (Offset,Value)-Pair #8 + { 0xBE, 0xAB }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetLight+0xFD : mov ecx, [ebx+0x68] + { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 + { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 + { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetLight +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetLight_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x00 }, + { 0x3E, 0x89 }, + { 0x5E, 0x00 }, + { 0x7E, 0x03 }, + { 0x9E, 0xC8 }, + { 0xBE, 0xC9 }, + { 0xDE, 0x03 }, + { 0xFE, 0xC1 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5233 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0390] + { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 + { 0x10, 0x9E }, // (Offset,Value)-Pair #2 + { 0x11, 0x90 }, // (Offset,Value)-Pair #3 + { 0x12, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_LightEnable+0x6B : test eax, eax + { 0x6B, 0x85 }, // (Offset,Value)-Pair #5 + { 0x6C, 0xC0 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_LightEnable+0x9E : mov eax, [eax+0x8C] + { 0x9E, 0x8B }, // (Offset,Value)-Pair #7 + { 0x9F, 0x80 }, // (Offset,Value)-Pair #8 + { 0xA0, 0x8C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_LightEnable+0xBC : jz +0x12 + { 0xBC, 0x74 }, // (Offset,Value)-Pair #10 + { 0xBD, 0x12 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 + { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 + { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x8D }, + { 0x3E, 0xC7 }, + { 0x5E, 0xC7 }, + { 0x7E, 0x00 }, + { 0x9E, 0x85 }, + { 0xBE, 0x01 }, + { 0xDE, 0x00 }, + { 0xFE, 0x83 }, + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_GetDesc +// ****************************************************************** +SOOVPA<7> IDirect3DVertexBuffer8_GetDesc_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x74 }, + { 0x0A, 0xC7 }, + { 0x0E, 0x00 }, + { 0x15, 0x89 }, + { 0x16, 0x46 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShader +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_5233 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 + { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x08, 0x01 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShader+0x11 : mov eax, [esi+0x037C] + { 0x11, 0x8B }, // (Offset,Value)-Pair #4 + { 0x12, 0x86 }, // (Offset,Value)-Pair #5 + { 0x13, 0x7C }, // (Offset,Value)-Pair #6 + { 0x14, 0x03 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetVertexShader+0x90 : retn 0x04 + { 0x90, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x91, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShader+0xB0 : mov dword ptr [eax], 0x4194C + { 0xB0, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB1, 0x00 }, // (Offset,Value)-Pair #11 + { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 + { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 + { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTileNoWait +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetTileNoWait_1_0_5233 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTileNoWait+0x06 : sub esp, 0x18 + { 0x06, 0x83 }, // (Offset,Value)-Pair #1 + { 0x07, 0xEC }, // (Offset,Value)-Pair #2 + { 0x08, 0x18 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTileNoWait+0x15 : cmp [esi+4], eax + { 0x15, 0x39 }, // (Offset,Value)-Pair #4 + { 0x16, 0x46 }, // (Offset,Value)-Pair #5 + { 0x17, 0x04 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetTileNoWait+0x3D : lea edi, [edx+ecx*8+0x1660] + { 0x3D, 0x8D }, // (Offset,Value)-Pair #7 + { 0x3E, 0xBC }, // (Offset,Value)-Pair #8 + { 0x3F, 0xCA }, // (Offset,Value)-Pair #9 + { 0x40, 0x60 }, // (Offset,Value)-Pair #10 + { 0x41, 0x16 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_AddRef +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5233 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_AddRef+0x05 : mov ecx, [eax+0x04FC] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x88 }, // (Offset,Value)-Pair #3 + { 0x07, 0xFC }, // (Offset,Value)-Pair #4 + { 0x08, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_AddRef+0x0C : mov [eax+0x04FC], ecx + { 0x0C, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 + { 0x0E, 0xFC }, // (Offset,Value)-Pair #9 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectD3DDevice8_Release +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_Release_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x00 }, + { 0x13, 0xCF }, + { 0x1A, 0x10 }, + { 0x21, 0x05 }, + { 0x28, 0x00 }, + { 0x2F, 0x89 }, + { 0x36, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3D8_KickOffAndWaitForIdle +// ****************************************************************** +SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_5233 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3D8_KickOffAndWaitForIdle+0x05 : mov ecx, [eax+0x2C] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x48 }, // (Offset,Value)-Pair #3 + { 0x07, 0x2C }, // (Offset,Value)-Pair #4 + + // IDirect3D8_KickOffAndWaitForIdle+0x08 : push 2 + { 0x08, 0x6A }, // (Offset,Value)-Pair #5 + { 0x09, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_KickOffAndWaitForIdle+0x0A : push ecx + { 0x0A, 0x51 }, // (Offset,Value)-Pair #7 + + // IDirect3D8_KickOffAndWaitForIdle+0x0B : call [addr] + { 0x0B, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3D8_KickOffAndWaitForIdle+0x10 : retn + { 0x10, 0xC3 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CopyRects +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_CopyRects_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xE1 }, + { 0x42, 0x84 }, + { 0x5E, 0x24 }, + { 0x7E, 0x8B }, + { 0x9E, 0x1C }, + { 0xBE, 0x00 }, + { 0xDE, 0xBD }, + { 0xFE, 0x4C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetScissors +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x2C }, + { 0x28, 0x44 }, + { 0x60, 0x38 }, + { 0x7D, 0x54 }, + { 0xAC, 0x03 }, + { 0xB8, 0xD9 }, + { 0xD4, 0x1C }, + { 0xFE, 0x4C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetScreenSpaceOffset +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0AA8] + { 0x13, 0xD9 }, // (Offset,Value)-Pair #1 + { 0x14, 0x9E }, // (Offset,Value)-Pair #2 + { 0x15, 0xA8 }, // (Offset,Value)-Pair #3 + { 0x16, 0x0A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetScreenSpaceOffset+0x33 : jb +0x05 + { 0x33, 0x72 }, // (Offset,Value)-Pair #5 + { 0x34, 0x05 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetScreenSpaceOffset+0x46 : retn 0x08 + { 0x46, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x47, 0x08 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleMode +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233 = +{ + 0, // Large == 0 + 13, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x04 : mov ecx, ds:dword_XXXX + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x0F : mov edx, [ecx+XXXXh] + { 0x0F, 0x8B }, + { 0x10, 0x91 }, + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x15 : cmp edx, [ecx+XXXXh] + { 0x15, 0x3B }, + { 0x16, 0x91 }, + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x1B : jnz short + { 0x1B, 0x75 }, + { 0x1C, 0x07 }, + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x1D : xor edx, edx + { 0x1D, 0x33 }, + { 0x1E, 0xD2 }, + + // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x24 : retn 4 + { 0x24, 0xC2 }, + { 0x25, 0x04 }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE }, + + { 0x03, 0x04 }, + { 0x0F, 0x8B }, + { 0x15, 0x3B }, + { 0x1C, 0x14 }, + { 0x1D, 0x8D }, + { 0x2C, 0xE8 }, + { 0x32, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE }, + + { 0x03, 0x04 }, + { 0x0F, 0x8B }, + { 0x15, 0x3B }, + { 0x1C, 0x07 }, // ** + { 0x1D, 0x33 }, // ** + { 0x1F, 0xE8 }, // ** + { 0x25, 0x04 }, // ** + } +}; + +// ****************************************************************** +// * D3D::CommonSetRenderTarget +// ****************************************************************** +SOOVPA<8> D3D_CommonSetRenderTarget_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_COMMONSETRENDERTARGET, // XRef Is Saved + 0, // XRef Not Used + + { + { 0x02, 0x1C }, + { 0x20, 0x30 }, + { 0x6B, 0x06 }, + { 0x85, 0x4C }, + { 0xA5, 0x10 }, + { 0xB8, 0x0C }, + { 0xDC, 0xD9 }, + { 0xFF, 0x75 }, + } +}; + +// ****************************************************************** +// * D3D::SetFence +// ****************************************************************** +SOOVPA<7> D3D_SetFence_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_D3D_SETFENCE, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x0E, 0x05 }, + { 0x18, 0xC9 }, + { 0x3E, 0x3F }, + { 0x5E, 0x28 }, + { 0x86, 0x5D }, + { 0x98, 0xE8 }, + { 0xA2, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_InsertFence +// ****************************************************************** +SOOVPA<5> IDirect3DDevice8_InsertFence_1_0_5233 = +{ + 0, // Large == 0 + 5, // Count == 5 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x03, XREF_D3D_SETFENCE }, + + { 0x00, 0x6A }, + { 0x01, 0x00 }, + { 0x02, 0xE8 }, + { 0x07, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_IsFencePending +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_IsFencePending_1_0_5233 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x01, XREF_D3DDEVICE }, + + { 0x07, 0x30 }, + { 0x0A, 0x2C }, + { 0x10, 0xD1 }, + { 0x17, 0x1B }, + { 0x1C, 0x04 }, + } +}; + +// ****************************************************************** +// * D3D::BlockOnTime +// ****************************************************************** +SOOVPA<6> D3D_BlockOnTime_1_0_5233 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XREF_D3D_BLOCKONTIME, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x09, 0x30 }, + { 0x27, 0x07 }, + { 0x55, 0x7E }, + { 0x7B, 0x58 }, + { 0xE3, 0x80 }, + { 0xF5, 0x2C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockOnFence +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_BlockOnFence_1_0_5233 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x08, XREF_D3D_BLOCKONTIME }, + + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x6A }, + { 0x06, 0x50 }, + { 0x0D, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPalette +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xBE }, // (Offset,Value)-Pair #3 + { 0x10, 0x48 }, // (Offset,Value)-Pair #4 + { 0x11, 0x0B }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPalette+0x51 : add ebp, 0x80000 + { 0x51, 0x81 }, // (Offset,Value)-Pair #6 + { 0x52, 0xC5 }, // (Offset,Value)-Pair #7 + { 0x53, 0x00 }, // (Offset,Value)-Pair #8 + { 0x54, 0x00 }, // (Offset,Value)-Pair #9 + { 0x55, 0x08 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 + { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x17C8] + { 0x1C, 0x8B }, // (Offset,Value)-Pair #1 + { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 + { 0x1E, 0xC8 }, // (Offset,Value)-Pair #3 + { 0x1F, 0x17 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetFlickerFilter+0x22 : push 0; push esi; push 0x0B; push eax + { 0x22, 0x6A }, // (Offset,Value)-Pair #5 + { 0x23, 0x00 }, // (Offset,Value)-Pair #6 + { 0x24, 0x56 }, // (Offset,Value)-Pair #7 + { 0x25, 0x6A }, // (Offset,Value)-Pair #8 + { 0x26, 0x0B }, // (Offset,Value)-Pair #9 + { 0x27, 0x50 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x40, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5344 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x17C8] + { 0x1C, 0x8B }, // (Offset,Value)-Pair #1 + { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 + { 0x1E, 0xF8 }, // (Offset,Value)-Pair #3 + { 0x1F, 0x17 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetFlickerFilter+0x22 : push 0; push esi; push 0x0B; push eax + { 0x22, 0x6A }, // (Offset,Value)-Pair #5 + { 0x23, 0x00 }, // (Offset,Value)-Pair #6 + { 0x24, 0x56 }, // (Offset,Value)-Pair #7 + { 0x25, 0x6A }, // (Offset,Value)-Pair #8 + { 0x26, 0x0B }, // (Offset,Value)-Pair #9 + { 0x27, 0x50 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x40, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x17C8] + { 0x25, 0x8B }, // (Offset,Value)-Pair #1 + { 0x26, 0x90 }, // (Offset,Value)-Pair #2 + { 0x27, 0xC8 }, // (Offset,Value)-Pair #3 + { 0x28, 0x17 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x2B : push 0; push esi; push 0x0E; push edx + { 0x2B, 0x6A }, // (Offset,Value)-Pair #5 + { 0x2C, 0x00 }, // (Offset,Value)-Pair #6 + { 0x2D, 0x56 }, // (Offset,Value)-Pair #7 + { 0x2E, 0x6A }, // (Offset,Value)-Pair #8 + { 0x2F, 0x0E }, // (Offset,Value)-Pair #9 + { 0x30, 0x52 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x17F8] + { 0x25, 0x8B }, // (Offset,Value)-Pair #1 + { 0x26, 0x90 }, // (Offset,Value)-Pair #2 + { 0x27, 0xF8 }, // (Offset,Value)-Pair #3 + { 0x28, 0x17 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x2B : push 0; push esi; push 0x0E; push edx + { 0x22, 0x6A }, // (Offset,Value)-Pair #5 + { 0x23, 0x00 }, // (Offset,Value)-Pair #6 + { 0x24, 0x56 }, // (Offset,Value)-Pair #7 + { 0x25, 0x6A }, // (Offset,Value)-Pair #8 + { 0x26, 0x0E }, // (Offset,Value)-Pair #9 + { 0x27, 0x52 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TwoSidedLighting +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x09 : cmp eax, [esi+4] + { 0x09, 0x3B }, // (Offset,Value)-Pair #3 + { 0x0A, 0x46 }, // (Offset,Value)-Pair #4 + { 0x0B, 0x04 }, // (Offset,Value)-Pair #5 + + // *** + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x18 : mov dword ptr [eax], 417C4h + { 0x18, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x19, 0x00 }, // (Offset,Value)-Pair #7 + { 0x1A, 0xC4 }, // (Offset,Value)-Pair #8 + { 0x1B, 0x17 }, // (Offset,Value)-Pair #9 + { 0x1C, 0x04 }, // (Offset,Value)-Pair #10 + { 0x1D, 0x00 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x7D : retn 0x04 + { 0x7D, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x7E, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Unknown1 +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_Unknown1_1_0_5233 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Unknown1+0x00 : xor eax, eax + { 0x00, 0x33 }, + { 0x01, 0xC0 }, + // IDirect3DDevice8_Unknown1+0x13 : call ds:AvSendTVEncoderOption + { 0x13, 0xFF }, + { 0x14, 0x15 }, + { 0x15, 0x08 }, + { 0x16, 0x94 }, + { 0x17, 0x19 }, + { 0x18, 0x00 }, + // IDirect3DDevice8_Unknown1+0x1E : retn + { 0x1E, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginPush +// ****************************************************************** +SOOVPA<6> D3DDevice_BeginPush_1_0_5344 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x6A }, + { 0x07, 0x00 }, + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x12, 0x89 }, + { 0x16, 0xE9 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndPush +// ****************************************************************** +SOOVPA<8> D3DDevice_EndPush_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x01 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x0D }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x1958], eax + { 0x0A, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0B, 0x81 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x58 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x19 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x11, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_SampleAlpha +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_SampleAlpha_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0xC1 }, + { 0x15, 0x0B }, + { 0x1C, 0x8B }, + { 0x28, 0x85 }, + { 0x30, 0x07 }, + { 0x3B, 0xC7 }, + { 0x44, 0x83 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMask +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0xA3 }, + { 0x12, 0x56 }, + { 0x1C, 0x8B }, + { 0x2A, 0x85 }, + { 0x30, 0x01 }, + { 0x3D, 0xC7 }, + { 0x44, 0x78 }, + { 0x4E, 0x04 }, + } +}; + +// ****************************************************************** +// * Direct3D_EnumAdapterModes +// ****************************************************************** +SOOVPA<8> Direct3D_EnumAdapterModes_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x20, 0x8B }, + { 0x3E, 0xE3 }, + { 0x5E, 0x75 }, + { 0x7E, 0x00 }, + { 0x9E, 0x00 }, + { 0xBE, 0x0F }, + { 0xE2, 0x89 }, + { 0xFE, 0x5D }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData4f +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x46 }, + { 0x16, 0x08 }, + { 0x22, 0x09 }, + { 0x2E, 0x24 }, + { 0x3A, 0x24 }, + { 0x46, 0x8B }, + { 0x52, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData2f +// ****************************************************************** +SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x72 }, + { 0x13, 0x8B }, + { 0x1A, 0x80 }, + { 0x21, 0x0C }, + { 0x28, 0x89 }, + { 0x2F, 0xC0 }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_End +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_End_1_0_5233 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_End+0x13 : mov dword ptr [eax], 0x417FC + { 0x13, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x14, 0x00 }, // (Offset,Value)-Pair #2 + { 0x15, 0xFC }, // (Offset,Value)-Pair #3 + { 0x16, 0x17 }, // (Offset,Value)-Pair #4 + { 0x17, 0x04 }, // (Offset,Value)-Pair #5 + { 0x18, 0x00 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_End+0x28 : test ah, 0x10 + { 0x28, 0xF6 }, // (Offset,Value)-Pair #7 + { 0x29, 0xC4 }, // (Offset,Value)-Pair #8 + { 0x2A, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_End+0x2B : jz +0x07 + { 0x2B, 0x74 }, // (Offset,Value)-Pair #10 + { 0x2C, 0x07 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_End+0x3C : retn + { 0x3C, 0xC3 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3DDevice_SetViewport +// ****************************************************************** +SOOVPA<8> D3DDevice_SetViewport_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x87 }, + { 0x3E, 0xC0 }, + { 0x5E, 0x49 }, + { 0x7E, 0xD6 }, + { 0x9E, 0xE2 }, + { 0xBE, 0xC1 }, + { 0xDE, 0xC9 }, + { 0xFE, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetTransform +// ****************************************************************** +SOOVPA<8> D3DDevice_SetTransform_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x8B }, + { 0x3E, 0x00 }, + { 0x5E, 0xC4 }, + { 0x7E, 0x62 }, + { 0x9E, 0x00 }, + { 0xBE, 0x42 }, + { 0xDE, 0x42 }, + { 0xFE, 0xCB }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetBackBuffer2 +// ****************************************************************** +SOOVPA<7> D3DDevice_GetBackBuffer2_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x10, 0x01 }, + { 0x19, 0x15 }, + { 0x22, 0x8B }, + { 0x2B, 0xC0 }, + { 0x34, 0x15 }, + { 0x3D, 0x8B }, + } +}; + + +// ****************************************************************** +// * D3DDevice_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0x88 }, + { 0x0D, 0x19 }, + { 0x10, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0x84 }, + { 0x0D, 0x19 }, + { 0x10, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetViewport +// ****************************************************************** +SOOVPA<7> D3DDevice_GetViewport_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0E, 0x0A }, + { 0x12, 0x06 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderTargetFast +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderTargetFast_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0xC9 }, + { 0x3C, 0x89 }, + { 0x5F, 0x8B }, + { 0x7A, 0x04 }, + { 0x99, 0x04 }, + { 0xB8, 0x02 }, + { 0xD7, 0x0C }, + { 0xF6, 0xC5 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetScreenSpaceOffset +// ****************************************************************** +SOOVPA<7> D3DDevice_SetScreenSpaceOffset_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x44 }, + { 0x12, 0xCE }, + { 0x1F, 0xD8 }, + { 0x26, 0x0A }, + { 0x30, 0x3B }, + { 0x3A, 0x8B }, + { 0x44, 0x06 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetScissors +// ****************************************************************** +SOOVPA<8> D3DDevice_SetScissors_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x44 }, + { 0x3C, 0x8B }, + { 0x5D, 0xD9 }, + { 0x7D, 0xD8 }, + { 0x99, 0x0A }, + { 0xB8, 0xE8 }, + { 0xD7, 0x24 }, + { 0xF6, 0x8B }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetMaterial +// ****************************************************************** +SOOVPA<9> D3DDevice_SetMaterial_1_0_5344 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x08 }, + { 0x0C, 0x81 }, + { 0x0E, 0xE0 }, + { 0x10, 0x00 }, + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_5233 +// ****************************************************************** +OOVPATable D3D8_1_0_5233[] = +{ + // IDirect3D8::CreateDevice + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_5233, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3DDevice8::GetDisplayFieldStatus + { + (OOVPA*)&IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, + + #ifdef _DEBUG_TRACE + "IDirect3DDevice8_GetDisplayFieldStatus" + #endif + }, + // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, + + XTL::EmuIDirect3D8_CheckDeviceFormat, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CheckDeviceFormat" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_5233, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3DDevice8::CopyRects + { + (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_5233, + + XTL::EmuIDirect3DDevice8_CopyRects, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CopyRects" + #endif + }, + // IDirect3DDevice8::SetScissors + { + (OOVPA*)&IDirect3DDevice8_SetScissors_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScissors" + #endif + }, + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::GetRenderTarget2 + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetRenderTarget2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget2" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface2 + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface2" + #endif + }, + // D3D::CommonSetRenderTarget (XREF) + { + (OOVPA*)&D3D_CommonSetRenderTarget_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "D3D::CommonSetRenderTarget (XREF)" + #endif + }, + // IDirect3DDevice8::SetRenderTarget (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::AddRef + { + (OOVPA*)&IDirect3DDevice8_AddRef_1_0_5233, + + XTL::EmuIDirect3DDevice8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_AddRef" + #endif + }, + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // IDirect3DDevice8::SetTileNoWait + { + (OOVPA*)&IDirect3DDevice8_SetTileNoWait_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetTileNoWait, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTileNoWait" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer2 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer2_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer2" + #endif + }, + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // D3DDevice_RunVertexStateShader (* unchanged since 4627 *) + { + (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_RunVertexStateShader, + + #ifdef _DEBUG_TRACE + "D3DDevice_RunVertexStateShader" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant1 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant1" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant4 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant4" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstantNotInline + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" + #endif + }, + // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, + + XTL::EmuIDirect3DDevice8_DeletePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeletePixelShader" + #endif + }, + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::CreateTexture2 + { + (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_5233, + + XTL::EmuIDirect3DDevice8_CreateTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture2" + #endif + }, + // IDirect3DDevice8::CreateTexture2C (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_CreateTexture2C_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture2C" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetTexture + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::SetTextureB + { + (OOVPA*)&IDirect3DDevice8_SetTextureB_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureB" + #endif + }, + // IDirect3DDevice8::SetTextureC (* unchanged since 4928 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureC_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureC" + #endif + }, + // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::Begin + { + (OOVPA*)&IDirect3DDevice8_Begin_1_0_5233, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&D3DDevice_SetVertexData2f_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&IDirect3DDevice8_End_1_0_5233, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::Clear + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_5233, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_5233, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, + + XTL::EmuIDirect3DDevice8_EnableOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EnableOverlay" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer2 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_4627, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer2" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullModeB" + #endif + }, + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // ******* + // Duplicated functions generally dangerous, but until such time as XDK 5344 + // has it's own OOVP's, fine here + // ******* + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetRenderState_LineWidth (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // ******* + // Duplicated functions generally dangerous, but until such time as XDK 5344 + // has it's own OOVP's, fine here + // ******* + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SwitchTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SwitchTexture" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3D8::GetDeviceCaps + { + (OOVPA*)&IDirect3D8_GetDeviceCaps_1_0_5233, + + XTL::EmuIDirect3D8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8::SetLight + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::SetLight + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight (5344)" + #endif + }, + // IDirect3DDevice8::LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5233, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // IDirect3DDevice8::LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5344, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable (5344)" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5233, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::SetMaterial (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&D3DDevice_SetMaterial_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial (5344)" + #endif + }, + // IDirect3DVertexBuffer8::GetDesc + { + (OOVPA*)&IDirect3DVertexBuffer8_GetDesc_1_0_5233, + + XTL::EmuIDirect3DVertexBuffer8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_GetDesc" + #endif + }, + // IDirect3DVertexBuffer8::Lock2 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_4627, + + XTL::EmuIDirect3DVertexBuffer8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock2" + #endif + }, + // IDirect3DResource8::Register (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DDevice8::GetBackBuffer2 + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2" + #endif + }, + // IDirect3DDevice8::UpdateOverlay + { + (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_5233, + + XTL::EmuIDirect3DDevice8_UpdateOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_UpdateOverlay" + #endif + }, + // IDirect3DDevice8::GetOverlayUpdateStatus + { + (OOVPA*)&IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetOverlayUpdateStatus" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::GetViewport (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::Release (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // IDirect3DPalette8::Lock2 + { + (OOVPA*)&IDirect3DPalette8_Lock2_1_0_5233, + + XTL::EmuIDirect3DPalette8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock2" + #endif + }, + // IDirect3DTexture8::LockRect + { + (OOVPA*)&IDirect3DTexture8_LockRect_1_0_5233, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // Lock2DSurface (* unchanged since 3925 *) + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // Get2DSurfaceDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_5233, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // Get2DSurfaceDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_5344, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc (5344)" + #endif + }, + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, + + XTL::EmuIDirect3DBaseTexture8_GetLevelCount, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DBaseTexture8_GetLevelCount" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel2" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::DrawVertices + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5233, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3DDevice8::GetViewportOffsetAndScale (* unchanged since 4627 *) + { + (OOVPA*)&X_D3DDevice_GetViewportOffsetAndScale_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetViewportOffsetAndScale, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewportOffsetAndScale" + #endif + }, + // IDirect3DDevice8::DeleteVertexShader (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, + + XTL::EmuIDirect3DDevice8_DeleteVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShaderDirect (* unchanged since 4627 *) + { + (OOVPA*)&X_D3DDevice_SelectVertexShaderDirect_1_0_4627, + + XTL::EmuIDirect3DDevice8_SelectVertexShaderDirect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShaderDirect" + #endif + }, + // IDirect3DDevice8::LoadVertexShader + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_5233, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice::Release + { + (OOVPA*)&IDirect3DDevice8_Release_1_0_5233, + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "D3DDevice_Release" + #endif + }, + // IDirect3DDevice8::SetScreenSpaceOffset + { + (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset" + #endif + }, + // D3D::SetFence (XREF) + { + (OOVPA*)&D3D_SetFence_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "D3D::SetFence (XREF)" + #endif + }, + // IDirect3DDevice8::InsertFence + { + (OOVPA*)&IDirect3DDevice8_InsertFence_1_0_5233, + + XTL::EmuIDirect3DDevice8_InsertFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertFence" + #endif + }, + // IDirect3DDevice8::IsFencePending + { + (OOVPA*)&IDirect3DDevice8_IsFencePending_1_0_5233, + + XTL::EmuIDirect3DDevice8_IsFencePending, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_IsFencePending" + #endif + }, + // D3D::BlockOnTime (XREF) + { + (OOVPA*)&D3D_BlockOnTime_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "D3D::BlockOnTime (XREF)" + #endif + }, + // IDirect3DDevice8::BlockOnFence + { + (OOVPA*)&IDirect3DDevice8_BlockOnFence_1_0_5233, + + XTL::EmuIDirect3DDevice8_BlockOnFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockOnFence" + #endif + }, + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter_5344" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter_5344" + #endif + }, + // IDirect3DDevice8_Unknown1 + /*{ + (OOVPA*)&IDirect3DDevice8_Unknown1_1_0_5233, + + XTL::EmuIDirect3DDevice8_Unknown1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Unknown1" + #endif + },*/ + // IDirect3DDevice8::SetRenderState_TwoSidedLighting (* unchanged since 4134 *) + // Beware of the typo... + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" + #endif + }, + // ****** + // Duplicate references are normally bad, but this XDK is aliased to XDK 5344 + // until such time as a separate XDK file is generated for 5344, this will have to do + // ****** + // IDirect3DDevice8::SetRenderState_TwoSidedLighting (* targeting 5344 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // D3DDevice_SetRenderState_LogicOp (* unchanged since 4627 *) + { + (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // IDirect3DDevice8::BeginPush + { + (OOVPA*)&D3DDevice_BeginPush_1_0_5344, + + XTL::EmuIDirect3DDevice8_BeginPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPush" + #endif + }, + // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, + + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // IDirect3DDevice8::EndPush + { + (OOVPA*)&D3DDevice_EndPush_1_0_5344, + + XTL::EmuIDirect3DDevice8_EndPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPush" + #endif + }, + // IDirect3DDevice8::EndPush (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, + + XTL::EmuIDirect3DDevice8_EndPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPush" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // D3DDevice_SetRenderState_SampleAlpha + { + (OOVPA*)&D3DDevice_SetRenderState_SampleAlpha_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_SampleAlpha" + #endif + }, + // D3DDevice_SetRenderState_MultiSampleMask + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // IDirect3DDevice8::SetVertexData4ub (* unchanged since 4361 *) + { + (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4ub, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4ub" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&D3DDevice_SetViewport_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport_5344" + #endif + }, + /** + * Having two versions of D3Device::SetTransform in this file creates problems, + * in order to support Futurama, this second verison (added for Whacked support) + * has been disabled. + // IDirect3DDevice8::SetTransform + { + (OOVPA*)&D3DDevice_SetTransform_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform_5344" + #endif + },**/ + // IDirect3DDevice8::GetBackBuffer2 + { + (OOVPA*)&D3DDevice_GetBackBuffer2_1_0_5344, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2 (5344)" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&D3DDevice_SetVerticalBlankCallback_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback (5344)" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&D3DDevice_SetSwapCallback_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetSwapCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSwapCallback (5344)" + #endif + }, + // IDirect3DDevice8::GetViewport + { + (OOVPA*)&D3DDevice_GetViewport_1_0_5344, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport (5344)" + #endif + }, + // IDirect3DDevice8::SetRenderTargetFast + { + (OOVPA*)&D3DDevice_SetRenderTargetFast_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetRenderTargetFast, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTargetFast (5344)" + #endif + }, + // IDirect3DDevice8::SetScreenSpaceOffset + { + (OOVPA*)&D3DDevice_SetScreenSpaceOffset_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset (5344)" + #endif + }, + // IDirect3DDevice8::SetScissors + { + (OOVPA*)&D3DDevice_SetScissors_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScissors (5344)" + #endif + }, + // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) + { + (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, + + XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" + #endif + }, + // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) + { + (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_ApplyStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_ApplyStateBlock" + #endif + }, +}; + +// ****************************************************************** +// * D3D8_1_0_5233_SIZE +// ****************************************************************** +uint32 D3D8_1_0_5233_SIZE = sizeof(D3D8_1_0_5233); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.h new file mode 100644 index 000000000..f119b06d4 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5558.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_5558_H +#define D3D8_1_0_5558_H + +#include "OOVPA.h" + +extern OOVPATable D3D8_1_0_5558[]; +extern uint32 D3D8_1_0_5558_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.inl new file mode 100644 index 000000000..35396bfcc --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5558.inl @@ -0,0 +1,3737 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5558.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * D3D_CDevice_LazySetStateVB +// ****************************************************************** +SOOVPA<12> D3D_CDevice_LazySetStateVB_1_0_5558 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_D3DCD_LAZYSETSTATEVB, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x00, 0x83 }, // 1 + { 0x01, 0xEC }, // 2 + { 0x02, 0x0C }, // 3 + + { 0x34, 0xF6 }, // 4 + { 0x35, 0xC3 }, // 5 + { 0x36, 0x40 }, // 6 + + { 0x57, 0x83 }, // 7 + { 0x58, 0xE5 }, // 8 + { 0x59, 0x10 }, // 9 + + { 0x79, 0x17 }, // 10 + { 0x7A, 0x40 }, // 11 + { 0x7B, 0x00 }, // 12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BeginPush +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_BeginPush_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x09, XREF_D3DCD_LAZYSETSTATEVB }, // 1 + + { 0x00, 0x8B }, // 2 + { 0x01, 0x0D }, // 3 + + { 0x06, 0x6A }, // 4 + { 0x07, 0x00 }, // 5 + + { 0x11, 0x40 }, // 6 + + { 0x12, 0x89 }, // 7 + { 0x13, 0x44 }, // 8 + { 0x14, 0x24 }, // 9 + { 0x15, 0x04 }, // 10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SelectVertexShader +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x12, 0x07 }, + { 0x26, 0x00 }, + { 0x3A, 0x0D }, + { 0x4F, 0x8B }, + { 0x62, 0xE1 }, + { 0x76, 0x3B }, + { 0x8A, 0x89 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexShader +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreateVertexShader_1_0_5558 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp + { 0x00, 0x51 }, // (Offset,Value)-Pair #1 + { 0x01, 0x53 }, // (Offset,Value)-Pair #2 + { 0x02, 0x55 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_CreateVertexShader+0x0A : jz +0x10 + { 0x0A, 0x74 }, // (Offset,Value)-Pair #4 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_CreateVertexShader+0x43 : shl eax, 0x02 + { 0x43, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x44, 0xE0 }, // (Offset,Value)-Pair #7 + { 0x45, 0x02 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_CreateVertexShader+0x73 : mov eax, 0x8007000E + { 0x65, 0x07 }, // (Offset,Value)-Pair #11 + { 0x66, 0x80 }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_CreateVertexShader+0x69 : retn 0x10 + { 0x69, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x6A, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant1 +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant1+0x05 : add eax, 0x1C + /*{ 0x05, 0x83 }, // (Offset,Value)-Pair #1 + { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x07, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x0E : jnb +0x2E + { 0x0E, 0x73 }, // (Offset,Value)-Pair #4 + { 0x0F, 0x2E }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x28 : mov [eax-0x10], ecx + { 0x28, 0x89 }, // (Offset,Value)-Pair #6 + { 0x29, 0x48 }, // (Offset,Value)-Pair #7 + { 0x2A, 0xF0 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x3D : retn + { 0x3D, 0xC3 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x47 : jmp +0xB7 + { 0x47, 0xEB }, // (Offset,Value)-Pair #10 + { 0x48, 0xB7 }, // (Offset,Value)-Pair #11 + */ + + // IDirect3DDevice8_SetVertexShaderConstant1+0x06 : add eax, 0x1C + { 0x06, 0x83 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x08, 0x1C }, // (Offset,Value)-Pair #3 + + { 0x16, 0xC7 }, + { 0x17, 0x40 }, + { 0x18, 0xE4 }, + { 0x19, 0xA4 }, + { 0x1A, 0x1E }, + { 0x1B, 0x04 }, + { 0x1C, 0x00 }, + + // IDirect3DDevice8_SetVertexShaderConstant1+0x53 : retn + { 0x53, 0xC3 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant1Fast +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant1Fast+0x05 : add eax, 0x1C + { 0x05, 0x83 }, // (Offset,Value)-Pair #1 + { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x07, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant1Fast+0x0E : jnb +0x2E + { 0x0E, 0x73 }, // (Offset,Value)-Pair #4 + { 0x0F, 0x2E }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexShaderConstant1Fast+0x28 : mov [eax-0x10], ecx + { 0x28, 0x89 }, // (Offset,Value)-Pair #6 + { 0x29, 0x48 }, // (Offset,Value)-Pair #7 + { 0x2A, 0xF0 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant1Fast+0x3D : retn + { 0x3D, 0xC3 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderConstant1Fast+0x47 : jmp +0xB7 + { 0x47, 0xEB }, // (Offset,Value)-Pair #10 + { 0x48, 0xB7 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetViewport +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x86 }, + { 0x3E, 0x1B }, + { 0x5E, 0x8B }, + { 0x7E, 0x6D }, + { 0x9E, 0x81 }, + { 0xBE, 0x0C }, + { 0xDE, 0x75 }, + { 0xFE, 0x85 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexBuffer2 +// ****************************************************************** +SOOVPA<17> IDirect3DDevice8_CreateVertexBuffer2_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0xE8 }, + { 0x12, 0x1E }, + { 0x1C, 0x50 }, + { 0x26, 0x68 }, + { 0x31, 0x33 }, + { 0x3A, 0xFF }, + { 0x44, 0x01 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_UpdateOverlay +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_UpdateOverlay+0x13 : mov [eax+0x1C0C], ecx + { 0x13, 0x89 }, // (Offset,Value)-Pair #1 + { 0x14, 0x88 }, // (Offset,Value)-Pair #2 + { 0x15, 0x0C }, // (Offset,Value)-Pair #3 + { 0x16, 0x1C }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_UpdateOverlay+0x85 : and eax, 0x0FFFFFFF + { 0x85, 0x25 }, // (Offset,Value)-Pair #5 + { 0x86, 0xFF }, // (Offset,Value)-Pair #6 + { 0x89, 0x0F }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_UpdateOverlay+0x9D : mov [esi+0x8920], ecx + { 0x9D, 0x89 }, // (Offset,Value)-Pair #8 + { 0x9E, 0x8E }, // (Offset,Value)-Pair #9 + { 0x9F, 0x20 }, // (Offset,Value)-Pair #10 + { 0xA0, 0x89 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetOverlayUpdateStatus +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x24xx] + { 0x05, 0x8B }, // (Offset,Value)-Pair #1 + { 0x06, 0x88 }, // (Offset,Value)-Pair #2 + // { 0x07, 0x00 }, // The offset from EAX has been seen as 2400 (5558) and 2410 (5659) + { 0x08, 0x24 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x0C : mov esi, [eax+0x1Dxx] + { 0x0C, 0x8B }, // (Offset,Value)-Pair #4 + { 0x0D, 0xB0 }, // (Offset,Value)-Pair #5 + // { 0x0E, 0xD8 }, // // The offset from EAX has been seen as 0x1DD8 (5558) and 0x1DE8 (5659) + { 0x0F, 0x1D }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x16 : setnz dl + { 0x16, 0x0F }, // (Offset,Value)-Pair #7 + { 0x17, 0x95 }, // (Offset,Value)-Pair #8 + { 0x18, 0xC2 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetOverlayUpdateStatus+0x1C : retn + { 0x1C, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreatePalette2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_CreatePalette2_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x8B }, + { 0x16, 0x00 }, + { 0x23, 0x68 }, + { 0x2E, 0x85 }, + { 0x3D, 0x5E }, + { 0x46, 0x1E }, + { 0x52, 0x89 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateTexture2 +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x14, 0x4C }, + { 0x2A, 0x8B }, + { 0x42, 0x8B }, + { 0x56, 0x80 }, + { 0x70, 0x85 }, + { 0x82, 0x5E }, + { 0x98, 0x89 }, + { 0xAE, 0x1C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_End +// ****************************************************************** +SOOVPA<17> IDirect3DDevice8_End_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x13, 0xC7 }, + { 0x19, 0xC7 }, + { 0x22, 0x08 }, + { 0x2B, 0xE1 }, + { 0x34, 0x4E }, + { 0x40, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetLight +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x00 }, + { 0x3E, 0x89 }, + { 0x5E, 0x00 }, + { 0x7E, 0x07 }, + { 0x9E, 0xC8 }, + { 0xBE, 0xC9 }, + { 0xDE, 0x07 }, + { 0xFE, 0xC1 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x08 }, + { 0x0C, 0x81 }, + { 0x0E, 0xF0 }, + { 0x10, 0x00 }, + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x8D }, + { 0x3E, 0xC7 }, + { 0x5E, 0xC7 }, + { 0x7E, 0x00 }, + { 0x9E, 0x85 }, + { 0xBE, 0x01 }, + { 0xDE, 0x00 }, + { 0xFE, 0x83 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShader +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetVertexShader_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x89 }, + { 0x3E, 0x5F }, + { 0x61, 0x3B }, + { 0x81, 0x00 }, + { 0x9E, 0x00 }, + { 0xBE, 0x8B }, + { 0xDE, 0x04 }, + { 0xFE, 0xC1 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPalette +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5558 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xBE }, // (Offset,Value)-Pair #3 + { 0x10, 0x88 }, // (Offset,Value)-Pair #4 + { 0x11, 0x0F }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetPalette+0x76 : add esi, 0x41B20 + { 0x76, 0x81 }, // (Offset,Value)-Pair #6 + { 0x77, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x78, 0x20 }, // (Offset,Value)-Pair #8 + { 0x79, 0x1B }, // (Offset,Value)-Pair #9 + { 0x7A, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 + { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x6A }, + { 0x08, 0x00 }, + { 0x0D, 0xB0 }, + { 0x12, 0x00 }, + { 0x17, 0x05 }, + { 0x1C, 0x50 }, + { 0x23, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVerticesUP +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #1 + { 0x4B, 0xCA }, // (Offset,Value)-Pair #2 + { 0x4C, 0x00 }, // (Offset,Value)-Pair #3 + { 0x4D, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_DrawIndexedVerticesUP+0x5C : lea edx, [edi+0xBxx] + { 0x5C, 0x8D }, // (Offset,Value)-Pair #5 + { 0x5D, 0x96 }, // (Offset,Value)-Pair #6 + // { 0x5E, 0xC4 }, // The offset from EDI has been seen as BC4 (5558) and BD4 (5659) + { 0x5F, 0x0B }, // (Offset,Value)-Pair #7 + { 0x60, 0x00 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_DrawIndexedVerticesUP+0x6A : mov eax, 0x10 + { 0x6A, 0xB8 }, // (Offset,Value)-Pair #9 + { 0x6B, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTransform +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0xB9 }, + { 0x3E, 0x0F }, + { 0x5E, 0xD9 }, + { 0x7A, 0x00 }, + { 0x99, 0x83 }, + { 0xB8, 0xE0 }, + { 0xD7, 0xD9 }, + { 0xF6, 0xF6 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5558 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer2+0x0D : jnz +0x19 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x19 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer2+0x15 : mov esi, [ecx+eax*4+0x1A04] + { 0x15, 0x8B }, // (Offset,Value)-Pair #6 + { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x17, 0x81 }, // (Offset,Value)-Pair #8 + { 0x18, 0x04 }, // (Offset,Value)-Pair #9 + { 0x19, 0x1A }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 + { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x41, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer2B +// ****************************************************************** +// NOTE: XIII has a different version than the others... +SOOVPA<12> IDirect3DDevice8_GetBackBuffer2B_1_0_5558 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer2+0x0D : jnz +0x19 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x19 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer2+0x15 : mov esi, [ecx+eax*4+0x1A14] + { 0x15, 0x8B }, // (Offset,Value)-Pair #6 + { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x17, 0x81 }, // (Offset,Value)-Pair #8 + { 0x18, 0x14 }, // (Offset,Value)-Pair #9 + { 0x19, 0x1A }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 + { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x41, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5455 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer2+0x0D : jnz +0x19 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x19 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer2+0x15 : mov esi, [ecx+eax*4+0x15F4] + { 0x15, 0x8B }, // (Offset,Value)-Pair #6 + { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x17, 0x81 }, // (Offset,Value)-Pair #8 + { 0x18, 0xF4 }, // (Offset,Value)-Pair #9 + { 0x19, 0x15 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 + { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x41, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3D8_CheckDeviceMultiSampleType +// ****************************************************************** +SOOVPA<7> IDirect3D8_CheckDeviceMultiSampleType_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x00 }, + { 0x1E, 0x54 }, + { 0x2E, 0xC9 }, + { 0x3E, 0x8B }, + { 0x4E, 0x08 }, + { 0x5E, 0x72 }, + { 0x6E, 0x03 }, + } +}; + +// ****************************************************************** +// * IDirect3D8_SetPushBufferSize +// ****************************************************************** +SOOVPA<7> IDirect3D8_SetPushBufferSize_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x08 }, + { 0x0D, 0x89 }, + { 0x0E, 0x0D }, + { 0x13, 0xC2 }, + { 0x14, 0x08 }, + } +}; + +// ****************************************************************** +// * D3D::SetFence +// ****************************************************************** +SOOVPA<14> D3D_SetFence_1_0_5558 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_D3D_SETFENCE, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x14, 0x8B }, + { 0x15, 0x7E }, + { 0x16, 0x2C }, + { 0x23, 0x8A }, + { 0x24, 0x54 }, + { 0x25, 0x24 }, + { 0x26, 0x0C }, + { 0x66, 0x89 }, + { 0x67, 0x44 }, + { 0x68, 0xCE }, + { 0x69, 0x64 }, + { 0x91, 0xC7 }, + { 0x92, 0x46 }, + { 0x93, 0x3C }, + } +}; + +// ****************************************************************** +// * D3D::BlockOnTime +// ****************************************************************** +SOOVPA<6> D3D_BlockOnTime_1_0_5558 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XREF_D3D_BLOCKONTIME, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x09, 0x30 }, + { 0x27, 0x07 }, + { 0x7E, 0x25 }, + { 0x9F, 0x20 }, + { 0xD3, 0x56 }, + { 0xE9, 0x57 }, + } +}; + +// ****************************************************************** +// * D3D::BlockOnResource +// ****************************************************************** +SOOVPA<16> D3D_BlockOnResource_1_0_5558 = +{ + 0, // Large == 0 + 16, // Count == 16 + + XREF_D3D_BlockOnResource, // Xref Is Saved + XRefNotUsed, + + { + { 0x09, 0x8B }, // mov eax, [esp+arg_0] + { 0x0A, 0x44 }, + { 0x0B, 0x24 }, + { 0x0C, 0x04 }, + { 0x0F, 0x81 }, // and ecx, 0x00070000 + { 0x10, 0xE1 }, + { 0x11, 0x00 }, + { 0x12, 0x00 }, + { 0x13, 0x07 }, + { 0x14, 0x00 }, + { 0x46, 0x8B }, // mov esi, [eax+8] + { 0x47, 0x70 }, + { 0x48, 0x08 }, + { 0x75, 0xC2 }, // retn 4 + { 0x76, 0x04 }, + { 0x77, 0x00 }, + + } +}; + +// ****************************************************************** +// * IDirect3DResource8_BlockUntilNotBusy +// ****************************************************************** +SOOVPA<2> IDirect3DResource8_BlockUntilNotBusy_1_0_5558 = +{ + 0, // Large == 0 + 2, // Count == 2 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x01, XREF_D3D_BlockOnResource }, + + { 0x00, 0xE9 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetScissors +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x44 }, + { 0x3C, 0x8B }, + { 0x5D, 0xD9 }, + { 0x7D, 0xD8 }, + { 0x99, 0x0E }, + { 0xB8, 0xE8 }, + { 0xD7, 0x24 }, + { 0xF6, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetScissors +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5455 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x44 }, + { 0x3C, 0x8B }, + { 0x5D, 0xD9 }, + { 0x7D, 0xD8 }, + { 0x99, 0x0A }, + { 0xB8, 0xE8 }, + { 0xD7, 0x24 }, + { 0xF6, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_AddRef +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_AddRef+0x05 : mov ecx, [eax+0x04FC] + { 0x05, 0x8B }, // (Offset,Value)-Pair #2 + { 0x06, 0x88 }, // (Offset,Value)-Pair #3 + { 0x07, 0x34 }, // (Offset,Value)-Pair #4 + { 0x08, 0x09 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_AddRef+0x0C : mov [eax+0x04FC], ecx + { 0x0C, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x34 }, // (Offset,Value)-Pair #9 + { 0x0F, 0x09 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreatePixelShader +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_CreatePixelShader_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_CreatePixelShader+0x05 : push 0xFC + { 0x05, 0x68 }, // (Offset,Value)-Pair #1 + { 0x06, 0xFC }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_CreatePixelShader+0x10 : mov eax, 0x8007000E + { 0x13, 0xB8 }, // (Offset,Value)-Pair #3 + { 0x14, 0x0E }, // (Offset,Value)-Pair #4 + { 0x15, 0x00 }, // (Offset,Value)-Pair #5 + { 0x16, 0x07 }, // (Offset,Value)-Pair #6 + { 0x17, 0x80 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_CreatePixelShader+0x31 : mov ecx, 0x3C + { 0x34, 0xB9 }, // (Offset,Value)-Pair #8 + { 0x35, 0x3C }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_CreatePixelShader+0x42 : retn 0x08 + { 0x45, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x46, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVerticesUP +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_DrawVerticesUP+0x37 : mov edx, [edi+0xC44] + { 0x37, 0x8B }, // (Offset,Value)-Pair #4 + { 0x38, 0x97 }, // (Offset,Value)-Pair #5 + { 0x39, 0x44 }, // (Offset,Value)-Pair #6 + { 0x3A, 0x0C }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_DrawVerticesUP+0xC4 : cmp esi, 0x80 + { 0xC4, 0x81 }, // (Offset,Value)-Pair #8 + { 0xC5, 0xFE }, // (Offset,Value)-Pair #9 + { 0xC6, 0x80 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateIndexBuffer +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_CreateIndexBuffer_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x50 }, + { 0x06, 0x8B }, + { 0x07, 0x4C }, + { 0x09, 0x04 }, + { 0x0A, 0x33 }, + { 0x0E, 0x0F }, + { 0x12, 0x01 }, + { 0x16, 0x0E }, + { 0x1A, 0x8B }, + { 0x1E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CreateIndexBuffer2 +// ****************************************************************** +SOOVPA<7> D3DDevice_CreateIndexBuffer2_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x00 }, + { 0x0C, 0x50 }, + { 0x13, 0xC0 }, + { 0x1A, 0xC9 }, + { 0x21, 0x04 }, + { 0x28, 0xC7 }, + { 0x2F, 0x48 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xA8 }, + { 0x0D, 0x1D }, + { 0x10, 0xC2 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x0D }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x1998], eax + { 0x0A, 0x89 }, // (Offset,Value)-Pair #7 + { 0x0B, 0x81 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x98 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x19 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x11, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xA4 }, + { 0x0D, 0x1D }, + { 0x10, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_TextureFactor_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x80 }, + { 0x14, 0x46 }, + { 0x1F, 0x24 }, + { 0x2A, 0xBA }, + { 0x35, 0x4A }, + { 0x40, 0x5E }, + { 0x4D, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetViewport +// ****************************************************************** +SOOVPA<7> D3DDevice_GetViewport_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x0C, 0x00 }, + { 0x13, 0x50 }, + { 0x1A, 0x08 }, + { 0x21, 0x89 }, + { 0x28, 0x51 }, + { 0x2F, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_Reset +// ****************************************************************** +SOOVPA<8> D3DDevice_Reset_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x13, 0x00 }, + { 0x28, 0x74 }, + { 0x40, 0x5F }, + { 0x55, 0x8B }, + { 0x67, 0x50 }, + { 0x7C, 0x00 }, + { 0x91, 0x3F }, + { 0xA6, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetGammaRamp +// ****************************************************************** +SOOVPA<7> D3DDevice_SetGammaRamp_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0F, 0x68 }, + { 0x20, 0x34 }, + { 0x31, 0xB4 }, + { 0x42, 0x08 }, + { 0x53, 0xF3 }, + { 0x64, 0xCA }, + { 0x75, 0x07 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetProjectionViewportMatrix +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x35 }, + { 0x07, 0x57 }, + { 0x0A, 0x24 }, + { 0x0E, 0x60 }, + { 0x12, 0xB9 }, + { 0x16, 0x00 }, + { 0x1A, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetModelView +// ****************************************************************** +SOOVPA<7> D3DDevice_GetModelView_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x57 }, + { 0x0A, 0x85 }, + { 0x10, 0xB0 }, + { 0x16, 0x10 }, + { 0x1C, 0x5E }, + { 0x22, 0xC1 }, + { 0x28, 0xE0 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x08 }, + { 0x0C, 0x81 }, + { 0x0E, 0x34 }, + { 0x10, 0x00 }, + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_TwoSidedLighting +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x05 }, + { 0x1E, 0x89 }, + { 0x30, 0x00 }, + { 0x40, 0x89 }, + { 0x52, 0x8B }, + { 0x60, 0x75 }, + { 0x6E, 0x48 }, + { 0x7E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BeginStateBlock +// ****************************************************************** +SOOVPA<6> D3DDevice_BeginStateBlock_1_0_5558 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x05, 0x83 }, + { 0x06, 0x48 }, + { 0x07, 0x08 }, + { 0x08, 0x20 }, + { 0x09, 0xE9 }, + } +}; + +// ****************************************************************** +// * D3DDevice_EndStateBlock +// ****************************************************************** +SOOVPA<6> D3DDevice_EndStateBlock_1_0_5558 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x05, 0x83 }, + { 0x06, 0x60 }, + { 0x07, 0x08 }, + { 0x08, 0xDF }, + { 0x09, 0xE9 }, + } +}; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x1A04] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0x04 }, // (Offset,Value)-Pair #7 + { 0x55, 0x1A }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3D::MakeRequestedSpace +// ****************************************************************** +SOOVPA<12> D3D_MakeRequestedSpace_1_0_5558 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // D3D::MakeRequestedSpace+0x08: test byte ptr [esi+8], 4 + { 0x08, 0xF6 }, + { 0x09, 0x46 }, + { 0x0A, 0x08 }, + { 0x0B, 0x04 }, + // D3D::MakeRequestedSpace+0x32: retn 8 + { 0x32, 0xC2 }, + { 0x33, 0x08 }, + // D3D::MakeRequestedSpace+0x57: add ebp, 0x4000 + { 0x57, 0x81 }, + { 0x58, 0xC5 }, + { 0x59, 0x00 }, + { 0x5A, 0x40 }, + { 0x5B, 0x00 }, + { 0x5C, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_MakeSpace +// ****************************************************************** +// TODO: This may or may not need to save/use an XRef to work... +SOOVPA<7> D3DDevice_MakeSpace_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x05, 0x50 }, + { 0x06, 0xD1 }, + { 0x07, 0xE8 }, + { 0x08, 0x50 }, + { 0x09, 0xE8 }, + { 0x0E, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderTarget@8 +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderTarget_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x44 }, + { 0x3E, 0x2C }, + { 0x5E, 0x8B }, + { 0x7E, 0xDE }, + { 0xA0, 0x89 }, + { 0xBE, 0x09 }, + { 0xDE, 0x8B }, + { 0xFE, 0x8B }, + } +}; + +// ****************************************************************** +// * D3DTexture_LockRect +// ****************************************************************** +SOOVPA<8> D3DTexture_LockRect_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x14 }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x8B }, + { 0x17, 0x50 }, + { 0x1B, 0xE8 }, + { 0x20, 0xC2 }, + { 0x21, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderConstant +// ****************************************************************** +SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x85 }, + { 0x3E, 0x8B }, + { 0x5E, 0xC0 }, + { 0x7E, 0x0F }, + { 0x9F, 0x8B }, + { 0xBE, 0x00 }, + { 0xDE, 0xC0 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetFlickerFilter +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5455 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x1808] + { 0x1C, 0x8B }, // (Offset,Value)-Pair #1 + { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 + { 0x1E, 0x08 }, // (Offset,Value)-Pair #3 + { 0x1F, 0x18 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetFlickerFilter+0x22 : push 0; push esi; push 0x0B; push eax + { 0x22, 0x6A }, // (Offset,Value)-Pair #5 + { 0x23, 0x00 }, // (Offset,Value)-Pair #6 + { 0x24, 0x56 }, // (Offset,Value)-Pair #7 + { 0x25, 0x6A }, // (Offset,Value)-Pair #8 + { 0x26, 0x0B }, // (Offset,Value)-Pair #9 + { 0x27, 0x50 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x40, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, // (Offset,Value)-Pair #1 + { 0x06, 0x00 }, // (Offset,Value)-Pair #2 + { 0x07, 0x6A }, // (Offset,Value)-Pair #3 + { 0x08, 0x00 }, // (Offset,Value)-Pair #4 + { 0x09, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0A, 0x01 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x17 : add eax, 0x199C + { 0x17, 0x05 }, // (Offset,Value)-Pair #7 + { 0x18, 0x9C }, // (Offset,Value)-Pair #8 + { 0x19, 0x19 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetScreenSpaceOffset +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0AD8] + { 0x13, 0xD9 }, // (Offset,Value)-Pair #1 + { 0x14, 0x9E }, // (Offset,Value)-Pair #2 + { 0x15, 0xD8 }, // (Offset,Value)-Pair #3 + { 0x16, 0x0A }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetScreenSpaceOffset+0x33 : jb +0x05 + { 0x33, 0x72 }, // (Offset,Value)-Pair #5 + { 0x34, 0x05 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetScreenSpaceOffset+0x46 : retn 0x08 + { 0x46, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x47, 0x08 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetScreenSpaceOffset +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0EE8] + { 0x13, 0xD9 }, // (Offset,Value)-Pair #1 + { 0x14, 0x9E }, // (Offset,Value)-Pair #2 + { 0x15, 0xE8 }, // (Offset,Value)-Pair #3 + { 0x16, 0x0E }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetScreenSpaceOffset+0x33 : jb +0x05 + { 0x33, 0x72 }, // (Offset,Value)-Pair #5 + { 0x34, 0x05 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetScreenSpaceOffset+0x46 : retn 0x08 + { 0x46, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x47, 0x08 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * D3DDevice_InsertCallback +// ****************************************************************** +SOOVPA<7> D3DDevice_InsertCallback_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x72 }, + { 0x1A, 0x10 }, + { 0x28, 0x85 }, + { 0x36, 0xC7 }, + { 0x44, 0x0C }, + { 0x52, 0x00 }, + { 0x60, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_LineWidth +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x54C] + { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 + { 0x16, 0x8E }, // (Offset,Value)-Pair #2 + { 0x17, 0x4C }, // (Offset,Value)-Pair #3 + { 0x18, 0x05 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x32 : cmp edi, 0x1FF + { 0x32, 0x81 }, // (Offset,Value)-Pair #5 + { 0x33, 0xFF }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x3A : mov edi, 0x1FF + { 0x3A, 0xBF }, // (Offset,Value)-Pair #7 + { 0x3B, 0xFF }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x62 : retn 0x04 + { 0x62, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x63, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3DDevice_FlushVertexCache +// ****************************************************************** +SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x08, 0x06 }, + { 0x0D, 0x05 }, + { 0x13, 0xC7 }, + { 0x15, 0x10 }, + { 0x17, 0x04 }, + { 0x1C, 0x00 }, + { 0x21, 0xC0 }, + { 0x26, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_LogicOp +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x3B }, + { 0x14, 0x4C }, + { 0x1F, 0x04 }, + { 0x2A, 0x0D }, + { 0x35, 0xBC }, + { 0x40, 0x89 }, + { 0x4E, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5455 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0390] + { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 + { 0x10, 0x9E }, // (Offset,Value)-Pair #2 + { 0x11, 0x90 }, // (Offset,Value)-Pair #3 + { 0x12, 0x03 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_LightEnable+0x6B : test eax, eax + { 0x6B, 0x85 }, // (Offset,Value)-Pair #5 + { 0x6C, 0xC0 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_LightEnable+0x9A : cmp ecx, 0xFFFFFFFF + { 0x9A, 0x83 }, // (Offset,Value)-Pair #7 + { 0x9B, 0xF9 }, // (Offset,Value)-Pair #8 + { 0x9C, 0xFF }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_LightEnable+0xB9 : jnz +0xF7 + { 0xB9, 0x75 }, // (Offset,Value)-Pair #10 + { 0xBA, 0xF7 }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_LightEnable+0xFB : retn 0x08 + { 0xFB, 0xC2 }, // (Offset,Value)-Pair #12 + { 0xFC, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * D3DDevice_SetModelView +// ****************************************************************** +SOOVPA<7> D3DDevice_SetModelView_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x15, 0xFF }, + { 0x2D, 0x81 }, + { 0x43, 0x3B }, + { 0x5A, 0xC1 }, + { 0x71, 0x53 }, + { 0x8A, 0x8B }, + { 0x9F, 0x30 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetIndices +// ****************************************************************** +SOOVPA<7> D3DDevice_SetIndices_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0F, 0x10 }, + { 0x20, 0xC7 }, + { 0x31, 0xC0 }, + { 0x42, 0x78 }, + { 0x53, 0xBE }, + { 0x64, 0x89 }, + { 0x75, 0x10 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetIndices +// ****************************************************************** +SOOVPA<7> D3DDevice_SetIndices_1_0_5455 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0F, 0xBE }, + { 0x20, 0xBE }, + { 0x31, 0xFF }, + { 0x42, 0x14 }, + { 0x53, 0x00 }, + { 0x64, 0x06 }, + { 0x75, 0xDD }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetBackBuffer +// ****************************************************************** +SOOVPA<6> D3DDevice_GetBackBuffer_1_0_5558 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x50 }, + { 0x0A, 0x8B }, + { 0x0B, 0x4C }, + { 0x0D, 0x0C }, + { 0x10, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +SOOVPA<7> D3DDevice_PersistDisplay_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x15 }, + { 0x3E, 0x89 }, + { 0x5E, 0x89 }, + { 0x7E, 0x42 }, + { 0x9E, 0x50 }, + { 0xBE, 0x00 }, + { 0xDE, 0x8B }, + } +}; + +// ****************************************************************** +// * D3DCubeTexture_GetCubeMapSurface +// ****************************************************************** +SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x8B }, + { 0x0A, 0x24 }, + { 0x14, 0x8B }, + { 0x16, 0x24 }, + { 0x1C, 0x0F }, + { 0x22, 0x81 }, + { 0x28, 0x8B }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexDataColor +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVertexDataColor_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x06 }, + { 0x14, 0x8B }, + { 0x1C, 0x19 }, + { 0x26, 0xB6 }, + { 0x30, 0x00 }, + { 0x3A, 0xFF }, + { 0x44, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData4f +// ****************************************************************** +SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x46 }, + { 0x16, 0x08 }, + { 0x22, 0x09 }, + { 0x2E, 0x24 }, + { 0x3A, 0x24 }, + { 0x46, 0x8B }, + { 0x52, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetVertexData2f +// ****************************************************************** +SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x72 }, + { 0x13, 0x8B }, + { 0x1A, 0x80 }, + { 0x21, 0x0C }, + { 0x28, 0x89 }, + { 0x2F, 0xC0 }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_LoadVertexShaderProgram +// ****************************************************************** +SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x2D }, + { 0x18, 0x10 }, + { 0x25, 0xE0 }, + { 0x32, 0x5F }, + { 0x3F, 0x24 }, + { 0x4C, 0x83 }, + { 0x5C, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderProgram +// ****************************************************************** +SOOVPA<7> D3DDevice_SetPixelShaderProgram_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0xA1 }, + { 0x0E, 0x88 }, + { 0x16, 0x00 }, + { 0x1E, 0x00 }, + { 0x26, 0x09 }, + { 0x32, 0xC7 }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMode +// ****************************************************************** +SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x19 }, + { 0x17, 0x04 }, + { 0x1B, 0x75 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMode +// ****************************************************************** +SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5455 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x15 }, + { 0x17, 0xF4 }, + { 0x1B, 0x75 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, + } +}; + + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x15 }, + { 0x17, 0xF4 }, + { 0x1B, 0x74 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x19 }, + { 0x17, 0x04 }, + { 0x1B, 0x74 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x8B }, + { 0x1D, 0x80 }, + { 0x2B, 0x08 }, + { 0x3A, 0x01 }, + { 0x49, 0xC7 }, + { 0x58, 0x05 }, + { 0x67, 0xC0 }, + { 0x76, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_IsFencePending +// ****************************************************************** +SOOVPA<7> D3DDevice_IsFencePending_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x8B }, + { 0x06, 0x48 }, + { 0x0A, 0x2C }, + { 0x0E, 0xD0 }, + { 0x12, 0x44 }, + { 0x16, 0xC2 }, + { 0x1A, 0xD8 }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_5558 +// ****************************************************************** +OOVPATable D3D8_1_0_5558[] = +{ + // IDirect3D8::CreateDevice (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_4627, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3DDevice8::GetDisplayFieldStatus (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, + + #ifdef _DEBUG_TRACE + "IDirect3DDevice8_GetDisplayFieldStatus" + #endif + }, + // D3D::CDevice::LazySetStateVB (XREF) + { + (OOVPA*)&D3D_CDevice_LazySetStateVB_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "D3D::CDevice::LazySetStateVB (XREF)" + #endif + }, + // IDirect3DDevice8::BeginPush + { + (OOVPA*)&IDirect3DDevice8_BeginPush_1_0_5558, + + XTL::EmuIDirect3DDevice8_BeginPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPush" + #endif + }, + // IDirect3DDevice8::EndPush (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, + + XTL::EmuIDirect3DDevice8_EndPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPush" + #endif + }, + // D3DDevice_RunVertexStateShader (* unchanged since 4627 *) + { + (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_RunVertexStateShader, + + #ifdef _DEBUG_TRACE + "D3DDevice_RunVertexStateShader" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // IDirect3DDevice8::LoadVertexShader (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_5233, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShader + { + (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_5558, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // IDirect3DDevice8::CreateVertexShader + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_5558, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant1 + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant1" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant1Fast + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant1Fast" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstantNotInline (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer2 + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_5558, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer2" + #endif + }, + // IDirect3DDevice8::UpdateOverlay + { + (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_5558, + + XTL::EmuIDirect3DDevice8_UpdateOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_UpdateOverlay" + #endif + }, + // IDirect3DDevice8::GetOverlayUpdateStatus + { + (OOVPA*)&IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558, + + XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetOverlayUpdateStatus" + #endif + }, + // IDirect3DDevice8::Clear (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_5233, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::CreatePalette2 + { + (OOVPA*)&IDirect3DDevice8_CreatePalette2_1_0_5558, + + XTL::EmuIDirect3DDevice8_CreatePalette2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePalette2" + #endif + }, + // IDirect3DDevice8::SetPalette + { + (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // IDirect3DDevice8::Swap (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_5233, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5233, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::DrawIndexedVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558, + + XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVerticesUP" + #endif + }, + // IDirect3DDevice8::SetPixelShader (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::CreateTexture2 + { + (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_5558, + + XTL::EmuIDirect3DDevice8_CreateTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture2" + #endif + }, + // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&IDirect3DDevice8_End_1_0_5558, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // IDirect3DDevice8::SetLight + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5558, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // IDirect3DVertexBuffer8::Lock2 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_4627, + + XTL::EmuIDirect3DVertexBuffer8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock2" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&D3DDevice_SetIndices_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&D3DDevice_SetIndices_1_0_5455, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices_5455" + #endif + }, + // IDirect3DDevice8::SetTexture (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, + + XTL::EmuIDirect3DDevice8_SwitchTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SwitchTexture" + #endif + }, + // IDirect3DDevice8::Begin (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_Begin_1_0_5233, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, + + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // IDirect3DDevice8::SetTransform + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::GetBackBuffer2 + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5558, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2" + #endif + }, + // IDirect3DDevice8::GetBackBuffer2B + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer2B_1_0_5558, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2B" + #endif + }, + // IDirect3DDevice8::GetBackBuffer2 + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5455, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2_5455" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DResource8::Register (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::Release (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // IDirect3DPalette8::Lock2 (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DPalette8_Lock2_1_0_5233, + + XTL::EmuIDirect3DPalette8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock2" + #endif + }, + // IDirect3DTexture8::LockRect + { + (OOVPA*)&D3DTexture_LockRect_1_0_5558, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, + + XTL::EmuIDirect3DBaseTexture8_GetLevelCount, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DBaseTexture8_GetLevelCount" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel2" + #endif + }, + // IDirect3DDevice8::GetRenderTarget2 (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetRenderTarget2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget2" + #endif + }, + // IDirect3D8::CheckDeviceMultiSampleType + { + (OOVPA*)&IDirect3D8_CheckDeviceMultiSampleType_1_0_5558, + + XTL::EmuIDirect3D8_CheckDeviceMultiSampleType, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CheckDeviceMultiSampleType" + #endif + }, + // IDirect3D8::GetDeviceCaps (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3D8_GetDeviceCaps_1_0_5233, + + XTL::EmuIDirect3D8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_GetDeviceCaps" + #endif + }, + // IDirect3D8::SetPushBufferSize + { + (OOVPA*)&IDirect3D8_SetPushBufferSize_1_0_5558, + XTL::EmuIDirect3D8_SetPushBufferSize, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_SetPushBufferSize" + #endif + }, + // IDirect3DDevice8::DrawVertices (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5233, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // D3D::SetFence (XREF) + { + (OOVPA*)&D3D_SetFence_1_0_5558,0, + + #ifdef _DEBUG_TRACE + "D3D::SetFence (XREF)" + #endif + }, + // IDirect3DDevice8::InsertFence (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_InsertFence_1_0_5233, + + XTL::EmuIDirect3DDevice8_InsertFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertFence" + #endif + }, + // D3D::BlockOnTime (XREF) + { + (OOVPA*)&D3D_BlockOnTime_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "D3D::BlockOnTime (XREF)" + #endif + }, + // IDirect3DDevice8::BlockOnFence (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_BlockOnFence_1_0_5233, + + XTL::EmuIDirect3DDevice8_BlockOnFence, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockOnFence" + #endif + }, + // D3D::BlockOnResource (XREF) + { + (OOVPA*)&D3D_BlockOnResource_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "D3D::BlockOnResource (XREF)" + #endif + }, + // IDirect3DResource8::BlockUntilNotBusy + { + (OOVPA*)&IDirect3DResource8_BlockUntilNotBusy_1_0_5558, + + XTL::EmuIDirect3DResource8_BlockUntilNotBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_BlockUntilNotBusy" + #endif + }, + // IDirect3DVertexBuffer8::GetDesc (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DVertexBuffer8_GetDesc_1_0_5233, + + XTL::EmuIDirect3DVertexBuffer8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_GetDesc" + #endif + }, + // IDirect3DDevice8::CopyRects (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_5233, + + XTL::EmuIDirect3DDevice8_CopyRects, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CopyRects" + #endif + }, + // IDirect3DDevice8::SetScissors + { + (OOVPA*)&IDirect3DDevice8_SetScissors_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScissors" + #endif + }, + // IDirect3DDevice8::SetScissors + { + (OOVPA*)&IDirect3DDevice8_SetScissors_1_0_5455, + + XTL::EmuIDirect3DDevice8_SetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScissors_5455" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface2 (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface2" + #endif + }, + // IDirect3DDevice8::AddRef + { + (OOVPA*)&IDirect3DDevice8_AddRef_1_0_5558, + + XTL::EmuIDirect3DDevice8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_AddRef" + #endif + }, + // IDirect3DDevice8::CreatePixelShader + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_5558, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant4 + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant4" + #endif + }, + // IDirect3DDevice8::DrawVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_5558, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer2 + { + (OOVPA*)&D3DDevice_CreateIndexBuffer2_1_0_5558, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer2" + #endif + }, + // IDirect3DDevice8::CreateIndexBuffer + { + (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_5558, + + XTL::EmuIDirect3DDevice8_CreateIndexBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateIndexBuffer" + #endif + }, + // D3DDevice_SetVerticalBlankCallback + { + (OOVPA*)&D3DDevice_SetVerticalBlankCallback_1_0_5558, + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // D3DDevice_SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455, + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback (5455)" + #endif + }, + // D3DDevice_SetSwapCallback + { + (OOVPA*)&D3DDevice_SetSwapCallback_1_0_5558, + XTL::EmuIDirect3DDevice8_SetSwapCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSwapCallback" + #endif + }, + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor + { + (OOVPA*)&D3DDevice_SetRenderState_TextureFactor_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_5233, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // D3DDevice_SetRenderState_SampleAlpha (* unchanged since 5233 *) + { + (OOVPA*)&D3DDevice_SetRenderState_SampleAlpha_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_SampleAlpha" + #endif + }, + // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8::GetViewport + { + (OOVPA*)&D3DDevice_GetViewport_1_0_5558, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8_GetProjectionViewportMatrix + { + (OOVPA*)&IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455, + + XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetProjectionViewportMatrix (5455)" + #endif + }, + // IDirect3DDevice8::GetModelView + { + (OOVPA*)&D3DDevice_GetModelView_1_0_5558, + + XTL::EmuIDirect3DDevice8_GetModelView, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetModelView" + #endif + }, + // IDirect3DDevice8::SetBackMaterial + { + (OOVPA*)&D3DDevice_SetBackMaterial_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetBackMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetBackMaterial" + #endif + }, + // IDirect3DDevice8::SetRenderState_TwoSidedLighting + { + (OOVPA*)&D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&D3DDevice_BeginStateBlock_1_0_5558, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&D3DDevice_EndStateBlock_1_0_5558, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetDeviceCaps, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDeviceCaps" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // Get2DSurfaceDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_5558, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuGet2DSurfaceDesc" + #endif + }, + // D3D::MakeRequestedSpace + { + (OOVPA*)&D3D_MakeRequestedSpace_1_0_5558, + + XTL::EmuD3D_MakeRequestedSpace, + + #ifdef _DEBUG_TRACE + "EmuD3D::MakeRequestedSpace" + #endif + }, + // D3DDevice_MakeSpace + { + (OOVPA*)&D3DDevice_MakeSpace_1_0_5558, + XTL::EmuD3DDevice_MakeSpace, + + #ifdef _DEBUG_TRACE + "D3DDevice_MakeSpace" + #endif + }, + // IDirect3DDevice8::SetRenderTarget + { + (OOVPA*)&D3DDevice_SetRenderTarget_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant + { + (OOVPA*)&D3DDevice_SetPixelShaderConstant_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant" + #endif + }, + // Lock2DSurface (* unchanged since 3925 *) + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_5455, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter_5455" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank_5455" + #endif + }, + // IDirect3DDevice8::SetScreenSpaceOffset + { + (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset_5455" + #endif + }, + // IDirect3DDevice8::SetScreenSpaceOffset + { + (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScreenSpaceOffset" + #endif + }, + // IDirect3DDevice8_InsertCallback + { + (OOVPA*)&D3DDevice_InsertCallback_1_0_5558, + + XTL::EmuIDirect3DDevice8_InsertCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertCallback" + #endif + }, + // IDirect3DDevice8::SetRenderState_LineWidth + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455, + + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth_5455" + #endif + }, + // D3DDevice_FlushVertexCache + { + (OOVPA*)&D3DDevice_FlushVertexCache_1_0_5558, + XTL::EmuIDirect3DDevice8_FlushVertexCache, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_FlushVertexCache" + #endif + }, + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, + + XTL::EmuIDirect3DDevice8_EnableOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EnableOverlay" + #endif + }, + // D3DDevice_SetRenderState_LogicOp + { + (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // IDirect3DDevice8::LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5455, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable_5455" + #endif + }, + // D3DDevice_SetModelView + { + (OOVPA*)&D3DDevice_SetModelView_1_0_5558, + XTL::EmuIDirect3DDevice8_SetModelView, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetModelView" + #endif + }, + // D3DDevice_GetBackBuffer + { + (OOVPA*)&D3DDevice_GetBackBuffer_1_0_5558, + XTL::EmuIDirect3DDevice8_GetBackBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer" + #endif + }, + // D3DDevice_PersistDisplay + { + (OOVPA*)&D3DDevice_PersistDisplay_1_0_5558, + XTL::EmuIDirect3DDevice8_PersistDisplay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_PersistDisplay" + #endif + }, + // D3DCubeTexture_GetCubeMapSurface + { + (OOVPA*)&D3DCubeTexture_GetCubeMapSurface_1_0_5558, + XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_GetCubeMapSurface" + #endif + }, + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::SetVertexDataColor + { + (OOVPA*)&D3DDevice_SetVertexDataColor_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexDataColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexDataColor" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&D3DDevice_SetVertexData4f_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&D3DDevice_SetVertexData2f_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) + { + (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_ApplyStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_ApplyStateBlock" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) + { + (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, + + XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // D3DDevice_LoadVertexShaderProgram + { + (OOVPA*)&D3DDevice_LoadVertexShaderProgram_1_0_5558, + + XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShaderProgram" + #endif + }, + // D3DDevice_SetPixelShaderProgram + { + (OOVPA*)&D3DDevice_SetPixelShaderProgram_1_0_5558, + XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderProgram" + #endif + }, + // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // D3DDevice_SetRenderState_MultiSampleMask (* unchanged since 5233 *) + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_5455, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode (5455)" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode (5455)" + #endif + }, + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::IsFencePending + { + (OOVPA*)&D3DDevice_IsFencePending_1_0_5558, + + XTL::EmuIDirect3DDevice8_IsFencePending, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_IsFencePending" + #endif + }, + // IDirect3DDevice8::SetRenderTargetFast (* unchanged since 5344 *) + { + (OOVPA*)&D3DDevice_SetRenderTargetFast_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetRenderTargetFast, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTargetFast" + #endif + }, +}; + +// ****************************************************************** +// * D3D8_1_0_5558_SIZE +// ****************************************************************** +uint32 D3D8_1_0_5558_SIZE = sizeof(D3D8_1_0_5558); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.h new file mode 100644 index 000000000..2f0e2fef2 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5849.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_1_0_5849_H +#define D3D8_1_0_5849_H + +#include "OOVPA.h" + +extern OOVPATable D3D8_1_0_5849[]; +extern uint32 D3D8_1_0_5849_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.inl new file mode 100644 index 000000000..ec4fcb405 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8.1.0.5849.inl @@ -0,0 +1,3373 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5849.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirect3DDevice8_EndVisibilityTest +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_EndVisibilityTest_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x10, 0x09 }, + { 0x12, 0x0E }, + { 0x18, 0x04 }, + { 0x34, 0xCC }, + { 0x3D, 0x0E }, + { 0x50, 0x0C }, + { 0x58, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetVisibilityTestResult +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_GetVisibilityTestResult_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x0E, 0x08 }, + { 0x10, 0xFF }, + { 0x2A, 0x16 }, + { 0x3C, 0x76 }, + { 0x3F, 0x0C }, + { 0x51, 0x0A }, + { 0x5F, 0x0C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetViewport +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_GetViewport_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x09, 0x05 }, + { 0x14, 0x04 }, + { 0x1D, 0x08 }, + { 0x20, 0x0C }, + { 0x26, 0x10 }, + { 0x2B, 0x40 }, + { 0x2F, 0x14 }, + { 0x31, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetBackBufferScale +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetBackBufferScale_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x24 }, + { 0x3E, 0x06 }, + { 0x62, 0xD9 }, + { 0x7E, 0xC4 }, + { 0x9E, 0x81 }, + { 0xBE, 0xFF }, + { 0xDE, 0xC0 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetBackBuffer2 +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5849 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 0, // XRef Not Used + + { + // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_GetBackBuffer2+0x0D : jnz +0x19 + { 0x0D, 0x75 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x19 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_GetBackBuffer2+0x18 : mov esi, [ecx+eax*4+0x21C0] + { 0x15, 0x8B }, // (Offset,Value)-Pair #6 + { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x17, 0x81 }, // (Offset,Value)-Pair #8 + { 0x18, 0x14 }, // (Offset,Value)-Pair #9 + { 0x19, 0x1A }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 + { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x41, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_GetDepthStencilSurface2 +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 0, // XRef Not Used + + { + // IDirect3DDevice8_GetDepthStencilSurface2+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x05 : push esi + { 0x05, 0x56 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x06 : mov esi, [eax + 0x1A08] + { 0x06, 0x8B }, // (Offset,Value)-Pair #3 + { 0x07, 0xB0 }, // (Offset,Value)-Pair #4 + { 0x08, 0x08 }, // (Offset,Value)-Pair #5 + { 0x09, 0x1A }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x0E : jnz +0x04 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x15 : call [addr] + { 0x15, 0xE8 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_GetDepthStencilSurface2+0x1D : retn + { 0x1D, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexShader +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x85 }, + { 0x3E, 0xE8 }, + { 0x5E, 0x75 }, + { 0x7E, 0x04 }, + { 0x9E, 0x24 }, + { 0xBE, 0x24 }, + { 0xDE, 0x83 }, + { 0xFE, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreatePixelShader +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_CreatePixelShader_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x07, 0x00 }, + { 0x10, 0xC0 }, + { 0x19, 0x08 }, + { 0x22, 0x78 }, + { 0x2B, 0x00 }, + { 0x34, 0xB9 }, + { 0x3D, 0x24 }, + { 0x46, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData4f +// ****************************************************************** +SOOVPA<17> IDirect3DDevice8_SetVertexData4f_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x0A, 0x46 }, + { 0x16, 0x08 }, + { 0x22, 0x09 }, + { 0x2E, 0x24 }, + { 0x3A, 0x24 }, + { 0x46, 0x8B }, + { 0x52, 0x14 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexDataColor +// ****************************************************************** +SOOVPA<17> IDirect3DDevice8_SetVertexDataColor_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x08, 0x06 }, + { 0x14, 0x8B }, + { 0x1C, 0x19 }, + { 0x26, 0xB6 }, + { 0x30, 0x00 }, + { 0x3A, 0xFF }, + { 0x44, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x09, 0x84 }, + { 0x14, 0x46 }, + { 0x1F, 0x24 }, + { 0x2A, 0xBA }, + { 0x35, 0x4A }, + { 0x40, 0x5E }, + { 0x4D, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilEnable +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // XRef Not Used + { + { 0x12, 0x8B }, + { 0x24, 0x33 }, + { 0x37, 0x74 }, + { 0x4A, 0x1E }, + { 0x5D, 0x74 }, + { 0x70, 0xB9 }, + { 0x83, 0x40 }, + { 0x96, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetIndices +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x0F, 0x10 }, + { 0x20, 0xC7 }, + { 0x31, 0xC0 }, + { 0x42, 0x78 }, + { 0x53, 0xBE }, + { 0x64, 0x89 }, + { 0x75, 0x10 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVertices +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x1E, 0x5E }, + { 0x3E, 0x17 }, + { 0x5E, 0x00 }, + { 0x7E, 0x8B }, + { 0x9E, 0x89 }, + { 0xBE, 0x2B }, + { 0xDE, 0x00 }, + { 0xFE, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVerticesUP +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x1F, 0x05 }, + { 0x3A, 0x89 }, + { 0x64, 0xF0 }, + { 0x73, 0x13 }, + { 0x94, 0xAF }, + { 0xAB, 0x12 }, + { 0xE4, 0xDB }, + { 0xFF, 0x0C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x04, 0x08 }, + { 0x0C, 0x81 }, + { 0x0E, 0x00 }, + { 0x10, 0x00 }, + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BeginStateBig +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_BeginStateBig_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x07, 0x01 }, + { 0x10, 0x8D }, + { 0x19, 0x3B }, + { 0x22, 0x8B }, + { 0x2B, 0x00 }, + { 0x34, 0xCA }, + { 0x40, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexBuffer2 +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x08, 0xE8 }, + { 0x12, 0x1E }, + { 0x1C, 0x50 }, + { 0x26, 0x68 }, + { 0x31, 0x33 }, + { 0x3A, 0xFF }, + { 0x44, 0x01 }, + } +}; + +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock +// ****************************************************************** +SOOVPA<8> IDirect3DVertexBuffer8_Lock_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x01, 0x51 }, + { 0x07, 0x8B }, + { 0x08, 0x4C }, + { 0x0A, 0x04 }, + { 0x0D, 0x24 }, + { 0x10, 0xC1 }, + { 0x13, 0x33 }, + { 0x16, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DVertexBuffer_Lock2 +// ****************************************************************** +SOOVPA<7> IDirect3DVertexBuffer8_Lock2_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x08, 0x56 }, + { 0x12, 0x06 }, + { 0x1D, 0xC7 }, + { 0x26, 0x00 }, + { 0x30, 0xC3 }, + { 0x3E, 0x8B }, + { 0x44, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_LightEnable +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x8D }, + { 0x3E, 0xC7 }, + { 0x5E, 0xC7 }, + { 0x7E, 0x00 }, + { 0x9E, 0x85 }, + { 0xBE, 0x01 }, + { 0xDE, 0x00 }, + { 0xFE, 0x83 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVertices +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x12, 0x8B }, + { 0x26, 0x8B }, + { 0x37, 0x00 }, + { 0x4A, 0x27 }, + { 0x5D, 0x89 }, + { 0x70, 0x75 }, + { 0x83, 0x40 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderTarget +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderTarget_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x44 }, + { 0x3E, 0x2C }, + { 0x5E, 0x8B }, + { 0x7E, 0xDE }, + { 0xA0, 0x89 }, + { 0xBE, 0x09 }, + { 0xDE, 0x8B }, + { 0xFE, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirect3D8_AllocContiguousMemory +// ****************************************************************** +SOOVPA<7> IDirect3D8_AllocContiguousMemory_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x05, 0x10 }, + { 0x0C, 0x00 }, + { 0x13, 0x00 }, + { 0x1A, 0x08 }, + { 0x21, 0xBC }, + { 0x28, 0x0D }, + { 0x2F, 0x24 }, + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_GetLevelDesc +// ****************************************************************** +// * NOTE: We are actually intercepting Get2DSurfaceDesc, because +// * GetLevelDesc Simply redirects to that function +// ****************************************************************** +SOOVPA<10> Get2DSurfaceDesc_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 0, // XRef Not Used + + { + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x2D, 0x57 }, // (Offset,Value)-Pair #3 + { 0x2E, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x52 : mov edx, [eax+0x1A14] + { 0x52, 0x8B }, // (Offset,Value)-Pair #5 + { 0x53, 0x90 }, // (Offset,Value)-Pair #6 + { 0x54, 0x14 }, // (Offset,Value)-Pair #7 + { 0x55, 0x1A }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateTexture2 +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, // ?? XREF_D3DDevice_CreateTexture2, // Xref Is Saved + XRefNotUsed, + + { + { 0x14, 0x4C }, + { 0x2A, 0x8B }, + { 0x42, 0x8B }, + { 0x56, 0x80 }, + { 0x70, 0x85 }, + { 0x82, 0x5E }, + { 0x98, 0x89 }, + { 0xAE, 0x1C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant1 +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 0, // XRef Not Used + + { + // IDirect3DDevice8_SetVertexShaderConstant1+0x05 : add eax, 0x1C + { 0x06, 0x83 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x08, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x0E : jnb +0x43 + { 0x0F, 0x73 }, // (Offset,Value)-Pair #4 + { 0x10, 0x43 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x28 : mov [eax-0x18], ecx + { 0x1D, 0x89 }, // (Offset,Value)-Pair #6 + { 0x1E, 0x48 }, // (Offset,Value)-Pair #7 + { 0x1F, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x3D : retn + { 0x53, 0xC3 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x47 : jmp +0xA2 + { 0x5D, 0xEB }, // (Offset,Value)-Pair #10 + { 0x5E, 0xA2 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData2f +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetVertexData2f_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x0D, 0x05 }, + { 0x17, 0x8D }, + { 0x19, 0xCD }, + { 0x1F, 0x4C }, + { 0x25, 0x54 }, + { 0x27, 0x10 }, + { 0x30, 0x0C }, + { 0x35, 0x0C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVerticesUP +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x72 }, + { 0x3E, 0xC0 }, + { 0x5E, 0xC6 }, + { 0x7E, 0x14 }, + { 0x9E, 0x00 }, + { 0xBE, 0x81 }, + { 0xDE, 0x8B }, + { 0xFE, 0x7D }, + } +}; + +// ****************************************************************** +// * IDirect3DTexture8_LockRect +// ****************************************************************** +SOOVPA<7> IDirect3DTexture8_LockRect_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x03, 0x14 }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x8B }, + { 0x17, 0x50 }, + { 0x20, 0xC2 }, + { 0x21, 0x14 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_BeginPushBuffer +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_BeginPushBuffer_1_0_5849 = +{ + 0, // Large == 0 + 6, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x09, 0x00 }, + { 0x11, 0x8B }, + { 0x2F, 0x08 }, + { 0x43, 0x57 }, + { 0x58, 0xC8 }, + { 0x63, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_EndPushBuffer +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_EndPushBuffer_1_0_5849 = +{ + 0, // Large == 0 + 6, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x09, 0x00 }, + { 0x15, 0x50 }, + { 0x47, 0x7B }, + { 0x61, 0x78 }, + { 0x77, 0x07 }, + { 0x8C, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_RunPushBuffer +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_RunPushBuffer_1_0_5849 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + 0, // XRef Not Used + + { + { 0x0E, 0xED }, + { 0x42, 0x18 }, + { 0x62, 0x04 }, + { 0x8D, 0x1C }, + { 0xAF, 0x0F }, + { 0xF6, 0x41 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVerticalBlankCallback +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x06, XREF_D3DDEVICE }, + + { 0x01, 0x44 }, + { 0x03, 0x04 }, + { 0x05, 0x0D }, + { 0x0C, 0xB8 }, + { 0x0D, 0x1D }, + { 0x11, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetViewport +// ****************************************************************** +SOOVPA<8> D3DDevice_SetViewport_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x86 }, + { 0x3E, 0x1B }, + { 0x5E, 0x8B }, + { 0x7E, 0x6D }, + { 0x9E, 0x81 }, + { 0xBE, 0x0C }, + { 0xDE, 0x75 }, + { 0xFE, 0x85 }, + } +}; + +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +SOOVPA<7> D3DDevice_BlockUntilVerticalBlank_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x05, 0x6A }, + { 0x08, 0x00 }, + { 0x0D, 0xC0 }, + { 0x12, 0x00 }, + { 0x17, 0x05 }, + { 0x1C, 0x50 }, + { 0x23, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x04, 0x08 }, + { 0x0C, 0x81 }, + { 0x0E, 0x44 }, + { 0x10, 0x00 }, + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_TwoSidedLighting +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0E, 0x05 }, + { 0x1E, 0x89 }, + { 0x30, 0x00 }, + { 0x40, 0x89 }, + { 0x52, 0x8B }, + { 0x60, 0x75 }, + { 0x6E, 0x48 }, + { 0x7E, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirectD3DDevice8_Release +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_Release_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x07, 0x8B }, + { 0x0C, 0x00 }, + { 0x13, 0xCF }, + { 0x1A, 0x28 }, + { 0x21, 0x05 }, + { 0x28, 0x00 }, + { 0x2F, 0x89 }, + { 0x36, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3D::KickOffAndWaitForIdle +// ****************************************************************** +/*SOOVPA<5> D3D_KickOffAndWaitForIdle_1_0_5849 = +{ + 0, // Large == 0 + 5, // Count == 5 + + XREF_D3D_KickOffAndWaitForIdle, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x05, 0x8B }, + { 0x06, 0x48 }, + { 0x07, 0x2C }, + { 0x0A, 0x51 }, + { 0x10, 0xC3 }, + } +};*/ + +// ****************************************************************** +// * D3DDevice_SetTile +// ****************************************************************** +SOOVPA<10> D3DDevice_SetTileNoWait_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 0, // Xref Not Used + + { + // D3DDevice_SetTileNoWait+0x00: sub esp, 0x1C + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x1C }, + // D3DDevice_SetTileNoWait+0x45: lea ebx, [ebx+ebp*8+0x1AC0] + { 0x45, 0x8D }, + { 0x46, 0x9C }, + { 0x47, 0xEB }, + { 0x48, 0xC0 }, + { 0x49, 0x1A }, + { 0x4A, 0x00 }, + { 0x4B, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xB4 }, + { 0x0D, 0x1D }, + { 0x10, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_StencilFail +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_StencilFail_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0C, 0x89 }, + { 0x1E, 0x8B }, + { 0x28, 0x74 }, + { 0x36, 0xD2 }, + { 0x44, 0x3D }, + { 0x52, 0xC7 }, + { 0x60, 0x04 }, + { 0x6E, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_VertexBlend +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x07, 0xCA }, + { 0x13, 0x89 }, + { 0x19, 0x8B }, + { 0x25, 0x8B }, + { 0x2B, 0x28 }, + { 0x34, 0x08 }, + { 0x3D, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice8::SetRenderState_LineWidth +// ****************************************************************** +SOOVPA<13> D3DDevice_SetRenderState_LineWidth_1_0_5849 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + 0, // XRef Not Used + + { + // IDirect3DDevice8_SetRenderState_LineWidth+0x00 : push ebx + { 0x00, 0x53 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x0C : mov [esp+8+argo_0], ebx + { 0x0C, 0x89 }, // (Offset,Value)-Pair #2 + { 0x0D, 0x5C }, // (Offset,Value)-Pair #3 + { 0x0E, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0F, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x28 : fstp [esp+10h+var_10] + { 0x28, 0xD9 }, // (Offset,Value)-Pair #6 + { 0x29, 0x1C }, // (Offset,Value)-Pair #7 + { 0x2A, 0x24 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x30 : mov edi, eax + { 0x30, 0x8B }, // (Offset,Value)-Pair #9 + { 0x31, 0xF8 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_LineWidth+0x41 : cmp eax, [esi+4] + { 0x41, 0x3B }, // (Offset,Value)-Pair #11 + { 0x42, 0x46 }, // (Offset,Value)-Pair #12 + { 0x43, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + + +// ****************************************************************** +// * D3DDevice8::SetDepthClipPlanes +// ****************************************************************** +SOOVPA<13> D3DDevice_SetDepthClipPlanes_1_0_5849 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + 0, // XRef Not Used + + { + // _D3DDevice_SetDepthClipPlanes+0x00 : mov eax, [esp+Flags] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x0C }, // (Offset,Value)-Pair #4 + + // _D3DDevice_SetDepthClipPlanes+0x00 : ja short loc_27ABD0 ; jumptable 0027AB71 default case + { 0x0F, 0x77 }, // (Offset,Value)-Pair #5 + { 0x10, 0x5F }, // (Offset,Value)-Pair #6 + + // _D3DDevice_SetDepthClipPlanes+0x00 : jmp ds:off_27ABEC[eax*4] ; switch jump + { 0x11, 0xFF }, // (Offset,Value)-Pair #7 + { 0x12, 0x24 }, // (Offset,Value)-Pair #8 + { 0x13, 0x85 }, // (Offset,Value)-Pair #9 + { 0x14, 0xEC }, // (Offset,Value)-Pair #10 + { 0x15, 0xAB }, // (Offset,Value)-Pair #11 + { 0x16, 0x27 }, // (Offset,Value)-Pair #12 + { 0x17, 0x00 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * D3DDevice_SetPalette +// ****************************************************************** +SOOVPA<7> D3DDevice_SetPalette_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x10, 0x98 }, + { 0x22, 0x0F }, + { 0x34, 0x00 }, + { 0x46, 0x9C }, + { 0x58, 0xC5 }, + { 0x6E, 0x8B }, + { 0x7C, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_LoadVertexShaderProgram +// ****************************************************************** +SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0B, 0x2D }, + { 0x18, 0x10 }, + { 0x25, 0xE0 }, + { 0x32, 0x5F }, + { 0x3F, 0x24 }, + { 0x4C, 0x83 }, + { 0x5C, 0x89 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetPushBufferOffset +// ****************************************************************** +SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x13, 0xCA }, + { 0x28, 0xFF }, + { 0x3D, 0x89 }, + { 0x52, 0x12 }, + { 0x67, 0xAB }, + { 0x7C, 0x51 }, + { 0x91, 0x5F }, + } +}; + +// ****************************************************************** +// * D3D::MakeRequestedSpace +// ****************************************************************** +SOOVPA<9> D3D_MakeRequestedSpace_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_D3D_MakeRequestedSpace, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x32, 0xC2 }, + { 0x33, 0x08 }, + { 0x8E, 0x83 }, + { 0x8F, 0xC0 }, + { 0x90, 0x04 }, + { 0xBD, 0xD1 }, + { 0xBE, 0xEB }, + { 0xBF, 0x03 }, + { 0xC0, 0xDF }, + } +}; + +// ****************************************************************** +// * D3D::Unknown (D3D::MakeSpace?) +// ****************************************************************** +// * FOR DEBUGGING ONLY! +// ****************************************************************** +SOOVPA<6> D3D_Unknown_1_0_5849 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x0A, XREF_D3D_MakeRequestedSpace }, + + { 0x05, 0x50 }, + { 0x06, 0xD1 }, + { 0x07, 0xE8 }, + { 0x08, 0x50 }, + { 0x0E, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_FlushVertexCache +// ****************************************************************** +SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x08, 0x06 }, + { 0x0D, 0x05 }, + { 0x13, 0xC7 }, + { 0x15, 0x10 }, + { 0x17, 0x04 }, + { 0x1C, 0x00 }, + { 0x21, 0xC0 }, + { 0x26, 0xC3 }, + } +}; + +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +SOOVPA<7> D3DDevice_AddRef_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x38 }, + { 0x0A, 0x00 }, + { 0x0D, 0x88 }, + { 0x10, 0x00 }, + { 0x13, 0xC1 }, + } +}; + +// ****************************************************************** +// * D3D::ClearStateBlockFlags +// ****************************************************************** +SOOVPA<9> D3D_ClearStateBlockFlags_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_CLEARSTATEBLOCKFLAGS, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3D_ClearStateBlockFlags+0x0A : mov ecx, 0x87 + { 0x0A, 0xB9 }, // (Offset,Value)-Pair #1 + { 0x0B, 0x87 }, // (Offset,Value)-Pair #2 + + // IDirect3D_ClearStateBlockFlags+0x16 : mov ecx, [edx+0x07A4] + { 0x16, 0x8B }, // (Offset,Value)-Pair #3 + { 0x17, 0x8A }, // (Offset,Value)-Pair #4 + { 0x18, 0xA4 }, // (Offset,Value)-Pair #5 + { 0x19, 0x07 }, // (Offset,Value)-Pair #6 + + // IDirect3D_ClearStateBlockFlags+0x2F : add ecx, 0x90 + { 0x2F, 0x81 }, // (Offset,Value)-Pair #7 + { 0x30, 0xC1 }, // (Offset,Value)-Pair #8 + { 0x31, 0x90 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * D3D::RecordStateBlock +// ****************************************************************** +SOOVPA<10> D3D_RecordStateBlock_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_RECORDSTATEBLOCK, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3D_RecordStateBlock+0x0F : mov eax, [edi+0x07A4] + { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 + { 0x10, 0x87 }, // (Offset,Value)-Pair #2 + { 0x11, 0xA4 }, // (Offset,Value)-Pair #3 + { 0x12, 0x07 }, // (Offset,Value)-Pair #4 + + // IDirect3D_RecordStateBlock+0x95 : add ebx, ecx + { 0x95, 0x03 }, // (Offset,Value)-Pair #5 + { 0x96, 0xD9 }, // (Offset,Value)-Pair #6 + + // IDirect3D_RecordStateBlock+0xD5 : mov dword ptr [esi+0x0C], 1 + { 0xD5, 0xC7 }, // (Offset,Value)-Pair #7 + { 0xD6, 0x46 }, // (Offset,Value)-Pair #8 + { 0xD7, 0x0C }, // (Offset,Value)-Pair #9 + { 0xD8, 0x01 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_BackFillMode +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_BackFillMode_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0B, 0xA3 }, + { 0x14, 0x04 }, + { 0x23, 0x8B }, + { 0x2A, 0xC9 }, + { 0x35, 0xC7 }, + { 0x40, 0x08 }, + { 0x4C, 0x5F }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0D, 0x8B }, + { 0x1D, 0x80 }, + { 0x2B, 0x08 }, + { 0x3A, 0x01 }, + { 0x49, 0xC7 }, + { 0x58, 0x05 }, + { 0x67, 0xC0 }, + { 0x76, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetTile +// ****************************************************************** +SOOVPA<7> D3DDevice_GetTile_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x06, 0x8B }, + { 0x0E, 0x94 }, + { 0x16, 0x8B }, + { 0x1E, 0x04 }, + { 0x26, 0x48 }, + { 0x2E, 0x8B }, + { 0x36, 0x14 }, + } +}; + +// ****************************************************************** +// * D3DDevice_Swap +// ****************************************************************** +SOOVPA<7> D3DDevice_Swap_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1B, 0xE8 }, + { 0x38, 0xC3 }, + { 0x55, 0xC0 }, + { 0x72, 0x3F }, + { 0x8F, 0x8E }, + { 0xAC, 0xC6 }, + { 0xC9, 0xC0 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap (2) +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_Swap2_1_0_5849 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 0, // XRef Not Used + + { + // IDirect3DDevice8_Swap+0x2A : mov ebx, 5 + { 0x2A, 0xBB }, // (Offset,Value)-Pair #1 + { 0x2B, 0x05 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_Swap+0x37 : test bl, 3 + { 0x37, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x38, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x39, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_Swap+0x60 : inc dword ptr [esi+0x2478] + { 0x60, 0xFF }, // (Offset,Value)-Pair #6 + { 0x61, 0x86 }, // (Offset,Value)-Pair #7 + { 0x62, 0x78 }, // (Offset,Value)-Pair #8 + { 0x63, 0x24 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_Swap+0xE0 : retn 4 + { 0xE0, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xE1, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * D3D::CDevice::KickOff +// ****************************************************************** +SOOVPA<13> D3D_CDevice_KickOff_1_0_5849 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + 0, // Xref Is Used + + { + // D3D::CDevice::KickOff+0x0A : mov edx, [ecx+0x35C] + { 0x0A, 0x8B }, + { 0x0B, 0x96 }, + { 0x0C, 0x70 }, + { 0x0D, 0x07 }, + { 0x0E, 0x00 }, + { 0x0F, 0x00 }, + + // D3D::CDevice::KickOff+0x14 : test ch, 0x20 + { 0x14, 0xF6 }, + { 0x15, 0xC4 }, + { 0x16, 0x20 }, + + // D3D::CDevice::KickOff+0x24 : sfence + { 0x24, 0x0F }, + { 0x25, 0xAE }, + { 0x26, 0xF8 }, + + // D3D::CDevice::KickOff+0xAF : retn + { 0xAF, 0xC3 } + } +}; + +// ****************************************************************** +// * D3DDevice_SetSoftDisplayFilter +// ****************************************************************** +SOOVPA<7> D3DDevice_SetSoftDisplayFilter_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0D, 0x56 }, + { 0x14, 0x8B }, + { 0x1F, 0x95 }, + { 0x2A, 0x00 }, + { 0x37, 0x33 }, + { 0x44, 0x01 }, + { 0x4D, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetFlickerFilter +// ****************************************************************** +SOOVPA<7> D3DDevice_SetFlickerFilter_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x07, 0xC9 }, + { 0x10, 0x24 }, + { 0x1A, 0x74 }, + { 0x22, 0x6A }, + { 0x2E, 0xC7 }, + { 0x34, 0x01 }, + { 0x3E, 0x5E }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMode +// ****************************************************************** +SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x1A }, + { 0x17, 0x14 }, + { 0x1B, 0x75 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x1A }, + { 0x17, 0x14 }, + { 0x1B, 0x74 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0D, 0xCE }, + { 0x1E, 0x8B }, + { 0x2B, 0xF9 }, + { 0x3A, 0xCF }, + { 0x49, 0x00 }, + { 0x58, 0xC1 }, + { 0x6B, 0x5F }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMask +// ****************************************************************** +SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0A, 0xA3 }, + { 0x12, 0x56 }, + { 0x1C, 0x8B }, + { 0x2A, 0x85 }, + { 0x30, 0x01 }, + { 0x3D, 0xC7 }, + { 0x44, 0x78 }, + { 0x4E, 0x04 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderConstant +// ****************************************************************** +SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x85 }, + { 0x3E, 0x8B }, + { 0x5E, 0xC0 }, + { 0x7E, 0x0F }, + { 0x9F, 0x8B }, + { 0xBE, 0x00 }, + { 0xDE, 0xC0 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetDisplayFieldStatus +// ****************************************************************** +SOOVPA<7> D3DDevice_GetDisplayFieldStatus_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x06, 0x90 }, + { 0x0E, 0x04 }, + { 0x16, 0x00 }, + { 0x1E, 0x56 }, + { 0x26, 0xD2 }, + { 0x2E, 0x89 }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetScissors +// ****************************************************************** +SOOVPA<7> D3DDevice_GetScissors_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x0B, 0x74 }, + { 0x14, 0x11 }, + { 0x1F, 0x04 }, + { 0x2A, 0x85 }, + { 0x35, 0xE1 }, + { 0x40, 0xC1 }, + { 0x4B, 0xA4 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetScissors +// ****************************************************************** +SOOVPA<8> D3DDevice_SetScissors_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1D, 0x44 }, + { 0x3C, 0x8B }, + { 0x5D, 0xD9 }, + { 0x7D, 0xD8 }, + { 0x99, 0x0E }, + { 0xB8, 0xE8 }, + { 0xD7, 0x24 }, + { 0xF6, 0x8B }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetBackMaterial +// ****************************************************************** +SOOVPA<8> D3DDevice_GetBackMaterial_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0D, 0x44 }, + { 0x0E, 0x0F }, + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3DDevice_CaptureStateBlock +// ****************************************************************** +SOOVPA<8> D3DDevice_CaptureStateBlock_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x1E, 0x3C }, + { 0x3E, 0xC0 }, + { 0x5E, 0x7E }, + { 0x7E, 0x00 }, + { 0x9E, 0x74 }, + { 0xC0, 0x8B }, + { 0xDE, 0x83 }, + { 0xFE, 0x45 }, + } +}; + +// ****************************************************************** +// * D3DDevice_DeleteStateBlock +// ****************************************************************** +SOOVPA<9> D3DDevice_DeleteStateBlock_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 7 + + XRefNotSaved, + 0, // Xref Not Used + + { + // D3DDevice_DeleteStateBlock(x)+26: mov eax, [esi+4] + { 0x13, 0x8B }, + { 0x14, 0x46 }, + { 0x15, 0x04 }, + + // D3DDevice_DeleteStateBlock(x)+1B: + { 0x23, 0x43 }, // inc ebx + { 0x24, 0x3B }, // cmp ebx, [edi] + { 0x25, 0x1F }, + + // D3DDevice_DeleteStateBlock(x)+34: cmp [edi+8], ebp + { 0x3C, 0x39 }, + { 0x3D, 0x6F }, + { 0x3E, 0x08 }, + } +}; + +// ****************************************************************** +// * D3DDevice_SetRenderState_RopZCmpAlwaysRead +// ****************************************************************** +SOOVPA<7> D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD }, + + { 0x01, 0x44 }, + { 0x04, 0xA3 }, + { 0x09, 0xE8 }, + { 0x0E, 0xC2 }, + { 0x0F, 0x04 }, + { 0x10, 0x00 }, + } +}; + +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +SOOVPA<8> D3DDevice_GetTexture2_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 0, // Xref Not Used + + { + { 0x03, 0x04 }, + { 0x0A, 0x56 }, + { 0x0D, 0x81 }, + { 0x0E, 0x88 }, + { 0x12, 0x8B }, + { 0x17, 0x06 }, + { 0x1E, 0x8B }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * D3D8_1_0_5849 +// ****************************************************************** +OOVPATable D3D8_1_0_5849[] = +{ + // IDirect3D8::CreateDevice (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_4627, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, + + XTL::EmuIDirect3DDevice8_BeginVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginVisibilityTest" + #endif + }, + // IDirect3DDevice8::EndVisibilityTest + { + (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_5849, + + XTL::EmuIDirect3DDevice8_EndVisibilityTest, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndVisibilityTest" + #endif + }, + // IDirect3DDevice8::GetVisibilityTestResult + { + (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_5849, + + XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetVisibilityTestResult" + #endif + }, + // IDirect3DDevice8::GetViewport + { + (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_5849, + + XTL::EmuIDirect3DDevice8_GetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetViewport" + #endif + }, + // IDirect3DDevice8::SetBackBufferScale + { + (OOVPA*)&IDirect3DDevice8_SetBackBufferScale_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetBackBufferScale, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetBackBufferScale" + #endif + }, + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetCreationParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetCreationParameters" + #endif + }, + // IDirect3DDevice8::Clear (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_5233, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&D3DDevice_Swap_1_0_5849, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::Swap (2) + { + (OOVPA*)&IDirect3DDevice8_Swap2_1_0_5849, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap2" + #endif + }, + // IDirect3DDevice8::GetBackBuffer2 + { + (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5849, + + XTL::EmuIDirect3DDevice8_GetBackBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackBuffer2" + #endif + }, + // IDirect3DDevice8::GetDepthStencilSurface2 + { + (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849, + + XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDepthStencilSurface2" + #endif + }, + // IDirect3DDevice8::CreateVertexShader + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_5849, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::CreatePixelShader + { + (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_5849, + + XTL::EmuIDirect3DDevice8_CreatePixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreatePixelShader" + #endif + }, + // IDirect3DDevice8::SetPixelShader (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, + + XTL::EmuIDirect3DDevice8_GetDisplayMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayMode" + #endif + }, + // IDirect3DDevice8::SetVertexData2f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::SetVertexData4f + { + (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetVertexData4f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData4f" + #endif + }, + // IDirect3DDevice8::SetVertexDataColor + { + (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetVertexDataColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexDataColor" + #endif + }, + // IDirect3DDevice8::End (* unchanged since 5558 *) + { + (OOVPA*)&IDirect3DDevice8_End_1_0_5558, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::SetVerticalBlankCallback + { + (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVerticalBlankCallback" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZBias" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetRenderState_Simple, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Simple" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::SetVertexShader (* unchanged since 5558 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::SetIndices + { + (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetIndices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetIndices" + #endif + }, + // IDirect3DDevice8::SetTexture (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // D3D::CDevice::LazySetStateVB (XREF) (* unchanged since 5558 *) + { + (OOVPA*)&D3D_CDevice_LazySetStateVB_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "D3D::CDevice::LazySetStateVB (XREF)" + #endif + }, + // IDirect3DDevice8::BeginPush (* unchanged since 5558 *) + { + (OOVPA*)&IDirect3DDevice8_BeginPush_1_0_5558, + + XTL::EmuIDirect3DDevice8_BeginPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPush" + #endif + }, + // IDirect3DDevice8::EndPush (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, + + XTL::EmuIDirect3DDevice8_EndPush, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPush" + #endif + }, + // /* Not implemented yet. + // IDirect3DDevice8::BeginPushBuffer + { + (OOVPA*)&IDirect3DDevice8_BeginPushBuffer_1_0_5849, + + XTL::EmuIDirect3DDevice8_BeginPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginPushBuffer" + #endif + }, + // IDirect3DDevice8::EndPushBuffer + { + (OOVPA*)&IDirect3DDevice8_EndPushBuffer_1_0_5849, + + XTL::EmuIDirect3DDevice8_EndPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndPushBuffer" + #endif + }, + // */ + // IDirect3DDevice8::RunPushBuffer + { + (OOVPA*)&IDirect3DDevice8_RunPushBuffer_1_0_5849, + + XTL::EmuIDirect3DDevice8_RunPushBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_RunPushBuffer" + #endif + }, + // IDirect3DDevice8::Begin (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_Begin_1_0_5233, + + XTL::EmuIDirect3DDevice8_Begin, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Begin" + #endif + }, + // IDirect3DDevice8::BeginStateBig + { + (OOVPA*)&IDirect3DDevice8_BeginStateBig_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "IDirect3DDevice8_BeginStateBig (XRef)" + #endif + + }, + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, + + XTL::EmuIDirect3DDevice8_GetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTransform" + #endif + }, + // IDirect3DDevice8::SetTransform (* unchanged since 5558 *) + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5849, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::DrawIndexedVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849, + + XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVerticesUP" + #endif + }, + // IDirect3DDevice8::SetMaterial + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DResource8::Register (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Register_1_0_3925, + + XTL::EmuIDirect3DResource8_Register, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Register" + #endif + }, + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::Release (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DResource8_Release_1_0_3925, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, + + XTL::EmuIDirect3DResource8_IsBusy, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_IsBusy" + #endif + }, + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, + + XTL::EmuIDirect3DSurface8_GetDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_GetDesc" + #endif + }, + // IDirect3DDevice8::CopyRects (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_5233, + + XTL::EmuIDirect3DDevice8_CopyRects, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CopyRects" + #endif + }, + // IDirect3DPalette8::Lock2 (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DPalette8_Lock2_1_0_5233, + + XTL::EmuIDirect3DPalette8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DPalette8_Lock2" + #endif + }, + // IDirect3DTexture8::LockRect + { + (OOVPA*)&IDirect3DTexture8_LockRect_1_0_5849, + + XTL::EmuIDirect3DTexture8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_LockRect" + #endif + }, + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + { + (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, + + XTL::EmuIDirect3DSurface8_LockRect, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DSurface8_LockRect" + #endif + }, + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, + + XTL::EmuIDirect3DBaseTexture8_GetLevelCount, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DBaseTexture8_GetLevelCount" + #endif + }, + // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, + + XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetSurfaceLevel2" + #endif + }, + // IDirect3DDevice8::SetLight + { + + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer2 + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_5849, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer2" + #endif + }, + // IDirect3DVertexBuffer8_Lock + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_5849, + + XTL::EmuIDirect3DVertexBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock" + #endif + }, + // IDirect3DVertexBuffer8::Lock2 + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_5849, + + XTL::EmuIDirect3DVertexBuffer8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock2" + #endif + }, + // IDirect3DDevice8_LightEnable + { + (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5849, + + XTL::EmuIDirect3DDevice8_LightEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LightEnable" + #endif + }, + // IDirect3DDevice8_DrawVertices + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5849, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3D8_AllocContiguousMemory + { + (OOVPA*)&IDirect3D8_AllocContiguousMemory_1_0_5849, + XTL::EmuIDirect3D8_AllocContiguousMemory, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_AllocContiguousMemory" + #endif + }, + // IDirect3DTexture8_GetLevelDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_5849, + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetLevelDesc" + #endif + }, + // IDirect3DDevice8::CreateTexture2 + { + (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_5849, + + XTL::EmuIDirect3DDevice8_CreateTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateTexture2" + #endif + }, + // Lock2DSurface + { + (OOVPA*)&Lock2DSurface_1_0_3925, + + XTL::EmuLock2DSurface, + + #ifdef _DEBUG_TRACE + "EmuLock2DSurface" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant4 + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant4" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant1 + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant1" + #endif + }, + // IDirect3DDevice8::DrawVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_5849, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // IDirect3DDevice8::SetRenderTarget + { + (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderTarget, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTarget" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&D3DDevice_SetViewport_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::BlockUntilVerticalBlank + { + (OOVPA*)&D3DDevice_BlockUntilVerticalBlank_1_0_5849, + + XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BlockUntilVerticalBlank" + #endif + }, + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FrontFace" + #endif + }, + // IDirect3DDevice8::SetBackMaterial + { + (OOVPA*)&D3DDevice_SetBackMaterial_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetBackMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetBackMaterial" + #endif + }, + // IDirect3DDevice8::SetRenderState_TwoSidedLighting + { + (OOVPA*)&D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" + #endif + }, + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_5233, + + XTL::EmuIDirect3D8_KickOffAndWaitForIdle, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_KickOffAndWaitForIdle" + #endif + }, + // D3D::SetTileNoWait + { + (OOVPA*)&D3DDevice_SetTileNoWait_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetTileNoWait, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTileNoWait" + #endif + }, + // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) + { + (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, + + XTL::EmuIDirect3DDevice8_SetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetGammaRamp" + #endif + }, + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + { + (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, + + XTL::EmuIDirect3DDevice8_GetGammaRamp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetGammaRamp" + #endif + }, + // D3DDevice_SetSwapCallback + { + (OOVPA*)&D3DDevice_SetSwapCallback_1_0_5849, + XTL::EmuIDirect3DDevice8_SetSwapCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSwapCallback" + #endif + }, + // IDirect3DDevice8::GetRenderTarget2 (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_5233, + + XTL::EmuIDirect3DDevice8_GetRenderTarget2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetRenderTarget2" + #endif + }, + // D3DDevice_SetRenderState_StencilFail + { + (OOVPA*)&D3DDevice_SetRenderState_StencilFail_1_0_5849, + XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilFail" + #endif + }, + // D3DDevice_SetRenderState_VertexBlend + { + (OOVPA*)&D3DDevice_SetRenderState_VertexBlend_1_0_5849, + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // D3DDevice_SetRenderState_VertexBlend + { + (OOVPA*)&D3DDevice_SetRenderState_VertexBlend_1_0_5849, + XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_VertexBlend" + #endif + }, + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, + + XTL::EmuIDirect3DDevice8_Reset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Reset" + #endif + }, + // IDirect3DDevice::Release + { + (OOVPA*)&IDirect3DDevice8_Release_1_0_5849, + XTL::EmuIDirect3DDevice8_Release, + + #ifdef _DEBUG_TRACE + "D3DDevice_Release" + #endif + }, + // IDirect3DDevice8_InsertCallback (* unchanged since 5558 *) + { + (OOVPA*)&D3DDevice_InsertCallback_1_0_5558, + + XTL::EmuIDirect3DDevice8_InsertCallback, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_InsertCallback" + #endif + }, + // D3DDevice::SetRenderState_LineWidth + { + (OOVPA*)&D3DDevice_SetRenderState_LineWidth_1_0_5849, + XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LineWidth" + #endif + }, + // D3DDevice_SetRenderState_SampleAlpha (* unchanged since 5233 *) + { + (OOVPA*)&D3DDevice_SetRenderState_SampleAlpha_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_SampleAlpha" + #endif + }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + { + (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, + + XTL::EmuIDirect3DDevice8_EnableOverlay, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EnableOverlay" + #endif + }, + // D3DDevice_SetRenderState_LogicOp (* unchanged since 5558 *) + { + (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_LogicOp" + #endif + }, + // D3DDevice_SetRenderState_MultiSampleMask + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5849, + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" + #endif + }, + // D3DDevice_SetPalette + { + (OOVPA*)&D3DDevice_SetPalette_1_0_5849, + XTL::EmuIDirect3DDevice8_SetPalette, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPalette" + #endif + }, + // D3DDevice_LoadVertexShaderProgram + { + (OOVPA*)&D3DDevice_LoadVertexShaderProgram_1_0_5849, + XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShaderProgram" + #endif + }, + // D3DDevice_GetPushBufferOffset + { + (OOVPA*)&D3DDevice_GetPushBufferOffset_1_0_5849, + XTL::EmuIDirect3DDevice8_GetPushBufferOffset, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetPushBufferOffset" + #endif + }, + // D3D::MakeRequestedSpace + { + (OOVPA*)&D3D_MakeRequestedSpace_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "D3D::MakeRequestedSpace (XRef)" + #endif + }, + // D3D::Unknown + { + (OOVPA*)&D3D_Unknown_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "D3D::Unknown (XRef)" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstantNotInline (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" + #endif + }, + // D3DDevice_FlushVertexCache + { + (OOVPA*)&D3DDevice_FlushVertexCache_1_0_5849, + XTL::EmuIDirect3DDevice8_FlushVertexCache, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_FlushVertexCache" + #endif + }, + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + { + (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, + + XTL::EmuIDirect3DDevice8_GetVertexShaderSize, + + #ifdef _DEBUG_TRACE + "D3DDevice_GetVertexShaderSize" + #endif + }, + // IDirect3DDevice8::LoadVertexShader (* unchanged since 5233 *) + { + (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_5233, + + XTL::EmuIDirect3DDevice8_LoadVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_LoadVertexShader" + #endif + }, + // IDirect3DDevice8::SelectVertexShader (* unchanged since 5558 *) + { + (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_5558, + + XTL::EmuIDirect3DDevice8_SelectVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SelectVertexShader" + #endif + }, + // D3DDevice_RunVertexStateShader (* unchanged since 4627 *) + { + (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, + + XTL::EmuIDirect3DDevice8_RunVertexStateShader, + + #ifdef _DEBUG_TRACE + "D3DDevice_RunVertexStateShader" + #endif + }, + // IDirect3DDevice8::AddRef + { + (OOVPA*)&D3DDevice_AddRef_1_0_5849, + + XTL::EmuIDirect3DDevice8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_AddRef" + #endif + }, + // D3D::ClearStateBlockFlags + { + (OOVPA*)&D3D_ClearStateBlockFlags_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "D3D::ClearStateBlockFlags (XREF)" + #endif + }, + // D3D::RecordStateBlock + { + (OOVPA*)&D3D_RecordStateBlock_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "D3D::RecordStateBlock (XREF)" + #endif + }, + // IDirect3DDevice8::BeginStateBlock + { + (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_BeginStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_BeginStateBlock" + #endif + }, + // IDirect3DDevice8::EndStateBlock + { + (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, + + XTL::EmuIDirect3DDevice8_EndStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_EndStateBlock" + #endif + }, + // D3DDevice_SetRenderState_BackFillMode + { + (OOVPA*)&D3DDevice_SetRenderState_BackFillMode_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_BackFillMode" + #endif + }, + // D3DDevice_SetRenderState_Dxt1NoiseEnable + { + (OOVPA*)&D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" + #endif + }, + // D3DDevice_GetTile + { + (OOVPA*)&D3DDevice_GetTile_1_0_5849, + + XTL::EmuIDirect3DDevice8_GetTile, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTile" + #endif + }, + // D3D::CDevice::KickOff + { + (OOVPA*)&D3D_CDevice_KickOff_1_0_5849, + + XTL::EmuD3DDevice_KickOff, + + #ifdef _DEBUG_TRACE + "D3D::CDevice::KickOff (D3DDevice::KickPushBuffer)" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // IDirect3DDevice8::SetSoftDisplayFilter + { + (OOVPA*)&D3DDevice_SetSoftDisplayFilter_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetSoftDisplayFilter" + #endif + }, + // IDirect3DDevice8::SetFlickerFilter + { + (OOVPA*)&D3DDevice_SetFlickerFilter_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetFlickerFilter, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetFlickerFilter" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" + #endif + }, + // IDirect3DDevice8::SetRenderState_MultiSampleMask + { + (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" + #endif + }, + // IDirect3DDevice8::SetPixelShaderConstant + { + (OOVPA*)&D3DDevice_SetPixelShaderConstant_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderConstant" + #endif + }, + // D3DDevice_GetDisplayFieldStatus + { + (OOVPA*)&D3DDevice_GetDisplayFieldStatus_1_0_5849, + XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetDisplayFieldStatus" + #endif + }, + // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) + { + (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, + + XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant1Fast (* Unchanged since 5558 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant1Fast" + #endif + }, + // D3DDevice_SetPixelShaderProgram (* Unchanged since 5558 *) + { + (OOVPA*)&D3DDevice_SetPixelShaderProgram_1_0_5558, + XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShaderProgram" + #endif + }, + // IDirect3DDevice8::SetScissors + { + (OOVPA*)&D3DDevice_SetScissors_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetScissors" + #endif + }, + // IDirect3DDevice8::GetScissors + { + (OOVPA*)&D3DDevice_GetScissors_1_0_5849, + + XTL::EmuIDirect3DDevice8_GetScissors, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetScissors" + #endif + }, + // IDirect3DDevice8::GetBackMaterial + { + (OOVPA*)&D3DDevice_GetBackMaterial_1_0_5849, + + XTL::EmuIDirect3DDevice8_GetBackMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetBackMaterial" + #endif + }, + // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) + { + (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, + + XTL::EmuIDirect3DDevice8_ApplyStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_ApplyStateBlock" + #endif + }, + // IDirect3DDevice8::CaptureStateBlock + { + (OOVPA*)&D3DDevice_CaptureStateBlock_1_0_5849, + + XTL::EmuIDirect3DDevice8_CaptureStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CaptureStateBlock" + #endif + }, + // IDirect3DDevice8::DeleteStateBlock + { + (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_5849, + + XTL::EmuIDirect3DDevice8_DeleteStateBlock, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DeleteStateBlock" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead + { + (OOVPA*)&D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_RopZRead" + #endif + }, + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, + + XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" + #endif + }, + // D3DDevice_GetTexture2 + { + (OOVPA*)&D3DDevice_GetTexture2_1_0_5849, + XTL::EmuIDirect3DDevice8_GetTexture2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_GetTexture2" + #endif + }, + // IDirect3DDevice8::SetRenderTargetFast (* unchanged since 5344 *) + { + (OOVPA*)&D3DDevice_SetRenderTargetFast_1_0_5344, + + XTL::EmuIDirect3DDevice8_SetRenderTargetFast, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderTargetFast" + #endif + }, + // D3DDevice_SetDepthClipPlanes + { + (OOVPA*)&D3DDevice_SetDepthClipPlanes_1_0_5849, + XTL::EmuIDirect3DDevice8_SetDepthClipPlanes, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetDepthClipPlanes" + #endif + }, +}; + +// ****************************************************************** +// * D3D8_1_0_5849_SIZE +// ****************************************************************** +uint32 D3D8_1_0_5849_SIZE = sizeof(D3D8_1_0_5849); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.h b/src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.h new file mode 100644 index 000000000..21ba788bb --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.h @@ -0,0 +1,45 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8LTCG.1.0.5849.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8LTCG_1_0_5849_H +#define D3D8LTCG_1_0_5849_H + +#include "OOVPA.h" + +extern SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG; +extern SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG; + +extern OOVPATable D3D8LTCG_1_0_5849[]; +extern uint32 D3D8LTCG_1_0_5849_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.inl new file mode 100644 index 000000000..8bf69603b --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/D3D8LTCG.1.0.5849.inl @@ -0,0 +1,1729 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8LTCG.1.0.5849.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// Verteks 09/03/2009 +// For Burnout 3 Takedown + +// ****************************************************************** +// * IDirect3D8_CreateDevice +// ****************************************************************** +SOOVPA<8> IDirect3D8_CreateDevice_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_CreateDevice+0x07 : jnz +0x0A + { 0x07, 0x75 }, // (Offset,Value)-Pair #1 + { 0x08, 0x0A }, // (Offset,Value)-Pair #2 + + // IDirect3D8_CreateDevice+0x7F : rep stos + { 0x7F, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x80, 0xAB }, // (Offset,Value)-Pair #4 + + // IDirect3D8_CreateDevice+0x82 : mov eax, esi + { 0x82, 0x8B }, // (Offset,Value)-Pair #5 + { 0x83, 0xC6 }, // (Offset,Value)-Pair #6 + + // IDirect3D8_CreateDevice+0x8F : retn 0x18 + { 0x8F, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x90, 0x18 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetPixelShader +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG = +{ + 0, // Large == 0 + 9, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3D8_SetPixelShader+0x1E : jnz +0x67 + { 0x1E, 0x75 }, // (Offset,Value)-Pair #1 + { 0x1F, 0x67 }, // (Offset,Value)-Pair #2 + + // IDirect3D8_SetPixelShader+0x3E : or eax, 0x2000 + { 0x3E, 0x0D }, // (Offset,Value)-Pair #3 + { 0x3F, 0x00 }, // (Offset,Value)-Pair #4 + + // IDirect3D8_SetPixelShader+0x60 : push eax + { 0x60, 0x50 }, // (Offset,Value)-Pair #5 + + // IDirect3D8_SetPixelShader+0x61 : shr eax, 1 + { 0x61, 0xD1 }, // (Offset,Value)-Pair #6 + { 0x62, 0xE8 }, // (Offset,Value)-Pair #7 + + // IDirect3D8_SetPixelShader+0xE1 : jb +0x0E + { 0xE1, 0x72 }, // (Offset,Value)-Pair #8 + { 0xE2, 0x0E }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexShader +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x85 }, + { 0x3E, 0xE8 }, + { 0x5E, 0x75 }, + { 0x7E, 0x04 }, + { 0x9E, 0x24 }, + { 0xBE, 0x8B }, + { 0xDE, 0x73 }, + { 0xFD, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawIndexedVertices +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x13, 0x89 }, + { 0x3E, 0x3B }, + { 0x5E, 0x05 }, + { 0x7E, 0xC3 }, + { 0x9E, 0xC1 }, + { 0xC4, 0x03 }, + { 0xDE, 0xE2 }, + { 0xFD, 0xEA }, + } +}; + +// Verteks 10/03/2009 + +// ****************************************************************** +// * IDirect3DDevice8_SetTexture +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x7C }, + { 0x3C, 0xE8 }, + { 0x5F, 0xE8 }, + { 0x7E, 0x45 }, + { 0x9E, 0x08 }, + { 0xBE, 0x0C }, + { 0xDE, 0x0F }, + { 0xFE, 0x8D }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetViewport +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetViewport_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xAE }, + { 0x3E, 0x53 }, + { 0x5E, 0x00 }, + { 0x7E, 0x12 }, + { 0x9E, 0x75 }, + { 0xBE, 0x4C }, + { 0xDE, 0xE1 }, + { 0xF9, 0x7D }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetLight +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x00 }, + { 0x3E, 0x89 }, + { 0x5E, 0x00 }, + { 0x7E, 0x07 }, + { 0x9E, 0xC8 }, + { 0xBE, 0xC9 }, + { 0xDE, 0x07 }, + { 0xFD, 0xC1 }, + } +}; + +/* Same as 5558 +// ****************************************************************** +// * IDirect3DDevice8_SetTransform +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0xB9 }, + { 0x3E, 0x0F }, + { 0x5E, 0xD9 }, + { 0x7A, 0x00 }, + { 0x99, 0x83 }, + { 0xB8, 0xE0 }, + { 0xD7, 0xD9 }, + { 0xF6, 0xF6 }, + } +}; +*/ + +/* Same as 5849 +// ****************************************************************** +// * IDirect3DDevice8_SetMaterial +// ****************************************************************** +SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849_LTCG = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x08 }, + { 0x0C, 0x81 }, + { 0x0E, 0x00 }, + { 0x10, 0x00 }, + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, + } +}; +*/ + +// ****************************************************************** +// * IDirect3DDevice8_SetStreamSource +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetStreamSource+0x07 : mov ebx, [esp+0x0C] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x5C }, // (Offset,Value)-Pair #2 + { 0x09, 0x24 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x0C }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetStreamSource+0x28 : jz +0x26 + { 0x28, 0x74 }, // (Offset,Value)-Pair #5 + { 0x29, 0x26 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetStreamSource+0x70 : or ecx, 0x40 + { 0x70, 0x83 }, // (Offset,Value)-Pair #7 + { 0x71, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x72, 0x40 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetStreamSource+0x7E : or ecx, 0x70 + { 0x7E, 0x83 }, // (Offset,Value)-Pair #10 + { 0x7F, 0xC9 }, // (Offset,Value)-Pair #11 + { 0x80, 0x70 }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C + { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 + } +}; + +/* Same as 5849 +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShaderConstant1 +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849_LTCG = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShaderConstant1+0x06 : add eax, 0x1C + { 0x06, 0x83 }, // (Offset,Value)-Pair #1 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x08, 0x1C }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x0F : jnb +0x43 + { 0x0F, 0x73 }, // (Offset,Value)-Pair #4 + { 0x10, 0x43 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x1D : mov [eax-0x18], ecx + { 0x1D, 0x89 }, // (Offset,Value)-Pair #6 + { 0x1E, 0x48 }, // (Offset,Value)-Pair #7 + { 0x1F, 0xE8 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x53 : retn + { 0x53, 0xC3 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexShaderConstant1+0x5D : jmp +0xA2 + { 0x5D, 0xEB }, // (Offset,Value)-Pair #10 + { 0x5E, 0xA2 }, // (Offset,Value)-Pair #11 + } +}; +*/ + +/* Same as 5849 +// ****************************************************************** +// * IDirect3DDevice8_CreateVertexBuffer2 +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849_LTCG = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0xE8 }, + { 0x12, 0x1E }, + { 0x1C, 0x50 }, + { 0x26, 0x68 }, + { 0x31, 0x33 }, + { 0x3A, 0xFF }, + { 0x44, 0x01 }, + } +}; +*/ + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_TexCoordIndex +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x14 : shl eax, 0x07 + { 0x14, 0xC1 }, // (Offset,Value)-Pair #1 + { 0x15, 0xE0 }, // (Offset,Value)-Pair #2 + { 0x16, 0x07 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x26 : cmp eax, ecx + { 0x26, 0x3B }, // (Offset,Value)-Pair #4 + { 0x27, 0xC1 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x7A : mov ebp, 0x2400 + { 0x7A, 0xBD }, // (Offset,Value)-Pair #6 + { 0x7C, 0x24 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetTextureState_TexCoordIndex+0xB3 : shl ebx, 0x04 + { 0xB3, 0xC1 }, // (Offset,Value)-Pair #8 + { 0xB4, 0xE3 }, // (Offset,Value)-Pair #9 + { 0xB5, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_BumpEnv +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03 + { 0x18, 0x75 }, // (Offset,Value)-Pair #1 + { 0x19, 0x03 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x1D : test bl, 3 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #4 + { 0x1F, 0x03 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x3B : mov ecx, [esp+0x18] + { 0x3B, 0x8B }, // (Offset,Value)-Pair #6 + { 0x3C, 0x4C }, // (Offset,Value)-Pair #7 + { 0x3D, 0x24 }, // (Offset,Value)-Pair #8 + { 0x3E, 0x18 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetTextureState_BumpEnv+0x59 : shl esi, 5 + { 0x59, 0xC1 }, // (Offset,Value)-Pair #10 + { 0x5A, 0xE6 }, // (Offset,Value)-Pair #11 + { 0x5B, 0x05 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_BorderColor +// ****************************************************************** +SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_BorderColor+0x0C : jb +0x0E + { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x0E }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x22 : shl edx, 6 + { 0x22, 0xC1 }, // (Offset,Value)-Pair #3 + { 0x23, 0xE2 }, // (Offset,Value)-Pair #4 + { 0x24, 0x06 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x34 : add eax, 8; mov [esi], eax; shl ecx, 7 + { 0x34, 0x83 }, // (Offset,Value)-Pair #6 + { 0x35, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x36, 0x08 }, // (Offset,Value)-Pair #8 + { 0x37, 0x89 }, // (Offset,Value)-Pair #9 + { 0x38, 0x06 }, // (Offset,Value)-Pair #10 + { 0x39, 0xC1 }, // (Offset,Value)-Pair #11 + { 0x3A, 0xE1 }, // (Offset,Value)-Pair #12 + { 0x3B, 0x07 }, // (Offset,Value)-Pair #13 + + // IDirect3DDevice8_SetTextureState_BorderColor+0x43 : retn 0x08 + { 0x43, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x44, 0x08 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_CullMode +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_DXSRSCULLMODE, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirect3DDevice8_SetRenderState_CullMode+0x23 : mov dword ptr [eax], 0x40308 + { 0x23, 0xC7 }, // (Offset,Value)-Pair #1 + { 0x25, 0x08 }, // (Offset,Value)-Pair #2 + { 0x26, 0x03 }, // (Offset,Value)-Pair #3 + { 0x27, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_CullMode+0x2E : add eax, 8 + { 0x2E, 0x83 }, // (Offset,Value)-Pair #5 + { 0x2F, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x30, 0x08 }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_SetRenderState_CullMode+0x3A : retn 4 + { 0x3A, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x3B, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_CullMode+0x5C : add edx, 0x404 + { 0x5D, 0x81 }, // (Offset,Value)-Pair #10 + { 0x5E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x5F, 0x04 }, // (Offset,Value)-Pair #12 + { 0x60, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_TextureFactor +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x84 }, + { 0x14, 0x46 }, + { 0x28, 0x24 }, + { 0x33, 0xBA }, + { 0x3D, 0x4A }, + { 0x48, 0x5E }, + { 0x55, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_NormalizeNormals +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x2E : or [addr], 0x200 + { 0x2E, 0x81 }, // (Offset,Value)-Pair #3 + { 0x2F, 0x0D }, // (Offset,Value)-Pair #4 + { 0x34, 0x00 }, // (Offset,Value)-Pair #5 + { 0x35, 0x02 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x3F : retn 0x04 + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x40, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ZEnable +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x72 }, + { 0x2B, 0xC9 }, + { 0x3D, 0x89 }, + { 0x4F, 0x0C }, + { 0x63, 0x74 }, + { 0x74, 0x8B }, + { 0x8A, 0x8B }, + { 0x97, 0x06 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_StencilEnable +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + { + { 0x12, 0x8B }, + { 0x2D, 0x33 }, + { 0x40, 0x74 }, + { 0x4A, 0x74 }, + { 0x63, 0x89 }, + { 0x79, 0xB9 }, + { 0x92, 0x33 }, + { 0x9F, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +//SOOVPA<7> IDirect3DDevice8_Swap_1_0_5849_LTCG = +//{ +// 0, // Large == 0 +// 7, // Count == 7 +// +// XRefNotSaved, +// XRefNotUsed, +// +// { +// { 0x1B, 0xE8 }, +// { 0x38, 0xC3 }, +// { 0x55, 0xC0 }, +// { 0x72, 0xEB }, +// { 0x93, 0x85 }, +// { 0xAA, 0xC6 }, +// { 0xC9, 0x0A }, +// } +//}; + +/* Same as 4627 +// ****************************************************************** +// * IDirect3DDevice8_SetVertexData2f +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_5849_LTCG = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexData2f+0x20 : lea edx, ds:abs[ecx*8] + { 0x20, 0x8D }, // (Offset,Value)-Pair #1 + { 0x21, 0x14 }, // (Offset,Value)-Pair #2 + { 0x22, 0xCD }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_SetVertexData2f+0x2B : mov [eax], edx; mov edx, [esp+0x10] + { 0x2B, 0x89 }, // (Offset,Value)-Pair #4 + { 0x2C, 0x10 }, // (Offset,Value)-Pair #5 + { 0x2D, 0x8B }, // (Offset,Value)-Pair #6 + { 0x2E, 0x54 }, // (Offset,Value)-Pair #7 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #8 + { 0x30, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetVertexData2f+0x37 : add eax, 0x0C + { 0x37, 0x83 }, // (Offset,Value)-Pair #10 + { 0x38, 0xC0 }, // (Offset,Value)-Pair #11 + { 0x39, 0x0C }, // (Offset,Value)-Pair #12 + + // IDirect3DDevice8_SetVertexData2f+0x3D : retn 0x0C + { 0x3D, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x3E, 0x0C }, // (Offset,Value)-Pair #14 + } +}; +*/ + +// ****************************************************************** +// * IDirect3DDevice8_End +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_End_1_0_5849_LTCG = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x13, 0x50 }, + { 0x1C, 0xC7 }, + { 0x22, 0xC7 }, + { 0x2B, 0x08 }, + { 0x34, 0xE1 }, + { 0x49, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FillMode +// ****************************************************************** +SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_FillMode+0x2A : mov ecx, [esp+0x08] + { 0x2A, 0x8B }, // (Offset,Value)-Pair #3 + { 0x2B, 0x4C }, // (Offset,Value)-Pair #4 + { 0x2C, 0x24 }, // (Offset,Value)-Pair #5 + { 0x2D, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_FillMode+0x2E : jnz +0x02 + { 0x2E, 0x75 }, // (Offset,Value)-Pair #7 + { 0x2F, 0x02 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_FillMode+0x3E : add eax, 0x0C + { 0x3E, 0x83 }, // (Offset,Value)-Pair #9 + { 0x3F, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x40, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_FogColor +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_FogColor+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_FogColor+0x09 : cmp eax, [esi+4] + { 0x09, 0x3B }, // (Offset,Value)-Pair #3 + { 0x0A, 0x46 }, // (Offset,Value)-Pair #4 + { 0x0B, 0x04 }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_FogColor+0x2E : shl edi, 0x10 + { 0x2E, 0xC1 }, // (Offset,Value)-Pair #6 + { 0x2F, 0xE7 }, // (Offset,Value)-Pair #7 + { 0x30, 0x10 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_FogColor+0x49 : mov [esi], eax + { 0x49, 0x89 }, // (Offset,Value)-Pair #9 + { 0x4A, 0x06 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVerticesUP +// ****************************************************************** +SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xA1 }, + { 0x3E, 0x8B }, + { 0x5E, 0x08 }, + { 0x7E, 0xD0 }, + { 0x9E, 0x14 }, + { 0xBE, 0x8D }, + { 0xDE, 0x3B }, + { 0xFE, 0x81 }, + } +}; + +// Verteks 11/03/2009 +// blueshogun96 7/17/2010 + +// ****************************************************************** +// * D3DVertexBuffer_Lock2 +// ****************************************************************** +SOOVPA<10> IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // D3DVertexBuffer_Lock2+0x05 : test bl, 0x10 + { 0x05, 0xF6 }, + { 0x06, 0xC3 }, + { 0x07, 0x10 }, + // D3DVertexBuffer_Lock2+0x7F : or eax, 0x8000000 + { 0x7F, 0x0D }, + { 0x80, 0x00 }, + { 0x81, 0x00 }, + { 0x82, 0x00 }, + { 0x83, 0x80 }, + // D3DVertexBuffer_Lock2+0x85 : retn 8 + { 0x85, 0xC2 }, + { 0x86, 0x08 }, + } +}; + + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_YuvEnable +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #1 + { 0x01, 0x44 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x10 : mov eax, [esi] + { 0x10, 0x8B }, // (Offset,Value)-Pair #5 + { 0x11, 0x06 }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x12 : cmp eax, [esi+4] + { 0x12, 0x3B }, // (Offset,Value)-Pair #7 + { 0x13, 0x46 }, // (Offset,Value)-Pair #8 + { 0x14, 0x04 }, // (Offset,Value)-Pair #9 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x15 : jb +0x0E + { 0x15, 0x72 }, // (Offset,Value)-Pair #10 + { 0x16, 0x0E }, // (Offset,Value)-Pair #11 + + // IDirect3DDevice8_SetRenderState_YuvEnable+0x30 : retn 0x04 + { 0x30, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x31, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_ShadowFunc +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi + { 0x00, 0x56 }, // (Offset,Value)-Pair #1 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x09 : cmp eax, [esi+4] + { 0x09, 0x3B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x46 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x04 }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x0C : jb +0x0E + { 0x0C, 0x72 }, // (Offset,Value)-Pair #5 + { 0x0D, 0x0E }, // (Offset,Value)-Pair #6 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x26 : lea edx, [ecx-0x0200] + { 0x26, 0x8D }, // (Offset,Value)-Pair #7 + { 0x27, 0x91 }, // (Offset,Value)-Pair #8 + { 0x28, 0x00 }, // (Offset,Value)-Pair #9 + { 0x29, 0xFE }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_ShadowFunc+0x2F : add eax, 0x08 + { 0x2F, 0x83 }, // (Offset,Value)-Pair #11 + { 0x30, 0xC0 }, // (Offset,Value)-Pair #12 + { 0x31, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_OcclusionCullEnable +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x15 : jb +0x0E + { 0x15, 0x72 }, // (Offset,Value)-Pair #1 + { 0x16, 0x0E }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x4A : cmp [abs], 0x1E00 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #3 + { 0x50, 0x00 }, // (Offset,Value)-Pair #4 + { 0x51, 0x1E }, // (Offset,Value)-Pair #5 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x59 : mov dword ptr [eax], 0x41D84 + { 0x59, 0xC7 }, // (Offset,Value)-Pair #6 + { 0x5A, 0x00 }, // (Offset,Value)-Pair #7 + { 0x5B, 0x84 }, // (Offset,Value)-Pair #8 + { 0x5C, 0x1D }, // (Offset,Value)-Pair #9 + { 0x5D, 0x04 }, // (Offset,Value)-Pair #10 + + // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x68 : retn 0x04 + { 0x68, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x69, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetRenderState_EdgeAntiAlias +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x06 }, // (Offset,Value)-Pair #2 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x0C : jb +0x0E + { 0x0C, 0x72 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x0E }, // (Offset,Value)-Pair #4 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x1C : mov ecx, [esp+0x08] + { 0x1C, 0x8B }, // (Offset,Value)-Pair #5 + { 0x1D, 0x4C }, // (Offset,Value)-Pair #6 + { 0x1E, 0x24 }, // (Offset,Value)-Pair #7 + { 0x1F, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x38 : retn 0x04 + { 0x38, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x39, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// I am not sure about this +// ****************************************************************** +// * IDirect3DTexture8_GetLevelDesc +// ****************************************************************** +// * NOTE: We are actually intercepting Get2DSurfaceDesc, because +// * GetLevelDesc Simply redirects to that function +// ****************************************************************** +SOOVPA<9> Get2DSurfaceDesc_1_0_5849_LTCG = +{ + 0, // Large == 0 + 9, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // Get2DSurfaceDesc+0x1E : movzx ecx, byte ptr [edi+0x0D] + { 0x1E, 0x0F }, // (Offset,Value)-Pair #1 + { 0x1F, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x20, 0x4F }, // (Offset,Value)-Pair #3 + { 0x21, 0x0D }, // (Offset,Value)-Pair #4 + + // Get2DSurfaceDesc+0x45 : mov edx, [eax+0x1A14] + { 0x45, 0x8B }, // (Offset,Value)-Pair #5 + { 0x46, 0x90 }, // (Offset,Value)-Pair #6 + { 0x47, 0x14 }, // (Offset,Value)-Pair #7 + { 0x48, 0x1A }, // (Offset,Value)-Pair #8 + + // Get2DSurfaceDesc+0x9E : retn + { 0x9E, 0xC3 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetShaderConstantMode +// ****************************************************************** +SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x19, 0xFD }, + { 0x38, 0x8B }, + { 0x60, 0x0B }, + { 0x7A, 0xBA }, + { 0xA4, 0xC0 }, + { 0xB2, 0x00 }, + { 0xDA, 0x89 }, + { 0xF9, 0x00 }, + } +}; + +/* +I don't know which one of these is the right one : +0x0034E040 2 args +0x0034E200 2 args +0x0034F150 3 args +// ****************************************************************** +// * IDirect3DDevice8_SetIndices +// ****************************************************************** +SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0F, 0x10 }, + { 0x20, 0xC7 }, + { 0x31, 0xC0 }, + { 0x42, 0x78 }, + { 0x53, 0xBE }, + { 0x64, 0x89 }, + { 0x75, 0x10 }, + } +}; +*/ + +/* Maybe this : 0x0034D730 (NOT THIS) + It's : 0x0034CC00 (same as 3925) + + 0035FEE8 accessed by CreateDevice (must contain 0035DA40 ?) +0034D730 /$ A1 E8FE3500 mov eax, dword ptr ds:[35FEE8] +0034D735 |. 8B88 041A0000 mov ecx, dword ptr ds:[eax+1A04] <- Exception here +0034D73B |. 85C9 test ecx, ecx +0034D73D |. 74 24 je short default.0034D763 +0034D73F |. 8B01 mov eax, dword ptr ds:[ecx] +0034D741 |. A9 FFFF0000 test eax, 0FFFF +0034D746 |. 75 19 jnz short default.0034D761 +0034D748 |. 25 00000700 and eax, 70000 +0034D74D |. 3D 00000500 cmp eax, default.00050000 +0034D752 |. 75 0D jnz short default.0034D761 +0034D754 |. 8B41 14 mov eax, dword ptr ds:[ecx+14] +0034D757 |. 85C0 test eax, eax +0034D759 |. 74 06 je short default.0034D761 +0034D75B |. 50 push eax +0034D75C |. E8 9FF4FFFF call default.0034CC00 <- IDirect3DResource8_AddRef +0034D761 |> FF01 inc dword ptr ds:[ecx] +0034D763 |> 8BC1 mov eax, ecx +0034D765 \. C3 retn +// ****************************************************************** +// * IDirect3DResource8_AddRef +// ****************************************************************** +SOOVPA<10> IDirect3DResource8_AddRef_1_0_5849_LTCG = +{ + 0, // Large == 0 + 10, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_AddRef+0x11 : test eax, 0xFFFF + { 0x11, 0xA9 }, // (Offset,Value)-Pair #1 + { 0x12, 0xFF }, // (Offset,Value)-Pair #2 + { 0x13, 0xFF }, // (Offset,Value)-Pair #3 + + // IDirect3DResource8_AddRef+0x18 : and eax, 0x00070000 + { 0x18, 0x25 }, // (Offset,Value)-Pair #4 + { 0x1B, 0x07 }, // (Offset,Value)-Pair #5 + + // IDirect3DResource8_AddRef+0x1D : cmp eax, 0x00050000 + { 0x1D, 0x3D }, // (Offset,Value)-Pair #6 + { 0x20, 0x05 }, // (Offset,Value)-Pair #7 + + // IDirect3DResource8_AddRef+0x2B : push eax + { 0x2B, 0x50 }, // (Offset,Value)-Pair #8 + + // IDirect3DResource8_AddRef+0x34 : mov eax, ecx + { 0x33, 0x8B }, // (Offset,Value)-Pair #9 + { 0x34, 0xC1 }, // (Offset,Value)-Pair #10 + } +}; +*/ + +// 0x0034CC40 +// ****************************************************************** +// * IDirect3DResource8_Release +// ****************************************************************** +SOOVPA<11> IDirect3DResource8_Release_1_0_5849_LTCG = +{ + 0, // Large == 0 + 11, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF + { 0x09, 0x81 }, // (Offset,Value)-Pair #1 + { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xFF }, // (Offset,Value)-Pair #3 + { 0x0C, 0xFF }, // (Offset,Value)-Pair #4 + + // IDirect3DResource8_Release+0x14 : and eax, 0x00070000 + { 0x14, 0x25 }, // (Offset,Value)-Pair #5 + { 0x17, 0x07 }, // (Offset,Value)-Pair #6 + + // IDirect3DResource8_Release+0x19 : cmp eax, 0x00050000 + { 0x19, 0x3D }, // (Offset,Value)-Pair #7 + { 0x1C, 0x05 }, // (Offset,Value)-Pair #8 + + // IDirect3DResource8_Release+0x3D : pop edi + { 0x3D, 0x5F }, // (Offset,Value)-Pair #9 + + // IDirect3DResource8_Release+0x4A : retn 0x04 + { 0x4A, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4B, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// Verteks 05/04/2009 +// ****************************************************************** +// * IDirect3DDevice8_SetTextureState_ColorKeyColor (Not sure) +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_5849_LTCG = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x05 : cmp esi, 0x5C + { 0x05, 0x83 }, + { 0x06, 0xFE }, + { 0x07, 0x5C }, + + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x29 : cmp esi, 0x88 + { 0x29, 0x81 }, + { 0x2A, 0xFE }, + { 0x2B, 0x88 }, + + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, + + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x5A : retn 0x08 + { 0x5A, 0xC2 }, + { 0x5B, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Unknown1_3 +// ****************************************************************** +SOOVPA<13> IDirect3DDevice8_Unknown1_3_1_0_5849_LTCG = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Unknown1_3+0x04 : cmp eax, 0x0C + { 0x04, 0x83 }, + { 0x05, 0xF8 }, + { 0x06, 0x0C }, + + // IDirect3DDevice8_Unknown1_3+0x48 : and ecx, 0xFFFFBFF1 + { 0x48, 0x81 }, + { 0x49, 0xE1 }, + { 0x4A, 0xF1 }, + { 0x4B, 0xBF }, + { 0x4C, 0xFF }, + { 0x4D, 0xFF }, + + // IDirect3DDevice8_Unknown1_3+0x69 : retn 0x0C + { 0x69, 0xC2 }, + { 0x6A, 0x0C }, + + // IDirect3DDevice8_Unknown1_3+0xD7 : retn 0x0C + { 0xD7, 0xC2 }, + { 0xD8, 0x0C }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Clear +// ****************************************************************** +LOOVPA<9> IDirect3DDevice8_Clear_1_0_5849_LTCG = +{ + 1, // Large == 1 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h + { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 + { 0x0002, 0x38 }, // (Offset,Value)-Pair #3 + + // IDirect3DDevice8_Clear+0x000B : mov ebx, [ebp+0x1A04] + { 0x000B, 0x8B }, // (Offset,Value)-Pair #4 + { 0x000C, 0x9D }, // (Offset,Value)-Pair #5 + { 0x000D, 0x04 }, // (Offset,Value)-Pair #6 + { 0x000E, 0x1A }, // (Offset,Value)-Pair #7 + + // IDirect3DDevice8_Clear+0x03D1 : retn 0x18 + { 0x03D1, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x03D2, 0x18 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_Swap +// ****************************************************************** +SOOVPA<6> IDirect3DDevice8_Swap_1_0_5849_LTCG = +{ + 0, // Large == 0 + 6, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_Swap+0x00 : push esi + { 0x00, 0x56 }, + // IDirect3DDevice8_Swap+0x32 : test ah, 0x40 + { 0x32, 0xF6 }, + { 0x33, 0xC4 }, + { 0x34, 0x40 }, + // IDirect3DDevice8_Swap+0xEA : retn 4 + { 0xEA, 0xC2 }, + { 0xEB, 0x04 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_SetVertexShader +// ****************************************************************** +SOOVPA<10> IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_SetVertexShader+0x27 : test al, 0x10 + { 0x27, 0xA8 }, + { 0x28, 0x10 }, + // IDirect3DDevice8_SetVertexShader+0x70 : or eax, 0x400 + { 0x70, 0x0D }, + { 0x71, 0x00 }, + { 0x72, 0x04 }, + { 0x73, 0x00 }, + { 0x74, 0x00 }, + // IDirect3DDevice8_SetVertexShader+0xCD : add eax, 8 + { 0xCD, 0x83 }, + { 0xCE, 0xC0 }, + { 0xCF, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirect3DDevice8_DrawVertices +// ****************************************************************** +SOOVPA<14> IDirect3DDevice8_DrawVertices_1_0_5849_LTCG = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirect3DDevice8_DrawVertices+0x2B : and ecx, 0x200 + { 0x2B, 0x81 }, + { 0x2C, 0xC1 }, + { 0x2D, 0x00 }, + { 0x2E, 0x02 }, + { 0x2F, 0x00 }, + { 0x30, 0x00 }, + // IDirect3DDevice8_DrawVertices+0x6F : cmp edi, 0x100 + { 0x6F, 0x81 }, + { 0x70, 0xFF }, + { 0x71, 0x00 }, + { 0x72, 0x01 }, + { 0x73, 0x00 }, + { 0x74, 0x00 }, + // IDirect3DDevice8_DrawVertices+0xCC : retn 0xC + { 0xCC, 0xC2 }, + { 0xCD, 0x0C }, + } +}; + +// ****************************************************************** +// * D3D8LTCG_1_0_5849 +// ****************************************************************** +OOVPATable D3D8LTCG_1_0_5849[] = +{ + // IDirect3D8::CreateDevice + { + (OOVPA*)&IDirect3D8_CreateDevice_1_0_5849_LTCG, + + XTL::EmuIDirect3D8_CreateDevice, + + #ifdef _DEBUG_TRACE + "EmuIDirect3D8_CreateDevice" + #endif + }, + // IDirect3DDevice8::SetPixelShader + { + (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetPixelShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetPixelShader" + #endif + }, + // IDirect3DDevice8::CreateVertexShader + { + (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_CreateVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexShader" + #endif + }, + // IDirect3DDevice8::DrawIndexedVertices + { + (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_DrawIndexedVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawIndexedVertices" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, + // IDirect3DDevice8::SetTexture + { + (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetTexture, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTexture" + #endif + }, + // IDirect3DDevice8::SetViewport + { + (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetViewport, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetViewport" + #endif + }, + // IDirect3DDevice8::SetLight + { + (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetLight, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetLight" + #endif + }, + // IDirect3DDevice8::SetTransform (* unchanged since 5558 *) + { + (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_5558, + + XTL::EmuIDirect3DDevice8_SetTransform, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTransform" + #endif + }, + // IDirect3DDevice8::SetMaterial (* unchanged since 5849 *) + { + (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetMaterial, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetMaterial" + #endif + }, + // IDirect3DDevice8::SetStreamSource + { + (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetStreamSource, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetStreamSource" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant1 (* unchanged since 5849 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant1" + #endif + }, + // IDirect3DDevice8::CreateVertexBuffer2 (* unchanged since 5849 *) + { + (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_5849, + + XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_CreateVertexBuffer2" + #endif + }, + // IDirect3DDevice8::SetTextureState_TexCoordIndex + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" + #endif + }, + // IDirect3DDevice8::SetTextureState_BumpEnv + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BumpEnv" + #endif + }, + // IDirect3DDevice8::SetTextureState_BorderColor + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_BorderColor" + #endif + }, + // IDirect3DDevice8::SetRenderState_CullMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_CullMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_TextureFactor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_TextureFactor" + #endif + }, + // IDirect3DDevice8::SetRenderState_NormalizeNormals + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" + #endif + }, + // IDirect3DDevice8::SetRenderState_ZEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ZEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_StencilEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_StencilEnable" + #endif + }, + // IDirect3DDevice8::Swap + { + (OOVPA*)&IDirect3DDevice8_Swap_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_Swap, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Swap" + #endif + }, + // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexData2f, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexData2f" + #endif + }, + // IDirect3DDevice8::End + { + (OOVPA*)&IDirect3DDevice8_End_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_End, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_End" + #endif + }, + // IDirect3DDevice8::SetRenderState_FillMode + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FillMode" + #endif + }, + // IDirect3DDevice8::SetRenderState_FogColor + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_FogColor" + #endif + }, + // IDirect3DDevice8::DrawVertices + { + (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_DrawVertices, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVertices" + #endif + }, + // IDirect3DDevice8::DrawVerticesUP + { + (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_DrawVerticesUP, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_DrawVerticesUP" + #endif + }, + // IDirect3DDevice8::SetVertexShaderConstant4 (* unchanged since 4627 *) + { + (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, + + XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShaderConstant4" + #endif + }, + // IDirect3DVertexBuffer8::Lock2 + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG, + + XTL::EmuIDirect3DVertexBuffer8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock2" + #endif + }, + // IDirect3DDevice8::SetRenderState_YuvEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_YuvEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_ShadowFunc + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" + #endif + }, + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" + #endif + }, + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias + { + (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" + #endif + }, + // IDirect3DTexture8::GetLevelDesc + { + (OOVPA*)&Get2DSurfaceDesc_1_0_5849_LTCG, + + XTL::EmuGet2DSurfaceDesc, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DTexture8_GetLevelDesc" + #endif + }, + // IDirect3DDevice8::SetShaderConstantMode + { + (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetShaderConstantMode, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetShaderConstantMode" + #endif + }, + // IDirect3DResource8::AddRef + { + (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, + + XTL::EmuIDirect3DResource8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_AddRef" + #endif + }, + // IDirect3DResource8::Release + { + (OOVPA*)&IDirect3DResource8_Release_1_0_5849_LTCG, + + XTL::EmuIDirect3DResource8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DResource8_Release" + #endif + }, + + // IDirect3DDevice8::SetTextureState_ColorKeyColor + { + (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" + #endif + }, + // IDirect3DDevice8::Clear + { + (OOVPA*)&IDirect3DDevice8_Clear_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_Clear, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_Clear" + #endif + }, + // IDirect3DVertexBuffer8::Lock2 + { + (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG, + + XTL::EmuIDirect3DVertexBuffer8_Lock2, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DVertexBuffer8_Lock2" + #endif + }, + // IDirect3DDevice8::SetVertexShader + { + (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG, + + XTL::EmuIDirect3DDevice8_SetVertexShader, + + #ifdef _DEBUG_TRACE + "EmuIDirect3DDevice8_SetVertexShader" + #endif + }, +}; + +uint32 D3D8LTCG_1_0_5849_SIZE = sizeof(D3D8LTCG_1_0_5849); \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.h new file mode 100644 index 000000000..090d21543 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.3936.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_3936_H +#define DSOUND_1_0_3936_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_3936[]; +extern uint32 DSOUND_1_0_3936_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.inl new file mode 100644 index 000000000..2997c55c1 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.3936.inl @@ -0,0 +1,6191 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.3936.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * DirectSoundCreate +// ****************************************************************** +SOOVPA<9> DirectSoundCreate_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // DirectSoundCreate+0x23 : add eax, 8 + { 0x23, 0x83 }, // (Offset,Value)-Pair #1 + { 0x24, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x25, 0x08 }, // (Offset,Value)-Pair #3 + + // DirectSoundCreate+0x34 : push 0x1C + { 0x34, 0x6A }, // (Offset,Value)-Pair #4 + { 0x35, 0x1C }, // (Offset,Value)-Pair #5 + + // DirectSoundCreate+0x75 : sbb eax, eax + { 0x75, 0x1B }, // (Offset,Value)-Pair #6 + { 0x76, 0xC0 }, // (Offset,Value)-Pair #7 + + // DirectSoundCreate+0x9B : retn 0x0C + { 0x9B, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x9C, 0x0C }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * DirectSoundDoWorkB +// ****************************************************************** +SOOVPA<12> DirectSoundDoWorkB_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSDOWORKB, // XRef Is Saved + 0, // XRef Not Used + + { + // DirectSoundDoWorkB+0x06 : lea edi, [ebx+0x664] + { 0x06, 0x8D }, // (Offset,Value)-Pair #1 + { 0x07, 0xBB }, // (Offset,Value)-Pair #2 + { 0x08, 0x64 }, // (Offset,Value)-Pair #3 + { 0x09, 0x06 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x00 }, // (Offset,Value)-Pair #5 + { 0x0B, 0x00 }, // (Offset,Value)-Pair #6 + + // DirectSoundDoWorkB+0x20 : mov eax, [ecx] + { 0x20, 0x8B }, // (Offset,Value)-Pair #7 + { 0x21, 0x01 }, // (Offset,Value)-Pair #8 + + // DirectSoundDoWorkB+0x33 : add edi, 4; dec ebp + { 0x33, 0x83 }, // (Offset,Value)-Pair #9 + { 0x34, 0xC7 }, // (Offset,Value)-Pair #10 + { 0x35, 0x04 }, // (Offset,Value)-Pair #11 + { 0x36, 0x4D }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * DirectSoundDoWorkA +// ****************************************************************** +SOOVPA<9> DirectSoundDoWorkA_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSDOWORKA, // XRef Is Saved + 1, // XRef Is Used + + { + // DirectSoundDoWorkA+0x10 : call [DirectSoundDoWorkB] + { 0x10, XREF_DSDOWORKB }, // (Offset,Value)-Pair #1 + + // DirectSoundDoWorkA+0x08 : mov eax, [esp+0x08] + { 0x08, 0x8B }, // (Offset,Value)-Pair #2 + { 0x09, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0B, 0x08 }, // (Offset,Value)-Pair #5 + + // DirectSoundDoWorkA+0x17 : jz +0x0B + { 0x17, 0x74 }, // (Offset,Value)-Pair #6 + { 0x18, 0x0B }, // (Offset,Value)-Pair #7 + + // DirectSoundDoWorkA+0x24 : retn 0x04 + { 0x24, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x25, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * DirectSoundDoWork +// ****************************************************************** +SOOVPA<9> DirectSoundDoWork_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // DirectSoundDoWork+0x13 : call [XREF_DSDOWORKA] + { 0x13, XREF_DSDOWORKA }, // (Offset,Value)-Pair #1 + + // DirectSoundDoWork+0x0D : test eax, eax;jz +0x06 + { 0x0D, 0x85 }, // (Offset,Value)-Pair #2 + { 0x0E, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x74 }, // (Offset,Value)-Pair #4 + { 0x10, 0x06 }, // (Offset,Value)-Pair #5 + + // DirectSoundDoWork+0x19 : pop esi; jz +0x0B + { 0x19, 0x5E }, // (Offset,Value)-Pair #6 + { 0x1A, 0x74 }, // (Offset,Value)-Pair #7 + { 0x1B, 0x0B }, // (Offset,Value)-Pair #8 + + // DirectSoundDoWork+0x27 : retn + { 0x27, 0xC3 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSound::CreateSoundStream +// ****************************************************************** +SOOVPA<16> CDirectSound_CreateSoundStream_1_0_3936 = +{ + 0, // Large == 0 + 16, // Count == 16 + + XREF_DSCREATESOUNDSTREAM, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_CreateSoundStream+0x2D : and esi, 0x7FF8FFF2 + { 0x2D, 0x81 }, // (Offset,Value)-Pair #1 + { 0x2E, 0xE6 }, // (Offset,Value)-Pair #2 + { 0x2F, 0xF2 }, // (Offset,Value)-Pair #3 + { 0x30, 0xFF }, // (Offset,Value)-Pair #4 + { 0x31, 0xF8 }, // (Offset,Value)-Pair #5 + { 0x32, 0x7F }, // (Offset,Value)-Pair #6 + + // CDirectSound_CreateSoundStream+0x33 : add esi, 0x8007000E + { 0x33, 0x81 }, // (Offset,Value)-Pair #7 + { 0x34, 0xC6 }, // (Offset,Value)-Pair #8 + { 0x35, 0x0E }, // (Offset,Value)-Pair #9 + { 0x36, 0x00 }, // (Offset,Value)-Pair #10 + { 0x37, 0x07 }, // (Offset,Value)-Pair #11 + { 0x38, 0x80 }, // (Offset,Value)-Pair #12 + + // CDirectSound_CreateSoundStream+0x3C : js +0x16 + { 0x3C, 0x78 }, // (Offset,Value)-Pair #13 + { 0x3D, 0x16 }, // (Offset,Value)-Pair #14 + + // CDirectSound_CreateSoundStream+0x72 : retn 0x10 + { 0x72, 0xC2 }, // (Offset,Value)-Pair #15 + { 0x73, 0x10 }, // (Offset,Value)-Pair #16 + } +}; + +// ****************************************************************** +// * IDirectSound8_CreateStream +// ****************************************************************** +SOOVPA<10> IDirectSound8_CreateStream_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + // TODO: tidy up the xref names (are probably not accurate) + + { + // IDirectSound8_CreateStream+0x1D : call [CDirectSound::CreateSoundStream] + { 0x1D, XREF_DSCREATESOUNDSTREAM }, // (Offset,Value)-Pair #1 + + // IDirectSound8_CreateStream+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSound8_CreateStream+0x12 : and eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #6 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirectSound8_CreateStream+0x21 : retn 0x10 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSound::CreateSoundBuffer +// ****************************************************************** +SOOVPA<16> CDirectSound_CreateSoundBuffer_1_0_3936 = +{ + 0, // Large == 0 + 16, // Count == 16 + + XREF_DSCREATESOUNDBUFFER, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_CreateSoundBuffer+0x2D : and esi, 0x7FF8FFF2 + { 0x2D, 0x81 }, // (Offset,Value)-Pair #1 + { 0x2E, 0xE6 }, // (Offset,Value)-Pair #2 + { 0x2F, 0xF2 }, // (Offset,Value)-Pair #3 + { 0x30, 0xFF }, // (Offset,Value)-Pair #4 + { 0x31, 0xF8 }, // (Offset,Value)-Pair #5 + { 0x32, 0x7F }, // (Offset,Value)-Pair #6 + + // CDirectSound_CreateSoundBuffer+0x33 : add esi, 0x8007000E + { 0x33, 0x81 }, // (Offset,Value)-Pair #7 + { 0x34, 0xC6 }, // (Offset,Value)-Pair #8 + { 0x35, 0x0E }, // (Offset,Value)-Pair #9 + { 0x36, 0x00 }, // (Offset,Value)-Pair #10 + { 0x37, 0x07 }, // (Offset,Value)-Pair #11 + { 0x38, 0x80 }, // (Offset,Value)-Pair #12 + + // CDirectSound_CreateSoundBuffer+0x3C : js +0x21 + { 0x3C, 0x78 }, // (Offset,Value)-Pair #13 + { 0x3D, 0x21 }, // (Offset,Value)-Pair #14 + + // CDirectSound_CreateSoundBuffer+0x7D : retn 0x10 + { 0x7D, 0xC2 }, // (Offset,Value)-Pair #15 + { 0x7E, 0x10 }, // (Offset,Value)-Pair #16 + } +}; + +// ****************************************************************** +// * IDirectSound8_CreateBuffer +// ****************************************************************** +SOOVPA<10> IDirectSound8_CreateBuffer_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + // TODO: tidy up the xref names (are probably not accurate) + + { + // IDirectSound8_CreateBuffer+0x1D : call [CDirectSound::CreateSoundStream] + { 0x1D, XREF_DSCREATESOUNDBUFFER }, // (Offset,Value)-Pair #1 + + // IDirectSound8_CreateBuffer+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSound8_CreateBuffer+0x12 : and eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #6 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirectSound8_CreateBuffer+0x21 : retn 0x10 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_Release +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_Release_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSoundBuffer8_Release+0x04 : lea ecx, [eax-0x1C] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x48 }, // (Offset,Value)-Pair #2 + { 0x06, 0xE4 }, // (Offset,Value)-Pair #3 + + // IDirectSoundBuffer8_Release+0x07 : neg eax; sbb eax, eax + { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + { 0x09, 0x1B }, // (Offset,Value)-Pair #6 + { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_Release+0x10 : call dword ptr [ecx+0x08] + { 0x10, 0xFF }, // (Offset,Value)-Pair #8 + { 0x11, 0x51 }, // (Offset,Value)-Pair #9 + { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPitchB +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer8_SetPitchB_1_0_3936 = +{ + 0, // Large == 0 + 11,// Count == 11 + + XREF_DSBUFFERSETPITCHB,// XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundBuffer8_SetPitchB+0x21 : lea edi, [esi+0xB4] + { 0x21, 0x8D }, // (Offset,Value)-Pair #1 + { 0x22, 0xBE }, // (Offset,Value)-Pair #2 + { 0x23, 0xB4 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetPitchB+0x58 : movzx eax, word ptr [eax+2] + { 0x58, 0x0F }, // (Offset,Value)-Pair #5 + { 0x59, 0xB7 }, // (Offset,Value)-Pair #6 + { 0x5A, 0x40 }, // (Offset,Value)-Pair #7 + { 0x5B, 0x02 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetPitchB+0x5E : dec eax; sar eax, 1 + { 0x5E, 0x48 }, // (Offset,Value)-Pair #9 + { 0x5F, 0xD1 }, // (Offset,Value)-Pair #10 + { 0x60, 0xF8 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPitchA +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetPitchA_1_0_3936 = +{ + 0, // Large == 0 + 12,// Count == 12 + + XREF_DSBUFFERSETPITCHA,// XRef Is Saved + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetPitchA+0x1B : call [IDirectSoundBuffer8_SetPitchB] + { 0x1B, XREF_DSBUFFERSETPITCHB }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetPitchA+0x07 : mov edx, [esp+0x10] + { 0x07, 0x8B }, // (Offset,Value)-Pair #2 + { 0x08, 0x54 }, // (Offset,Value)-Pair #3 + { 0x09, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetPitchA+0x11 : mov ecx, [eax+0x18] + { 0x11, 0x8B }, // (Offset,Value)-Pair #6 + { 0x12, 0x48 }, // (Offset,Value)-Pair #7 + { 0x13, 0x18 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetPitchA+0x23 : jz +0x0B + { 0x23, 0x74 }, // (Offset,Value)-Pair #9 + { 0x24, 0x0B }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer8_SetPitchA+0x34 : retn 0x08 + { 0x34, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x35, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPitch +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetPitch_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetPitch+0x15 : call [IDirectSoundBuffer8_SetPitchA] + { 0x15, XREF_DSBUFFERSETPITCHA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetPitch+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetPitch+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetPitch+0x19 : retn 0x08 + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CMcpxBuffer::GetStatus +// ****************************************************************** +SOOVPA<13> CMcpxBuffer_GetStatus_1_0_3936 = +{ + 0, // Large == 0 + 13,// Count == 13 + + XREF_DSBUFFERGETSTATUSB, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetStatus+0x10 : mov eax, [ebp+0x08] + { 0x10, 0x8B }, // (Offset,Value)-Pair #1 + { 0x11, 0x45 }, // (Offset,Value)-Pair #2 + { 0x12, 0x08 }, // (Offset,Value)-Pair #3 + + // CMcpxBuffer_GetStatus+0x16 : xor ecx, ecx; inc ecx + { 0x16, 0x33 }, // (Offset,Value)-Pair #4 + { 0x17, 0xC9 }, // (Offset,Value)-Pair #5 + { 0x18, 0x41 }, // (Offset,Value)-Pair #6 + + // CMcpxBuffer_GetStatus+0x1C : jz +0x17 + { 0x1C, 0x74 }, // (Offset,Value)-Pair #7 + { 0x1D, 0x17 }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_GetStatus+0x2F : mov [eax], 5 + { 0x2F, 0xC7 }, // (Offset,Value)-Pair #9 + { 0x30, 0x00 }, // (Offset,Value)-Pair #10 + { 0x31, 0x05 }, // (Offset,Value)-Pair #11 + + // CMcpxBuffer_GetStatus+0x48 : retn 0x04 + { 0x48, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x49, 0x04 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::GetStatus +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_GetStatus_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERGETSTATUSA, // XRef Not Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus] + { 0x15, XREF_DSBUFFERGETSTATUSB }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_GetStatus+0x07 : push [esp+0x10] + { 0x07, 0xFF }, // (Offset,Value)-Pair #2 + { 0x08, 0x74 }, // (Offset,Value)-Pair #3 + { 0x09, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x10 }, // (Offset,Value)-Pair #5 + + // CDirectSoundBuffer_GetStatus+0x11 : mov ecx, [eax+0x20] + { 0x11, 0x8B }, // (Offset,Value)-Pair #6 + { 0x12, 0x48 }, // (Offset,Value)-Pair #7 + { 0x13, 0x20 }, // (Offset,Value)-Pair #8 + + // CDirectSoundBuffer_GetStatus+0x2E : retn 0x08 + { 0x2E, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x2F, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_GetStatus +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_GetStatus_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] + { 0x15, XREF_DSBUFFERGETSTATUSA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_GetStatus+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_GetStatus+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_GetStatus+0x19 : retn 0x08 + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetVolumeB +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer8_SetVolumeB_1_0_3936 = +{ + 0, // Large == 0 + 11,// Count == 11 + + XREF_DSBUFFERSETVOLUMEB,// XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundBuffer8_SetVolumeB+0x26 : mov ecx, [esi+0xE0] + { 0x26, 0x8B }, // (Offset,Value)-Pair #1 + { 0x27, 0x8E }, // (Offset,Value)-Pair #2 + { 0x28, 0xE0 }, // (Offset,Value)-Pair #3 + { 0x29, 0x00 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetVolumeB+0x2F : movzx ecx, word ptr [ecx+2] + { 0x2F, 0x0F }, // (Offset,Value)-Pair #5 + { 0x30, 0xB7 }, // (Offset,Value)-Pair #6 + { 0x31, 0x49 }, // (Offset,Value)-Pair #7 + { 0x32, 0x02 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetVolumeB+0x35 : dec ecx; sar ecx, 1 + { 0x35, 0x49 }, // (Offset,Value)-Pair #9 + { 0x36, 0xD1 }, // (Offset,Value)-Pair #10 + { 0x37, 0xF9 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetVolumeA +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetVolumeA_1_0_3936 = +{ + 0, // Large == 0 + 12,// Count == 12 + + XREF_DSBUFFERSETVOLUMEA,// XRef Is Saved + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetVolumeA+0x1E : call [IDirectSoundBuffer8_SetVolumeB] + { 0x1E, XREF_DSBUFFERSETVOLUMEB }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetVolumeA+0x07 : mov ecx, [esp+0x0C] + { 0x07, 0x8B }, // (Offset,Value)-Pair #2 + { 0x08, 0x4C }, // (Offset,Value)-Pair #3 + { 0x09, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetVolumeA+0x11 : mov eax, [ecx+0x18] + { 0x11, 0x8B }, // (Offset,Value)-Pair #6 + { 0x12, 0x41 }, // (Offset,Value)-Pair #7 + { 0x13, 0x18 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetVolumeA+0x26 : jz +0x0B + { 0x26, 0x74 }, // (Offset,Value)-Pair #9 + { 0x27, 0x0B }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer8_SetVolumeA+0x37 : retn 0x08 + { 0x37, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x38, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetVolume +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetVolume_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetVolume+0x15 : call [IDirectSoundBuffer8_SetVolumeA] + { 0x15, XREF_DSBUFFERSETVOLUMEA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetVolume+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetVolume+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetVolume+0x19 : retn 0x08 + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetCurrentPositionB +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer8_SetCurrentPositionB_1_0_3936 = +{ + 0, // Large == 0 + 11,// Count == 11 + + XREF_DSBUFFERSETCURRENTPOSITIONB,// XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundBuffer8_SetCurrentPositionB+0x25 : mov eax, [esi+0x148] + { 0x25, 0x8B }, // (Offset,Value)-Pair #1 + { 0x26, 0x86 }, // (Offset,Value)-Pair #2 + { 0x27, 0x48 }, // (Offset,Value)-Pair #3 + { 0x28, 0x01 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetCurrentPositionB+0x4A : push edi; push 4 + { 0x4A, 0x57 }, // (Offset,Value)-Pair #5 + { 0x4B, 0x6A }, // (Offset,Value)-Pair #6 + { 0x4C, 0x04 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_SetCurrentPositionB+0x71 : movzx eax, word ptr [eax+2] + { 0x71, 0x0F }, // (Offset,Value)-Pair #8 + { 0x72, 0xB7 }, // (Offset,Value)-Pair #9 + { 0x73, 0x40 }, // (Offset,Value)-Pair #10 + { 0x74, 0x02 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetCurrentPositionA +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetCurrentPositionA_1_0_3936 = +{ + 0, // Large == 0 + 12,// Count == 12 + + XREF_DSBUFFERSETCURRENTPOSITIONA,// XRef Is Saved + 1,// XRef Is Used + + { + // IDirectSoundBuffer8_SetCurrentPositionA+0x15 : call [IDirectSoundBuffer8_SetCurrentPositionB] + { 0x15, XREF_DSBUFFERSETCURRENTPOSITIONB }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetCurrentPositionA+0x0D : mov eax, [esp+0x10] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 + { 0x10, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetCurrentPositionA+0x11 : mov ecx, [eax+0x20] + { 0x11, 0x8B }, // (Offset,Value)-Pair #6 + { 0x12, 0x48 }, // (Offset,Value)-Pair #7 + { 0x13, 0x20 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetCurrentPositionA+0x1D : jz +0x0B + { 0x1D, 0x74 }, // (Offset,Value)-Pair #9 + { 0x1E, 0x0B }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer8_SetCurrentPositionA+0x2E : retn 0x08 + { 0x2E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2F, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetCurrentPosition +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetCurrentPosition_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetCurrentPosition+0x15 : call [IDirectSoundBuffer8_SetCurrentPositionA] + { 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetCurrentPosition+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetCurrentPosition+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetCurrentPosition+0x19 : retn 0x08 + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPlayRegionA +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetPlayRegionA_1_0_3936 = +{ + 0, // Large == 0 + 10,// Count == 10 + + XREF_DSBUFFERSETPLAYREGIONA,// XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundBuffer8_SetPlayRegionA+0x20 : cmp edx, [ecx+0x54] + { 0x20, 0x3B }, // (Offset,Value)-Pair #1 + { 0x21, 0x51 }, // (Offset,Value)-Pair #2 + { 0x22, 0x54 }, // (Offset,Value)-Pair #3 + + // IDirectSoundBuffer8_SetPlayRegionA+0x2C : mov ecx, [esi+0x20] + { 0x2C, 0x8B }, // (Offset,Value)-Pair #4 + { 0x2D, 0x4E }, // (Offset,Value)-Pair #5 + { 0x2E, 0x20 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_SetPlayRegionA+0x38 : jz +0x0B + { 0x38, 0x74 }, // (Offset,Value)-Pair #7 + { 0x39, 0x0B }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetPlayRegionA+0x4A : retn 0x0C + { 0x4A, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x4B, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPlayRegion +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetPlayRegion+0x19 : call [IDirectSoundBuffer8_SetPlayRegionA] + { 0x19, XREF_DSBUFFERSETPLAYREGIONA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetPlayRegion+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetPlayRegion+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x10, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetPlayRegion+0x1D : retn 0x0C + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_LockA +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_LockA_1_0_3936 = +{ + 0, // Large == 0 + 10,// Count == 10 + + XREF_DSBUFFERLOCKA, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundBuffer8_LockA+0x37 : mov eax, [eax+0x4C] + { 0x37, 0x8B }, // (Offset,Value)-Pair #1 + { 0x38, 0x40 }, // (Offset,Value)-Pair #2 + { 0x39, 0x4C }, // (Offset,Value)-Pair #3 + + // IDirectSoundBuffer8_LockA+0x68 : mov [edi], ebx; jz +0x1F + { 0x68, 0x89 }, // (Offset,Value)-Pair #4 + { 0x69, 0x1F }, // (Offset,Value)-Pair #5 + { 0x6A, 0x74 }, // (Offset,Value)-Pair #6 + { 0x6B, 0x1F }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_LockA+0x85 : and dword ptr [edx], 0 + { 0x85, 0x83 }, // (Offset,Value)-Pair #8 + { 0x86, 0x22 }, // (Offset,Value)-Pair #9 + { 0x87, 0x00 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_Lock +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_Lock_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_Lock+0x28 : call [IDirectSoundBuffer8_LockA] + { 0x28, XREF_DSBUFFERLOCKA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_Lock+0x03 : push [esp+0x24] + { 0x03, 0xFF }, // (Offset,Value)-Pair #2 + { 0x04, 0x75 }, // (Offset,Value)-Pair #3 + { 0x05, 0x24 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_Lock+0x11 : add eax, 0xFFFFFFE4 + { 0x11, 0x83 }, // (Offset,Value)-Pair #5 + { 0x12, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x13, 0xE4 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_Lock+0x2D : retn 0x20 + { 0x2D, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x2E, 0x20 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetHeadroomA +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetHeadroomA_1_0_3936 = +{ + 0, // Large == 0 + 12,// Count == 12 + + XREF_DSBUFFERSETHEADROOMA,// XRef Is Saved + 1, // XRef Is Used + + // WARNING: I am unsure if this is SetHeadroom + + { + // IDirectSoundBuffer8_SetHeadroomA+0x23 : call [IDirectSoundBuffer8_SetVolumeB] + { 0x23, XREF_DSBUFFERSETVOLUMEB }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetHeadroomA+0x07 : mov edx, [esp+0x0C] + { 0x07, 0x8B }, // (Offset,Value)-Pair #2 + { 0x08, 0x54 }, // (Offset,Value)-Pair #3 + { 0x09, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetHeadroomA+0x11 : mov eax, [edx+0x18] + { 0x11, 0x8B }, // (Offset,Value)-Pair #6 + { 0x12, 0x42 }, // (Offset,Value)-Pair #7 + { 0x13, 0x18 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetHeadroomA+0x2B : jz +0x0B + { 0x2B, 0x74 }, // (Offset,Value)-Pair #9 + { 0x2C, 0x0B }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer8_SetHeadroomA+0x3C : retn 0x08 + { 0x3C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x3D, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetHeadroom +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetHeadroom_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetHeadroom+0x15 : call [IDirectSoundBuffer8_SetHeadroomA] + { 0x15, XREF_DSBUFFERSETHEADROOMA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetHeadroom+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetHeadroom+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetHeadroom+0x19 : retn 0x08 + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetBufferDataA +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetBufferDataA_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSETBUFFERDATA, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundBuffer8_SetBufferDataA+0x22 : cmp ecx, [eax+0x4C] + { 0x22, 0x3B }, // (Offset,Value)-Pair #1 + { 0x23, 0x48 }, // (Offset,Value)-Pair #2 + { 0x24, 0x4C }, // (Offset,Value)-Pair #3 + + // IDirectSoundBuffer8_SetBufferDataA+0x38 : mov ecx, [esi+0x1C] + { 0x38, 0x8B }, // (Offset,Value)-Pair #4 + { 0x39, 0x4E }, // (Offset,Value)-Pair #5 + { 0x3A, 0x1C }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_SetBufferDataA+0x71 : leave; retn 0x0C + { 0x71, 0xC9 }, // (Offset,Value)-Pair #7 + { 0x72, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x73, 0x0C }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetBufferData +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetBufferData_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetBufferData+0x18 : call [IDirectSoundBuffer8_SetBufferDataA] + { 0x19, XREF_DSSETBUFFERDATA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetBufferData+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetBufferData+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x10, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetBufferData+0x1D : retn 0x0C + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient::SetMixBins +// ****************************************************************** +SOOVPA<15> CMcpxVoiceClient_SetMixBins_1_0_3936 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XREF_DSSETMIXBINSB, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxVoiceClient_SetMixBins+0x1C : lea eax, [esi+0x84] + { 0x1D, 0x86 }, // (Offset,Value)-Pair #1 + { 0x1E, 0x84 }, // (Offset,Value)-Pair #2 + { 0x21, 0x00 }, // (Offset,Value)-Pair #3 + + // CMcpxVoiceClient_SetMixBins+0x2E : mov eax, [esi+0xE0] + { 0x2E, 0x8B }, // (Offset,Value)-Pair #4 + { 0x30, 0xE0 }, // (Offset,Value)-Pair #5 + { 0x31, 0x00 }, // (Offset,Value)-Pair #6 + + // CMcpxVoiceClient_SetMixBins+0x41 : jz +0x7F + { 0x41, 0x74 }, // (Offset,Value)-Pair #7 + { 0x42, 0x7F }, // (Offset,Value)-Pair #8 + + // CMcpxVoiceClient_SetMixBins+0x5A : mov ds:[0xFE8202F8], eax + { 0x5A, 0xA3 }, // (Offset,Value)-Pair #9 + { 0x5B, 0xF8 }, // (Offset,Value)-Pair #10 + { 0x5C, 0x02 }, // (Offset,Value)-Pair #11 + { 0x5D, 0x82 }, // (Offset,Value)-Pair #12 + + // CMcpxVoiceClient_SetMixBins+0xBF : jb +0x8C + { 0xBF, 0x72 }, // (Offset,Value)-Pair #13 + { 0xC0, 0x8C }, // (Offset,Value)-Pair #14 + + // CMcpxVoiceClient_SetMixBins+0xD6 : retn + { 0xD6, 0xC3 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBins +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetMixBins_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSETMIXBINSA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins] + { 0x29, XREF_DSSETMIXBINSB }, // (Offset,Value)-Pair #1 + + // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x18] + { 0x11, 0x8B }, // (Offset,Value)-Pair #2 + { 0x12, 0x4E }, // (Offset,Value)-Pair #3 + { 0x13, 0x18 }, // (Offset,Value)-Pair #4 + + // CDirectSoundVoice_SetMixBins+0x25 : mov ecx, [esi+0x14] + { 0x25, 0x8B }, // (Offset,Value)-Pair #5 + { 0x26, 0x4E }, // (Offset,Value)-Pair #6 + { 0x27, 0x14 }, // (Offset,Value)-Pair #7 + + // CDirectSoundVoice_SetMixBins+0x55 : retn 0x08 + { 0x55, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x56, 0x08 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSoundStream_SetMixBins +// ****************************************************************** +SOOVPA<10> IDirectSoundStream_SetMixBins_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice::SetMixBins] + { 0x0D, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1 + + // IDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundStream_SetMixBins+0x08 : add eax, 0x04 + { 0x08, 0x83 }, // (Offset,Value)-Pair #6 + { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirectSoundStream_SetMixBins+0x11 : retn 0x08 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetMixBins +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] + { 0x15, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetMixBins+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetMixBins+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_SetMixBins+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #7 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_GetCurrentPosition +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_GetCurrentPosition_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_GETCURRENTPOSITION, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+8] + { 0x12, 0x8B }, // (Offset,Value)-Pair #1 + { 0x13, 0x46 }, // (Offset,Value)-Pair #2 + { 0x14, 0x08 }, // (Offset,Value)-Pair #3 + + // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 + { 0x1A, 0x75 }, // (Offset,Value)-Pair #4 + { 0x1B, 0x79 }, // (Offset,Value)-Pair #5 + + // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x4C] + { 0x8E, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x8F, 0x71 }, // (Offset,Value)-Pair #7 + { 0x90, 0x4C }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 + { 0xC8, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xC9, 0x08 }, // (Offset,Value)-Pair #10 + { 0xCA, 0x00 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_GetCurrentPosition +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_GetCurrentPosition2_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_GETCURRENTPOSITION, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+0x18] + { 0x12, 0x8B }, // (Offset,Value)-Pair #1 + { 0x13, 0x46 }, // (Offset,Value)-Pair #2 + { 0x14, 0x18 }, // (Offset,Value)-Pair #3 + + // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 + { 0x1A, 0x75 }, // (Offset,Value)-Pair #4 + { 0x1B, 0x79 }, // (Offset,Value)-Pair #5 + + // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x4C] + { 0x8E, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x8F, 0x71 }, // (Offset,Value)-Pair #7 + { 0x90, 0x4C }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 + { 0xC8, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xC9, 0x08 }, // (Offset,Value)-Pair #10 + { 0xCA, 0x00 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_GetCurrentPosition +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_GetCurrentPosition_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_GETCURRENTPOSITION2, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_GetCurrentPosition+0x19 : call [CMcpxBuffer::GetCurrentPosition] + { 0x19, XREF_GETCURRENTPOSITION }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_GetCurrentPosition+0x0D : mov eax, [esp+0x10] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 + { 0x10, 0x10 }, // (Offset,Value)-Pair #5 + + // CDirectSoundBuffer_GetCurrentPosition+0x21 : jz +0x0B + { 0x21, 0x74 }, // (Offset,Value)-Pair #6 + { 0x22, 0x0B }, // (Offset,Value)-Pair #7 + + // CDirectSoundBuffer_GetCurrentPosition+0x32 : retn 0x0C + { 0x32, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x33, 0x0C }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_GetCurrentPosition +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_GetCurrentPosition_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_GetCurrentPosition+0x19 : call [CDirectSoundBuffer::GetCurrentPosition] + { 0x19, XREF_GETCURRENTPOSITION2 }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_GetCurrentPosition+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x10, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_GetCurrentPosition+0x13 : sbb ecx, ecx + { 0x13, 0x1B }, // (Offset,Value)-Pair #5 + { 0x14, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_GetCurrentPosition+0x15 : and ecx, eax + { 0x15, 0x23 }, // (Offset,Value)-Pair #7 + { 0x16, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::Play +// ****************************************************************** +SOOVPA<7> CDirectSoundBuffer_Play_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSOUNDPLAY, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0xFF }, + { 0x0C, 0xF0 }, + { 0x13, 0x24 }, + { 0x1A, 0x85 }, + { 0x25, 0xFF }, + { 0x2B, 0x8B }, + { 0x2F, 0xC2 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_Play +// ****************************************************************** +SOOVPA<16> IDirectSoundBuffer8_Play_1_0_3936 = +{ + 0, // Large == 0 + 16, // Count == 15 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_Play+0x1D : call CDirectSoundBuffer::Play + { 0x1D, XREF_DSOUNDPLAY }, + + // IDirectSoundBuffer8_Play+0x00 : push [esp+0x10] + { 0x00, 0xFF }, // (Offset,Value)-Pair #1 + { 0x01, 0x74 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_Play+0x04 : mov eax, [esp+4+arg_0] + { 0x04, 0x8B }, // (Offset,Value)-Pair #5 + { 0x05, 0x44 }, // (Offset,Value)-Pair #6 + { 0x06, 0x24 }, // (Offset,Value)-Pair #7 + { 0x07, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_Play+0x12 : and eax, [0xFFFFFFE4] + { 0x12, 0x83 }, // (Offset,Value)-Pair #9 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x14, 0xE4 }, // (Offset,Value)-Pair #11 + + // IDirectSoundBuffer8_Play+0x17 : sbb ecx, ecx + { 0x17, 0x1B }, // (Offset,Value)-Pair #12 + { 0x18, 0xC9 }, // (Offset,Value)-Pair #13 + + // IDirectSoundBuffer8_Play+0x21 : retn 0x10 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x22, 0x10 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_Play2 +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_Play2_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, + + { + // IDirectSoundBuffer8_Play+0x1D : call CDirectSoundBuffer::Play + { 0x1D, XREF_DSOUNDPLAY }, + + // IDirectSoundBuffer8_Play+0x00 : push [esp+0x10] + { 0x00, 0xFF }, // (Offset,Value)-Pair #1 + { 0x01, 0x74 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x10 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_Play+0x12 : and eax, [0xFFFFFFE4] + { 0x12, 0x83 }, // (Offset,Value)-Pair #5 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #6 + { 0x14, 0xE4 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_Play+0x17 : sbb ecx, ecx + { 0x17, 0x1B }, // (Offset,Value)-Pair #8 + { 0x18, 0xC9 }, // (Offset,Value)-Pair #9 + + // IDirectSoundBuffer8_Play+0x21 : retn 0x10 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x10 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_Stop +// ****************************************************************** +SOOVPA<12> CDirectSoundBuffer_Stop_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSOUNDSTOP, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundBuffer_Stop+0x07 : mov eax, 0x80004005 + { 0x07, 0x6A }, // (Offset,Value)-Pair #1 + { 0x08, 0x00 }, // (Offset,Value)-Pair #2 + { 0x09, 0x6A }, // (Offset,Value)-Pair #3 + { 0x0A, 0x00 }, // (Offset,Value)-Pair #4 + { 0x0B, 0x6A }, // (Offset,Value)-Pair #5 + { 0x0C, 0x00 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_Stop+0x1A : mov ebx, eax; jz +0x0B + { 0x1A, 0x8B }, // (Offset,Value)-Pair #7 + { 0x1B, 0xD8 }, // (Offset,Value)-Pair #8 + { 0x1C, 0x74 }, // (Offset,Value)-Pair #9 + { 0x1D, 0x0B }, // (Offset,Value)-Pair #10 + + // CDirectSoundBuffer_Stop+0x2D : retn 0x04 + { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_Stop +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_Stop+0x11 : call [CDirectSoundBuffer::Stop] + { 0x11, XREF_DSOUNDSTOP }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_Stop+0x06 : and eax, 0xFFFFFFE4 + { 0x06, 0x83 }, // (Offset,Value)-Pair #2 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x08, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_Stop+0x0B : sbb ecx, ecx + { 0x0B, 0x1B }, // (Offset,Value)-Pair #5 + { 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_Stop+0x0D : and ecx, eax + { 0x0D, 0x23 }, // (Offset,Value)-Pair #7 + { 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient_SetVolume +// ****************************************************************** +SOOVPA<10> CMcpxVoiceClient_SetVolume_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSTREAMSETVOLUME, // XRef Is Saved + 0, // XRef Not Used + + // TODO: re-use for IDirectSoundBuffer_SetVolume! + + { + // CMcpxVoiceClient_SetVolume+0x14 : sub edx, [eax+0x1C] + { 0x14, 0x2B }, // (Offset,Value)-Pair #1 + { 0x15, 0x50 }, // (Offset,Value)-Pair #2 + { 0x16, 0x1C }, // (Offset,Value)-Pair #3 + + // CMcpxVoiceClient_SetVolume+0x1A : mov ecx, [ecx+0x14] + { 0x1A, 0x8B }, // (Offset,Value)-Pair #4 + { 0x1B, 0x49 }, // (Offset,Value)-Pair #5 + { 0x1C, 0x14 }, // (Offset,Value)-Pair #6 + + // CMcpxVoiceClient_SetVolume+0x26 : jz +0x0B + { 0x26, 0x74 }, // (Offset,Value)-Pair #7 + { 0x27, 0x0B }, // (Offset,Value)-Pair #8 + + // CMcpxVoiceClient_SetVolume+0x37 : retn 0x08 + { 0x37, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x38, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetVolume +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetVolume_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetVolume+0x0D : call [IDirectSoundStream::SetVolume] + { 0x0D, XREF_DSSTREAMSETVOLUME }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetVolume+0x08 : add eax, 0x04 + { 0x08, 0x83 }, // (Offset,Value)-Pair #6 + { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetVolume+0x11 : retn 0x08 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetAllParametersB +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_SetAllParametersB_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMSETALLPARAMETERS1B, // XRef Is Saved + 0, // XRef Not Used + + // TODO: re-use for CDirectSoundBuffer_SetAllParametersB!? + + { + // CDirectSoundStream_SetAllParametersB+0x10 : or byte ptr [eax+0x80], 0x80 + { 0x10, 0x80 }, // (Offset,Value)-Pair #1 + { 0x11, 0x88 }, // (Offset,Value)-Pair #2 + { 0x12, 0x80 }, // (Offset,Value)-Pair #3 + { 0x13, 0x00 }, // (Offset,Value)-Pair #4 + { 0x14, 0x00 }, // (Offset,Value)-Pair #5 + { 0x15, 0x00 }, // (Offset,Value)-Pair #6 + { 0x16, 0x80 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetAllParametersB+0x20 : push 0 + { 0x20, 0x6A }, // (Offset,Value)-Pair #8 + { 0x21, 0x00 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetAllParametersB+0x2B : retn 0x08 + { 0x2B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x2C, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetAllParametersA +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetAllParametersA_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETALLPARAMETERS1A, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetAllParametersA!? + + { + // CDirectSoundStream_SetAllParametersA+0x25 : call [IDirectSoundStream::SetAllParametersB] + { 0x1F, XREF_DSSTREAMSETALLPARAMETERS1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetAllParametersA+0x09 : mov eax, [esp+0x14] + { 0x09, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0C, 0x14 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetAllParametersA+0x0D : not eax; and eax, 1 + { 0x0D, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x0E, 0xD0 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x83 }, // (Offset,Value)-Pair #8 + { 0x10, 0xE0 }, // (Offset,Value)-Pair #9 + { 0x11, 0x01 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetAllParametersA+0x38 : retn 0x0C + { 0x38, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x39, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetAllParameters +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetAllParameters_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetAllParameters+0x11 : call [IDirectSoundStream::SetAllParametersA] + { 0x11, XREF_DSSTREAMSETALLPARAMETERS1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetAllParameters+0x04 : push eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetAllParameters+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetAllParameters+0x15 : retn 0x0C + { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeAnglesB +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetConeAnglesB_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETCONEANGLES1B, // XRef Is Saved + 0, // XRef Not Used + + // TODO: re-use for CDirectSoundBuffer_SetConeAnglesB!? + + { + // CDirectSoundStream_SetConeAnglesB+0x04 : or dword ptr [eax+0x80], 0x10 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x89 }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetConeAnglesB+0x10 : mov [ecx+0x38], eax + { 0x10, 0x89 }, // (Offset,Value)-Pair #8 + { 0x11, 0x41 }, // (Offset,Value)-Pair #9 + { 0x12, 0x38 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetConeAnglesB+0x25 : retn 0x0C + { 0x25, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x26, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeAnglesA +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetConeAnglesA_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETCONEANGLES1A, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetConeAnglesA!? + + { + // CDirectSoundStream_SetConeAnglesA+0x23 : call [IDirectSoundStream::SetConeAnglesB] + { 0x23, XREF_DSSTREAMSETCONEANGLES1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetConeAnglesA+0x09 : mov eax, [esp+0x18] + { 0x09, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0C, 0x18 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetConeAnglesA+0x0D : not eax; and eax, 1 + { 0x0D, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x0E, 0xD0 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x83 }, // (Offset,Value)-Pair #8 + { 0x10, 0xE0 }, // (Offset,Value)-Pair #9 + { 0x11, 0x01 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetConeAnglesA+0x3C : retn 0x10 + { 0x3C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x3D, 0x10 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeAngles +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetConeAngles_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetConeAngles+0x15 : call [IDirectSoundStream::SetConeAnglesA] + { 0x15, XREF_DSSTREAMSETCONEANGLES1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetConeAngles+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetConeAngles+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetConeAngles+0x19 : retn 0x10 + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOutsideVolumeB +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetConeOutsideVolumeB_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B, // XRef Is Saved + 0, // XRef Not Used + + // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeB!? + + { + // CDirectSoundStream_SetConeOutsideVolumeB+0x04 : or dword ptr [eax+0x80], 0x10 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x89 }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetConeOutsideVolumeB+0x10 : mov [ecx+0x4C], eax + { 0x10, 0x89 }, // (Offset,Value)-Pair #8 + { 0x11, 0x41 }, // (Offset,Value)-Pair #9 + { 0x12, 0x4C }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetConeOutsideVolumeB+0x1E : retn 0x08 + { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOutsideVolumeA +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetConeOutsideVolumeA_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeA!? + + { + // CDirectSoundStream_SetConeOutsideVolumeA+0x1F : call [IDirectSoundStream::SetConeOutsideVolumeB] + { 0x1F, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetConeOutsideVolumeA+0x09 : mov eax, [esp+0x14] + { 0x09, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x24 }, // (Offset,Value)-Pair #4 + { 0x0C, 0x14 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetConeOutsideVolumeA+0x0D : not eax; and eax, 1 + { 0x0D, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x0E, 0xD0 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x83 }, // (Offset,Value)-Pair #8 + { 0x10, 0xE0 }, // (Offset,Value)-Pair #9 + { 0x11, 0x01 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetConeOutsideVolumeA+0x38 : retn 0x0C + { 0x38, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x39, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOutsideVolume +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetConeOutsideVolume_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [IDirectSoundStream::SetConeOutsideVolumeA] + { 0x11, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetConeOutsideVolume+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetConeOutsideVolume+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetConeOutsideVolume+0x15 : retn 0x0C + { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMaxDistanceC +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetMaxDistanceC_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETMAXDISTANCE1C, // XRef Is Saved + 0, // XRef Not Used + + // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceC!? + + { + // CDirectSoundStream_SetMaxDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x89 }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetMaxDistanceC+0x10 : mov [ecx+0x54], eax + { 0x10, 0x89 }, // (Offset,Value)-Pair #8 + { 0x11, 0x41 }, // (Offset,Value)-Pair #9 + { 0x12, 0x54 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetMaxDistanceC+0x1E : retn 0x08 + { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMaxDistanceB +// ****************************************************************** +SOOVPA<15> CDirectSoundStream_SetMaxDistanceB_1_0_3936 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XREF_DSSTREAMSETMAXDISTANCE1B, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceB!? + + { + // CDirectSoundStream_SetMaxDistanceB+0x23 : call [IDirectSoundStream::SetMaxDistanceC] + { 0x23, XREF_DSSTREAMSETMAXDISTANCE1C }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetMaxDistanceB+0x0D : mov eax, [esp+0x14] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 + { 0x10, 0x14 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetMaxDistanceB+0x11 : not eax + { 0x11, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x12, 0xD0 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetMaxDistanceB+0x13 : and eax, 1 + { 0x13, 0x83 }, // (Offset,Value)-Pair #8 + { 0x14, 0xE0 }, // (Offset,Value)-Pair #9 + { 0x15, 0x01 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetMaxDistanceB+0x1C : mov ecx, [eax+0x14] + { 0x1C, 0x8B }, // (Offset,Value)-Pair #11 + { 0x1D, 0x48 }, // (Offset,Value)-Pair #12 + { 0x1E, 0x14 }, // (Offset,Value)-Pair #13 + + // CDirectSoundStream_SetMaxDistanceB+0x3C : retn 0x0C + { 0x3C, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x3D, 0x0C }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMaxDistanceA +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetMaxDistanceA_1_0_3936 = +{ + 0, // Large == 0 + 10,// Count == 10 + + XREF_DSSTREAMSETMAXDISTANCE1A, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceA!? + + { + // CDirectSoundStream_SetMaxDistanceA+0x15 : call [IDirectSoundStream::SetMaxDistanceB] + { 0x15, XREF_DSSTREAMSETMAXDISTANCE1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetMaxDistanceA+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetMaxDistanceA+0x0D : add eax, 0x04 + { 0x0D, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0E, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetMaxDistanceA+0x19 : retn 0x0C + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMaxDistance +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_SetMaxDistance_1_0_3936 = +{ + 0, // Large == 0 + 11,// Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetMaxDistance+0x11 : call [IDirectSoundStream::SetMaxDistanceA] + { 0x11, XREF_DSSTREAMSETMAXDISTANCE1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetMaxDistance+0x0C : push [esp+0x0C] + { 0x0C, 0xFF }, // (Offset,Value)-Pair #6 + { 0x0D, 0x74 }, // (Offset,Value)-Pair #7 + { 0x0E, 0x24 }, // (Offset,Value)-Pair #8 + { 0x0F, 0x0C }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetMaxDistance+0x15 : retn 0x0C + { 0x15, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x16, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMinDistanceC +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetMinDistanceC_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETMINDISTANCE1C, // XRef Is Saved + 0, // XRef Not Used + + // TODO: re-use for CDirectSoundBuffer_SetMinDistanceC!? + + { + // CDirectSoundStream_SetMinDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x89 }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetMinDistanceC+0x10 : mov [ecx+0x50], eax + { 0x10, 0x89 }, // (Offset,Value)-Pair #8 + { 0x11, 0x41 }, // (Offset,Value)-Pair #9 + { 0x12, 0x50 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetMinDistanceC+0x1E : retn 0x08 + { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMinDistanceB +// ****************************************************************** +SOOVPA<15> CDirectSoundStream_SetMinDistanceB_1_0_3936 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XREF_DSSTREAMSETMINDISTANCE1B, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetMinDistanceB!? + + { + // CDirectSoundStream_SetMinDistanceB+0x23 : call [IDirectSoundStream::SetMinDistanceC] + { 0x23, XREF_DSSTREAMSETMINDISTANCE1C }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetMinDistanceB+0x0D : mov eax, [esp+0x14] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 + { 0x10, 0x14 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetMinDistanceB+0x11 : not eax + { 0x11, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x12, 0xD0 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetMinDistanceB+0x13 : and eax, 1 + { 0x13, 0x83 }, // (Offset,Value)-Pair #8 + { 0x14, 0xE0 }, // (Offset,Value)-Pair #9 + { 0x15, 0x01 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetMinDistanceB+0x1C : mov ecx, [eax+0x14] + { 0x1C, 0x8B }, // (Offset,Value)-Pair #11 + { 0x1D, 0x48 }, // (Offset,Value)-Pair #12 + { 0x1E, 0x14 }, // (Offset,Value)-Pair #13 + + // CDirectSoundStream_SetMinDistanceB+0x3C : retn 0x0C + { 0x3C, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x3D, 0x0C }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMinDistanceA +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetMinDistanceA_1_0_3936 = +{ + 0, // Large == 0 + 10,// Count == 10 + + XREF_DSSTREAMSETMINDISTANCE1A, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetMinDistanceA!? + + { + // CDirectSoundStream_SetMinDistanceA+0x15 : call [IDirectSoundStream::SetMinDistanceB] + { 0x15, XREF_DSSTREAMSETMINDISTANCE1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetMinDistanceA+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetMinDistanceA+0x0D : add eax, 0x04 + { 0x0D, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0E, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetMinDistanceA+0x19 : retn 0x0C + { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMinDistance +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_SetMinDistance_1_0_3936 = +{ + 0, // Large == 0 + 11,// Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetMinDistance+0x11 : call [IDirectSoundStream::SetMinDistanceA] + { 0x11, XREF_DSSTREAMSETMINDISTANCE1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetMinDistance+0x0C : push [esp+0x0C] + { 0x0C, 0xFF }, // (Offset,Value)-Pair #6 + { 0x0D, 0x74 }, // (Offset,Value)-Pair #7 + { 0x0E, 0x24 }, // (Offset,Value)-Pair #8 + { 0x0F, 0x0C }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetMinDistance+0x15 : retn 0x0C + { 0x15, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x16, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocityC +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetVelocityC_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSTREAMSETVELOCITY1C, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundStream_SetVelocityC+0x0C : or byte ptr [ecx+0x80], 0x40 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x80 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x00 }, // (Offset,Value)-Pair #4 + { 0x10, 0x00 }, // (Offset,Value)-Pair #5 + { 0x11, 0x00 }, // (Offset,Value)-Pair #6 + { 0x12, 0x40 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetVelocityC+0x09 : movsd; movsd; movsd + { 0x09, 0xA5 }, // (Offset,Value)-Pair #8 + { 0x0A, 0xA5 }, // (Offset,Value)-Pair #9 + { 0x0B, 0xA5 }, // (Offset,Value)-Pair #10 + + // CDirectSoundStream_SetVelocityC+0x25 : retn 0x08 + { 0x25, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x26, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocityB +// ****************************************************************** +SOOVPA<14> CDirectSoundStream_SetVelocityB_1_0_3936 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_DSSTREAMSETVELOCITY1B, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundStream_SetVelocityB+0x35 : call [IDirectSoundStream::SetVelocityC] + { 0x35, XREF_DSSTREAMSETVELOCITY1C }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetVelocityB+0x21 : mov eax, [ebp+0x18] + { 0x21, 0x8B }, // (Offset,Value)-Pair #2 + { 0x22, 0x45 }, // (Offset,Value)-Pair #3 + { 0x23, 0x18 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetVelocityB+0x24 : not eax + { 0x24, 0xF7 }, // (Offset,Value)-Pair #5 + { 0x25, 0xD0 }, // (Offset,Value)-Pair #6 + + // CDirectSoundStream_SetVelocityB+0x26 : and eax, 1 + { 0x26, 0x83 }, // (Offset,Value)-Pair #7 + { 0x27, 0xE0 }, // (Offset,Value)-Pair #8 + { 0x28, 0x01 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetVelocityB+0x31 : mov ecx, [eax+0x14] + { 0x31, 0x8B }, // (Offset,Value)-Pair #10 + { 0x32, 0x48 }, // (Offset,Value)-Pair #11 + { 0x33, 0x14 }, // (Offset,Value)-Pair #12 + + // CDirectSoundStream_SetVelocityB+0x4F : retn 0x14 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x50, 0x14 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocityA +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetVelocityA_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSTREAMSETVELOCITY1A, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundStream_SetVelocityA+0x25 : call [IDirectSoundStream::SetVelocityB] + { 0x25, XREF_DSSTREAMSETVELOCITY1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetVelocityA+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetVelocityA+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 + { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetVelocityA+0x2A : retn 0x14 + { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocity +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetVelocity_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetVelocity+0x21 : call [IDirectSoundStream::SetVelocityA] + { 0x21, XREF_DSSTREAMSETVELOCITY1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetVelocity+0x1A : fstp [esp] + { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 + { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetVelocity+0x26 : retn 0x14 + { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x27, 0x14 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetVelocity +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETVELOCITY, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetVelocity+0x20 : call [CDirectSoundStream::SetVelocityB] + { 0x21, XREF_DSSTREAMSETVELOCITY1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_SetVelocity+0x06 : fld [ebp+arg_C] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundBuffer_SetVelocity+0x1A : fstp [esp+0x10+var_10] + { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 + { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + + // CDirectSoundBuffer_SetVelocity+0x26 : retn 0x14 + { 0x27, 0x14 }, // (Offset,Value)-Pair #8 + { 0x28, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetVelocity +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetVelocity_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity] + { 0x2D, XREF_DSBUFFERSETVELOCITY }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetVelocity+0x09 : mov eax, [ebp+arg_0] + { 0x09, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x45 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetVelocity+0x28 : fstp [esp+0x10+var_10] + { 0x28, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x29, 0x1C }, // (Offset,Value)-Pair #6 + { 0x2A, 0x24 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_SetVelocity+0x32 : retn 0x14 + { 0x33, 0x14 }, // (Offset,Value)-Pair #8 + { 0x34, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOrientationC +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_SetConeOrientationC_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMSETCONEORIENTATION1C, // XRef Is Saved + 0, // XRef Not Used + + // TODO: re-use for CDirectSoundBuffer_SetConeOrientationC!? + + { + // CDirectSoundStream_SetConeOrientationC+0x0C : or byte ptr [ecx+0x80], 0x18 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x80 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x00 }, // (Offset,Value)-Pair #4 + { 0x10, 0x00 }, // (Offset,Value)-Pair #5 + { 0x11, 0x00 }, // (Offset,Value)-Pair #6 + { 0x12, 0x18 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetConeOrientationC+0x1A : jz +0x07 + { 0x1A, 0x74 }, // (Offset,Value)-Pair #8 + { 0x1B, 0x07 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetConeOrientationC+0x25 : retn 0x08 + { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x26, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOrientationB +// ****************************************************************** +SOOVPA<14> CDirectSoundStream_SetConeOrientationB_1_0_3936 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_DSSTREAMSETCONEORIENTATION1B, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetConeOrientationB!? + + { + // CDirectSoundStream_SetConeOrientationB+0x35 : call [IDirectSoundStream::SetConeOrientationC] + { 0x35, XREF_DSSTREAMSETCONEORIENTATION1C }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetConeOrientationB+0x21 : mov eax, [ebp+0x18] + { 0x21, 0x8B }, // (Offset,Value)-Pair #2 + { 0x22, 0x45 }, // (Offset,Value)-Pair #3 + { 0x23, 0x18 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetConeOrientationB+0x24 : not eax + { 0x24, 0xF7 }, // (Offset,Value)-Pair #5 + { 0x25, 0xD0 }, // (Offset,Value)-Pair #6 + + // CDirectSoundStream_SetConeOrientationB+0x26 : and eax, 1 + { 0x26, 0x83 }, // (Offset,Value)-Pair #7 + { 0x27, 0xE0 }, // (Offset,Value)-Pair #8 + { 0x28, 0x01 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetConeOrientationB+0x31 : mov ecx, [eax+0x14] + { 0x31, 0x8B }, // (Offset,Value)-Pair #10 + { 0x32, 0x48 }, // (Offset,Value)-Pair #11 + { 0x33, 0x14 }, // (Offset,Value)-Pair #12 + + // CDirectSoundStream_SetConeOrientationB+0x4F : retn 0x14 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x50, 0x14 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOrientationA +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetConeOrientationA_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSTREAMSETCONEORIENTATION1A, // XRef Is Saved + 1, // XRef Is Used + + // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? + + { + // CDirectSoundStream_SetConeOrientationA+0x25 : call [IDirectSoundStream::SetConeOrientationB] + { 0x25, XREF_DSSTREAMSETCONEORIENTATION1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetConeOrientationA+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetConeOrientationA+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 + { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetConeOrientationA+0x2A : retn 0x14 + { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOrientation +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetConeOrientation_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetConeOrientation+0x21 : call [IDirectSoundStream::SetConeOrientationA] + { 0x21, XREF_DSSTREAMSETCONEORIENTATION1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetConeOrientation+0x1A : fstp [esp] + { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 + { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetConeOrientation+0x26 : retn 0x14 + { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x27, 0x14 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetPositionC +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_SetPositionC_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMSETPOSITION1C, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundStream_SetPositionC+0x0C : or byte ptr [ecx+0x80], 0xFF + { 0x0C, 0x80 }, // (Offset,Value)-Pair #1 + { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x80 }, // (Offset,Value)-Pair #3 + { 0x0F, 0x00 }, // (Offset,Value)-Pair #4 + { 0x10, 0x00 }, // (Offset,Value)-Pair #5 + { 0x11, 0x00 }, // (Offset,Value)-Pair #6 + { 0x12, 0xFF }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetPositionC+0x1A : jz +0x07 + { 0x1A, 0x74 }, // (Offset,Value)-Pair #8 + { 0x1B, 0x07 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetPositionC+0x25 : retn 0x08 + { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x26, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetPositionB +// ****************************************************************** +SOOVPA<14> CDirectSoundStream_SetPositionB_1_0_3936 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_DSSTREAMSETPOSITION1B, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundStream_SetPositionB+0x35 : call [IDirectSoundStream::SetPositionC] + { 0x35, XREF_DSSTREAMSETPOSITION1C }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetPositionB+0x21 : mov eax, [ebp+0x18] + { 0x21, 0x8B }, // (Offset,Value)-Pair #2 + { 0x22, 0x45 }, // (Offset,Value)-Pair #3 + { 0x23, 0x18 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetPositionB+0x24 : not eax + { 0x24, 0xF7 }, // (Offset,Value)-Pair #5 + { 0x25, 0xD0 }, // (Offset,Value)-Pair #6 + + // CDirectSoundStream_SetPositionB+0x26 : and eax, 1 + { 0x26, 0x83 }, // (Offset,Value)-Pair #7 + { 0x27, 0xE0 }, // (Offset,Value)-Pair #8 + { 0x28, 0x01 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetPositionB+0x31 : mov ecx, [eax+0x14] + { 0x31, 0x8B }, // (Offset,Value)-Pair #10 + { 0x32, 0x48 }, // (Offset,Value)-Pair #11 + { 0x33, 0x14 }, // (Offset,Value)-Pair #12 + + // CDirectSoundStream_SetPositionB+0x4F : retn 0x14 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x50, 0x14 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetPositionA +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetPositionA_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSTREAMSETPOSITION1A, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundStream_SetPositionA+0x25 : call [IDirectSoundStream::SetPositionB] + { 0x25, XREF_DSSTREAMSETPOSITION1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetPositionA+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetPositionA+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 + { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetPositionA+0x2A : retn 0x14 + { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetPosition +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetPosition_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetPosition+0x21 : call [IDirectSoundStream::SetPositionA] + { 0x21, XREF_DSSTREAMSETPOSITION1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetPosition+0x1A : fstp [esp] + { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 + { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetPosition+0x26 : retn 0x14 + { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x27, 0x14 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPosition +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETPOSITION, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundStream::PositionB] + { 0x21, XREF_DSSTREAMSETPOSITION1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_SetPosition+0x06 : fld [ebp+arg_C] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // CDirectSoundBuffer_SetPosition+0x1A : fstp [esp+0x10+var_10] + { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 + { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + + // CDirectSoundBuffer_SetPosition+0x26 : retn 0x14 + { 0x27, 0x14 }, // (Offset,Value)-Pair #8 + { 0x28, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPosition +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetPosition_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition] + { 0x2D, XREF_DSBUFFERSETPOSITION }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetPosition+0x09 : mov eax, [ebp+arg_0] + { 0x09, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0A, 0x45 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x08 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetPosition+0x28 : fstp [esp+0x10+var_10] + { 0x28, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x29, 0x1C }, // (Offset,Value)-Pair #6 + { 0x2A, 0x24 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_SetPosition+0x32 : retn 0x14 + { 0x33, 0x14 }, // (Offset,Value)-Pair #8 + { 0x34, 0x00 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetFrequencyB +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_SetFrequencyB_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMSETFREQUENCY1B,// XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundStream_SetFrequencyB+0x08 : cmp esi, 0xBB80 + { 0x08, 0x81 }, // (Offset,Value)-Pair #1 + { 0x09, 0xFE }, // (Offset,Value)-Pair #2 + { 0x0A, 0x80 }, // (Offset,Value)-Pair #3 + { 0x0B, 0xBB }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetFrequencyB+0x1D : jmp +0x2B + { 0x1D, 0xEB }, // (Offset,Value)-Pair #5 + { 0x1E, 0x2B }, // (Offset,Value)-Pair #6 + + // CDirectSoundStream_SetFrequencyB+0x1F : lea ecx, [ebp+0x08] + { 0x1F, 0x8D }, // (Offset,Value)-Pair #7 + { 0x20, 0x4D }, // (Offset,Value)-Pair #8 + { 0x21, 0x08 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_SetFrequencyB+0x4E : retn 0x08 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4F, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetFrequencyA +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetFrequencyA_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSTREAMSETFREQUENCY1A,// XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundStream_SetFrequencyA+0x1F : call [CDirectSoundStream::SetFrequencyB] + { 0x20, XREF_DSSTREAMSETFREQUENCY1B }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetFrequencyA+0x15 : mov eax, [esi+0x18] + { 0x15, 0x8B }, // (Offset,Value)-Pair #2 + { 0x16, 0x46 }, // (Offset,Value)-Pair #3 + { 0x17, 0x18 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetFrequencyA+0x18 : mov eax, [eax+0x10] + { 0x18, 0x8B }, // (Offset,Value)-Pair #5 + { 0x19, 0x40 }, // (Offset,Value)-Pair #6 + { 0x1A, 0x10 }, // (Offset,Value)-Pair #7 + + // CDirectSoundStream_SetFrequencyA+0x40 : retn 0x08 + { 0x40, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x41, 0x08 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetFrequency +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetFrequency_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetFrequency+0x0D : call [IDirectSoundStream::SetFrequency] + { 0x0D, XREF_DSSTREAMSETFREQUENCY1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetFrequency+0x08 : add eax, 0x04 + { 0x08, 0x83 }, // (Offset,Value)-Pair #6 + { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetFrequency+0x11 : retn 0x08 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetFrequency +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetFrequency_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetFrequency+0x15 : call [IDirectSoundStream::SetFrequency] + { 0x15, XREF_DSSTREAMSETFREQUENCY1A }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetFrequency+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetFrequency+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_SetFrequency+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #7 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient::Set3dMode +// ****************************************************************** +SOOVPA<12> CMcpxVoiceClient_Set3dMode_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSBUFFERSETMODEB, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF + { 0x04, 0x80 }, // (Offset,Value)-Pair #1 + { 0x05, 0x89 }, // (Offset,Value)-Pair #2 + { 0x06, 0x80 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0xFF }, // (Offset,Value)-Pair #7 + + // CMcpxVoiceClient_Set3dMode+0x10 : cmp [ecx+0x58], eax + { 0x10, 0x89 }, // (Offset,Value)-Pair #8 + { 0x11, 0x41 }, // (Offset,Value)-Pair #9 + { 0x12, 0x58 }, // (Offset,Value)-Pair #10 + + // CMcpxVoiceClient_Set3dMode+0x1E : retn 0x08 + { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMode +// ****************************************************************** +SOOVPA<10> CDirectSoundVoice_SetMode_1_0_3936 = +{ + 0, // Large == 0 + 10,// Count == 10 + + XREF_DSBUFFERSETMODEA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundVoice_SetMode+0x1E : call [CMcpxVoiceClient::Set3dMode] + { 0x1F, XREF_DSBUFFERSETMODEB }, // (Offset,Value)-Pair #1 + + // CDirectSoundVoice_SetMode+0x17 : push [esp+0x14] + { 0x17, 0xFF }, // (Offset,Value)-Pair #2 + { 0x18, 0x74 }, // (Offset,Value)-Pair #3 + { 0x19, 0x24 }, // (Offset,Value)-Pair #4 + { 0x1A, 0x14 }, // (Offset,Value)-Pair #5 + + // CDirectSoundVoice_SetMode+0x1B : mov ecx, [eax+0x14] + { 0x1B, 0x8B }, // (Offset,Value)-Pair #6 + { 0x1C, 0x48 }, // (Offset,Value)-Pair #7 + { 0x1D, 0x14 }, // (Offset,Value)-Pair #8 + + // CDirectSoundVoice_SetMode+0x38 : retn 0x0C + { 0x38, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x39, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetMode +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetMode_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetMode+0x18 : call [CDirectSoundVoice::SetMode] + { 0x19, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetMode+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetMode+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x10, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetMode+0x1D : retn 0x0C + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +/* +// ****************************************************************** +// * CDirectSoundStream_SetRolloffFactor +// ****************************************************************** +SOOVPA<10> CDirectSoundStream_SetRolloffFactor_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetRolloffFactor+0x11 : call [IDirectSoundStream::SetRolloffFactor] + { 0x11, XREF_DSSTREAMSETROLLOFFFACTOR1A }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetRolloffFactor+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetRolloffFactor+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetRolloffFactor+0x15 : retn 0x0C + { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + } +}; +*/ +// ****************************************************************** +// * IDirectSoundStream_SetI3DL2SourceA +// ****************************************************************** +/*SOOVPA<11> IDirectSoundStream_SetI3DL2SourceA_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSETI3DL2SOURCE1A, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundStream_SetI3DL2SourceA+0x07 : call [addr] + { 0x07, 0xE8 }, // (Offset,Value)-Pair #1 + + // IDirectSoundStream_SetI3DL2SourceA+0x16 : push 0x24 + { 0x16, 0x6A }, // (Offset,Value)-Pair #2 + { 0x17, 0x24 }, // (Offset,Value)-Pair #3 + + // IDirectSoundStream_SetI3DL2SourceA+0x23 : shl ebx, cl + { 0x23, 0xD3 }, // (Offset,Value)-Pair #4 + { 0x24, 0xE3 }, // (Offset,Value)-Pair #5 + + // IDirectSoundStream_SetI3DL2SourceA+0x4A : cmp [ebp-0x04], 0x20 + { 0x4A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x4B, 0x7D }, // (Offset,Value)-Pair #7 + { 0x4C, 0xFC }, // (Offset,Value)-Pair #8 + { 0x4D, 0x20 }, // (Offset,Value)-Pair #9 + + // IDirectSoundStream_SetI3DL2SourceA+0x71 : retn 0x0C + { 0x71, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x72, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundStream_SetI3DL2Source +// ****************************************************************** +SOOVPA<10> IDirectSoundStream_SetI3DL2Source_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + // TODO: Tentative! (most likely incorrect, actually!) + + { + // IDirectSoundStream_SetI3DL2SourceB+0x11 : call [IDirectSoundStream_SetI3DL2SourceA] + { 0x11, XREF_DSSETI3DL2SOURCE1A }, // (Offset,Value)-Pair #1 + + // IDirectSoundStream_SetI3DL2SourceB+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundStream_SetI3DL2SourceB+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirectSoundStream_SetI3DL2SourceB+0x15 : retn 0x0C + { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + } +};*/ +/* +// ****************************************************************** +// * IDirectSoundStream_Unknown1 +// ****************************************************************** +SOOVPA<9> IDirectSoundStream_Unknown1_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + // TODO: Tentative! (most likely incorrect, actually!) + + { + // IDirectSoundStream_Unknown1A+0x38 : call [IDirectSoundStream_SetI3DL2SourceA] + { 0x38, XREF_DSSETI3DL2SOURCE1A }, // (Offset,Value)-Pair #1 + + // IDirectSoundStream_Unknown1A+0x17 : cmp edi, [ecx+0x20] + { 0x17, 0x3B }, // (Offset,Value)-Pair #2 + { 0x18, 0x79 }, // (Offset,Value)-Pair #3 + { 0x19, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirectSoundStream_Unknown1A+0x25 : mov ecx, [esi+0x14] + { 0x25, 0x8B }, // (Offset,Value)-Pair #5 + { 0x26, 0x4E }, // (Offset,Value)-Pair #6 + { 0x27, 0x14 }, // (Offset,Value)-Pair #7 + + // IDirectSoundStream_Unknown1A+0x55 : retn 0x08 + { 0x55, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x56, 0x08 }, // (Offset,Value)-Pair #9 + } +}; +//*/ +// ****************************************************************** +// * IDirectSoundStream_SetHeadroomA +// ****************************************************************** +SOOVPA<11> IDirectSoundStream_SetHeadroomA_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSETHEADROOMA, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundStream_SetHeadroomA+0x09 : call [addr] + { 0x09, 0xE8 }, // (Offset,Value)-Pair #1 + + // IDirectSoundStream_SetHeadroomA+0x17 : cmp edi, [ecx+0x20] + { 0x17, 0x3B }, // (Offset,Value)-Pair #2 + { 0x18, 0x79 }, // (Offset,Value)-Pair #3 + { 0x19, 0x20 }, // (Offset,Value)-Pair #4 + + // IDirectSoundStream_SetHeadroomA+0x1D : jz +0x1F + { 0x1D, 0x74 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x1F }, // (Offset,Value)-Pair #6 + + // IDirectSoundStream_SetHeadroomA+0x3E : cmp [ebp-0x04], 0 + { 0x3E, 0x83 }, // (Offset,Value)-Pair #7 + { 0x3F, 0x7D }, // (Offset,Value)-Pair #8 + { 0x40, 0xFC }, // (Offset,Value)-Pair #9 + + // IDirectSoundStream_SetHeadroomA+0x55 : retn 0x08 + { 0x55, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x56, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundStream_SetHeadroom +// ****************************************************************** +SOOVPA<10> IDirectSoundStream_SetHeadroom_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + // TODO: Tentative! (most likely incorrect, actually!) + { + // IDirectSoundStream_SetHeadroomB+0x0D : call [IDirectSoundStream_SetHeadroomA] + { 0x0D, XREF_DSSETHEADROOMA }, // (Offset,Value)-Pair #1 + + // IDirectSoundStream_SetHeadroomB+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundStream_SetHeadroomB+0x08 : add eax, 0x04 + { 0x08, 0x83 }, // (Offset,Value)-Pair #6 + { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + + // IDirectSoundStream_SetHeadroomB+0x11 : retn 0x08 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetOrientation +// ****************************************************************** +SOOVPA<13> IDirectSound8_SetOrientation_1_0_3936 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSound8_SetOrientation+0x06 : fld [ebp+0x20] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #1 + { 0x07, 0x45 }, // (Offset,Value)-Pair #2 + { 0x08, 0x20 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_SetOrientation+0x0C : sub esp, 0x18 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #4 + { 0x0D, 0xEC }, // (Offset,Value)-Pair #5 + { 0x0E, 0x18 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_SetOrientation+0x18 : add eax, 0xFFFFFFF8 + { 0x18, 0x83 }, // (Offset,Value)-Pair #7 + { 0x19, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x1A, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetOrientation+0x1F : neg ecx + { 0x1F, 0xF7 }, // (Offset,Value)-Pair #10 + { 0x20, 0xD9 }, // (Offset,Value)-Pair #11 + + // IDirectSound8_SetOrientation+0x47 : retn 0x20 + { 0x47, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x48, 0x20 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CDirectSound::CommitDeferredSettingsB +// ****************************************************************** +SOOVPA<11> CDirectSound_CommitDeferredSettingsB_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_COMMITDEFERREDSETTINGSB, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_CommitDeferredSettingsB+0x56 : fld dword ptr [eax+0x174] + { 0x56, 0xD9 }, // (Offset,Value)-Pair #1 + { 0x57, 0x80 }, // (Offset,Value)-Pair #2 + { 0x58, 0x74 }, // (Offset,Value)-Pair #3 + { 0x59, 0x01 }, // (Offset,Value)-Pair #4 + { 0x5A, 0x00 }, // (Offset,Value)-Pair #5 + { 0x5B, 0x00 }, // (Offset,Value)-Pair #6 + + // CDirectSound_CommitDeferredSettingsB+0xA8 : fsubp st(1), st + { 0xA8, 0xDE }, // (Offset,Value)-Pair #7 + { 0xA9, 0xE9 }, // (Offset,Value)-Pair #8 + + // CDirectSound_CommitDeferredSettingsB+0xD4 : mov esi, 0x118 + { 0xD4, 0xBE }, // (Offset,Value)-Pair #9 + { 0xD5, 0x18 }, // (Offset,Value)-Pair #10 + { 0xD6, 0x01 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::CommitDeferredSettingsA +// ****************************************************************** +SOOVPA<10> CDirectSound_CommitDeferredSettingsA_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_COMMITDEFERREDSETTINGSA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSound_CommitDeferredSettingsA+0x12 : call [CDirectSound::CommitDeferredSettingsB] + { 0x12, XREF_COMMITDEFERREDSETTINGSB }, // (Offset,Value)-Pair #1 + + // CDirectSound_CommitDeferredSettingsA+0x0C : mov ecx, [eax+0x0C] + { 0x0C, 0x8B }, // (Offset,Value)-Pair #2 + { 0x0D, 0x48 }, // (Offset,Value)-Pair #3 + { 0x0E, 0x0C }, // (Offset,Value)-Pair #4 + + // CDirectSound_CommitDeferredSettingsA+0x0F : push 0 + { 0x0F, 0x6A }, // (Offset,Value)-Pair #5 + { 0x10, 0x00 }, // (Offset,Value)-Pair #6 + + // CDirectSound_CommitDeferredSettingsA+0x19 : jz +0x0B + { 0x19, 0x74 }, // (Offset,Value)-Pair #7 + { 0x1A, 0x0B }, // (Offset,Value)-Pair #8 + + // CDirectSound_CommitDeferredSettingsA+0x28 : retn 0x04 + { 0x28, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x29, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSound_CommitDeferredSettings +// ****************************************************************** +SOOVPA<8> CDirectSound_CommitDeferredSettings_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound::CommitDeferredSettingsA] + { 0x11, XREF_COMMITDEFERREDSETTINGSA }, // (Offset,Value)-Pair #1 + + // CDirectSound_CommitDeferredSettings+0x06 : and eax, 0xFFFFFFF8 + { 0x06, 0x83 }, // (Offset,Value)-Pair #2 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x08, 0xF8 }, // (Offset,Value)-Pair #4 + + // CDirectSound_CommitDeferredSettings+0x09 : neg ecx + { 0x09, 0xF7 }, // (Offset,Value)-Pair #5 + { 0x0A, 0xD9 }, // (Offset,Value)-Pair #6 + + // CDirectSound_CommitDeferredSettings+0x15 : retn 0x04 + { 0x15, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x16, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirectSound8_Release +// ****************************************************************** +SOOVPA<10> IDirectSound8_Release_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSound8_Release+0x04 : lea ecx, [eax-8] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x48 }, // (Offset,Value)-Pair #2 + { 0x06, 0xF8 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_Release+0x07 : neg eax + { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + + // IDirectSound8_Release+0x10 : call dword ptr [ecx+8] + { 0x10, 0xFF }, // (Offset,Value)-Pair #6 + { 0x11, 0x51 }, // (Offset,Value)-Pair #7 + { 0x12, 0x08 }, // (Offset,Value)-Pair #8 + + // IDirectSound8_Release+0x13 : retn 0x04 + { 0x13, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x14, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDistanceFactorB +// ****************************************************************** +SOOVPA<13> CDirectSound_SetDistanceFactorB_1_0_3936 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_SETDISTANCEFACTORB,// XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDistanceFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x89 }, // (Offset,Value)-Pair #2 + { 0x06, 0xB4 }, // (Offset,Value)-Pair #3 + { 0x07, 0x01 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x60 }, // (Offset,Value)-Pair #7 + + // CDirectSound_SetDistanceFactorB+0x0B : cmp [esp+0x08], 0 + { 0x0B, 0x83 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x7C }, // (Offset,Value)-Pair #9 + { 0x0D, 0x24 }, // (Offset,Value)-Pair #10 + { 0x0E, 0x08 }, // (Offset,Value)-Pair #11 + + // CDirectSound_SetDistanceFactorB+0x12 : mov [ecx+0x0178], eax + { 0x12, 0x78 }, // (Offset,Value)-Pair #12 + { 0x13, 0x01 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDistanceFactorA +// ****************************************************************** +SOOVPA<12> CDirectSound_SetDistanceFactorA_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 11 + + XREF_SETDISTANCEFACTORA,// XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSound_SetDistanceFactorA+0x23 : call [CDirectSound::SetDistanceFactorB] + { 0x23, XREF_SETDISTANCEFACTORB }, // (Offset,Value)-Pair #1 + + // CDirectSound_SetDistanceFactorA+0x00 : push esi; push edi + { 0x00, 0x56 }, // (Offset,Value)-Pair #2 + { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetDistanceFactorA+0x07 : fld [esp+0x10] + { 0x07, 0xD9 }, // (Offset,Value)-Pair #4 + { 0x08, 0x44 }, // (Offset,Value)-Pair #5 + { 0x09, 0x24 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + + // CDirectSound_SetDistanceFactorA+0x11 : not eax; and eax, 1 + { 0x11, 0xF7 }, // (Offset,Value)-Pair #8 + { 0x12, 0xD0 }, // (Offset,Value)-Pair #9 + { 0x13, 0x83 }, // (Offset,Value)-Pair #10 + { 0x14, 0xE0 }, // (Offset,Value)-Pair #11 + { 0x15, 0x01 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetDistanceFactor +// ****************************************************************** +SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + // TODO: Tentative (may not be SetDistanceFactor) + + { + // IDirectSound8_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactorA] + { 0x1D, XREF_SETDISTANCEFACTORA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetDistanceFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetDistanceFactor+0x0C : push ecx + { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_SetDistanceFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #7 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetDistanceFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetRolloffFactorB +// ****************************************************************** +SOOVPA<13> CDirectSound_SetRolloffFactorB_1_0_3936 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_SETROLLOFFFACTORB, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetRolloffFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x89 }, // (Offset,Value)-Pair #2 + { 0x06, 0xB4 }, // (Offset,Value)-Pair #3 + { 0x07, 0x01 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + + // CDirectSound_SetRolloffFactorB+0x0B : cmp [esp+0x08], 0 + { 0x0B, 0x83 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x7C }, // (Offset,Value)-Pair #9 + { 0x0D, 0x24 }, // (Offset,Value)-Pair #10 + { 0x0E, 0x08 }, // (Offset,Value)-Pair #11 + + // CDirectSound_SetRolloffFactorB+0x12 : mov [ecx+0x017C], eax + { 0x12, 0x7C }, // (Offset,Value)-Pair #12 + { 0x13, 0x01 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CDirectSound::SetRolloffFactorA +// ****************************************************************** +SOOVPA<12> CDirectSound_SetRolloffFactorA_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 11 + + XREF_SETROLLOFFFACTORA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSound_SetRolloffFactorA+0x23 : call [CDirectSound::SetRolloffFactorB] + { 0x23, XREF_SETROLLOFFFACTORB }, // (Offset,Value)-Pair #1 + + // CDirectSound_SetRolloffFactorA+0x00 : push esi; push edi + { 0x00, 0x56 }, // (Offset,Value)-Pair #2 + { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetRolloffFactorA+0x07 : fld [esp+0x10] + { 0x07, 0xD9 }, // (Offset,Value)-Pair #4 + { 0x08, 0x44 }, // (Offset,Value)-Pair #5 + { 0x09, 0x24 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + + // CDirectSound_SetRolloffFactorA+0x11 : not eax; and eax, 1 + { 0x11, 0xF7 }, // (Offset,Value)-Pair #8 + { 0x12, 0xD0 }, // (Offset,Value)-Pair #9 + { 0x13, 0x83 }, // (Offset,Value)-Pair #10 + { 0x14, 0xE0 }, // (Offset,Value)-Pair #11 + { 0x15, 0x01 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetRolloffFactor +// ****************************************************************** +SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + // TODO: Tentative (may not be SetRolloffFactor) + + { + // IDirectSound8_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactorA] + { 0x1D, XREF_SETROLLOFFFACTORA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetRolloffFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetRolloffFactor+0x0C : push ecx + { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_SetRolloffFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #7 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetRolloffFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetMixBinHeadroomB +// ****************************************************************** +SOOVPA<12> CDirectSound_SetMixBinHeadroomB_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSETMIXBINHEADROOMB, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetMixBinHeadroomB+0x04 : cmp dword ptr ds:[0xFE820010], 4 + { 0x12, 0x83 }, // (Offset,Value)-Pair #1 + { 0x13, 0x3D }, // (Offset,Value)-Pair #2 + { 0x14, 0x10 }, // (Offset,Value)-Pair #3 + { 0x15, 0x00 }, // (Offset,Value)-Pair #4 + { 0x16, 0x82 }, // (Offset,Value)-Pair #5 + { 0x17, 0xFE }, // (Offset,Value)-Pair #6 + { 0x18, 0x04 }, // (Offset,Value)-Pair #7 + + // CDirectSound_SetMixBinHeadroomB+0x1F : and edx, 7 + { 0x1F, 0x83 }, // (Offset,Value)-Pair #8 + { 0x20, 0xE2 }, // (Offset,Value)-Pair #9 + { 0x21, 0x07 }, // (Offset,Value)-Pair #10 + + // CDirectSound_SetMixBinHeadroomB+0x2D : jl +0xD8 + { 0x2D, 0x7C }, // (Offset,Value)-Pair #11 + { 0x2E, 0xD8 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSound::SetMixBinHeadroomA +// ****************************************************************** +SOOVPA<9> CDirectSound_SetMixBinHeadroomA_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSETMIXBINHEADROOMA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSound_SetMixBinHeadroomA+0x19 : call [CDirectSound::SetMixBinHeadroomB] + { 0x19, XREF_DSSETMIXBINHEADROOMB }, // (Offset,Value)-Pair #1 + + // CDirectSound_SetMixBinHeadroomA+0x00 : push esi; push edi + { 0x00, 0x56 }, // (Offset,Value)-Pair #2 + { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetMixBinHeadroomA+0x07 : push [esp+0x14] + { 0x07, 0xFF }, // (Offset,Value)-Pair #4 + { 0x08, 0x74 }, // (Offset,Value)-Pair #5 + { 0x09, 0x24 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x14 }, // (Offset,Value)-Pair #7 + + // CDirectSound_SetMixBinHeadroomA+0x21 : jz +0x0B + { 0x21, 0x74 }, // (Offset,Value)-Pair #8 + { 0x22, 0x0B }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetMixBinHeadroom +// ****************************************************************** +SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroomA] + { 0x19, XREF_DSSETMIXBINHEADROOMA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetMixBinHeadroom+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetMixBinHeadroom+0x08 : mov ecx, eax + { 0x08, 0x8B }, // (Offset,Value)-Pair #6 + { 0x09, 0xC8 }, // (Offset,Value)-Pair #7 + + // IDirectSound8_SetMixBinHeadroom+0x0E : add eax, 0xFFFFFFF8 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #8 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #9 + { 0x10, 0xF8 }, // (Offset,Value)-Pair #10 + + // IDirectSound8_SetMixBinHeadroom+0x1D : retn 0x0C + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1E, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSound::SetPositionB +// ****************************************************************** +SOOVPA<12> CDirectSound_SetPositionB_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSETPOSITIONB, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetPositionB+0x0C : movsd; movsd; movsd + { 0x0C, 0xA5 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xA5 }, // (Offset,Value)-Pair #2 + { 0x0E, 0xA5 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetPositionB+0x0F : or byte ptr [ecx+0x01B4], 0xFF + { 0x0F, 0x80 }, // (Offset,Value)-Pair #4 + { 0x10, 0x89 }, // (Offset,Value)-Pair #5 + { 0x11, 0xB4 }, // (Offset,Value)-Pair #6 + { 0x12, 0x01 }, // (Offset,Value)-Pair #7 + { 0x13, 0x00 }, // (Offset,Value)-Pair #8 + { 0x14, 0x00 }, // (Offset,Value)-Pair #9 + { 0x15, 0xFF }, // (Offset,Value)-Pair #10 + + // CDirectSound_SetPositionB+0x28 : retn 0x08 + { 0x28, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x29, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSound::SetPositionA +// ****************************************************************** +SOOVPA<10> CDirectSound_SetPositionA_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETPOSITIONA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSound_SetPositionA+0x35 : call [CDirectSound::SetPositionB] + { 0x35, XREF_DSSETPOSITIONB }, // (Offset,Value)-Pair #1 + + // CDirectSound_SetPositionA+0x06 : push esi; push edi + { 0x06, 0x56 }, // (Offset,Value)-Pair #2 + { 0x07, 0x57 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetPositionA+0x24 : not eax; and eax, 1 + { 0x24, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x25, 0xD0 }, // (Offset,Value)-Pair #5 + { 0x26, 0x83 }, // (Offset,Value)-Pair #6 + { 0x27, 0xE0 }, // (Offset,Value)-Pair #7 + { 0x28, 0x01 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetPositionA+0x4F : retn 0x14 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x50, 0x14 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetPosition +// ****************************************************************** +SOOVPA<11> IDirectSound8_SetPosition_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetPosition+0x2D : call [CDirectSound::SetPositionA] + { 0x2D, XREF_DSSETPOSITIONA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetPosition+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // IDirectSound8_SetPosition+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 + { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + + // IDirectSound8_SetPosition+0x1B : neg ecx + { 0x1B, 0xF7 }, // (Offset,Value)-Pair #8 + { 0x1C, 0xD9 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetPosition+0x32 : retn 0x14 + { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x33, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetVelocityB +// ****************************************************************** +SOOVPA<12> CDirectSound_SetVelocityB_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSSETVELOCITYB, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetVelocityB+0x0C : movsd; movsd; movsd + { 0x0C, 0xA5 }, // (Offset,Value)-Pair #1 + { 0x0D, 0xA5 }, // (Offset,Value)-Pair #2 + { 0x0E, 0xA5 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetVelocityB+0x0F : or dword ptr [ecx+0x01B4], 0x40 + { 0x0F, 0x83 }, // (Offset,Value)-Pair #4 + { 0x10, 0x89 }, // (Offset,Value)-Pair #5 + { 0x11, 0xB4 }, // (Offset,Value)-Pair #6 + { 0x12, 0x01 }, // (Offset,Value)-Pair #7 + { 0x13, 0x00 }, // (Offset,Value)-Pair #8 + { 0x14, 0x00 }, // (Offset,Value)-Pair #9 + { 0x15, 0x40 }, // (Offset,Value)-Pair #10 + + // CDirectSound_SetVelocityB+0x28 : retn 0x08 + { 0x28, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x29, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSound::SetVelocityA +// ****************************************************************** +SOOVPA<10> CDirectSound_SetVelocityA_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETVELOCITYA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSound_SetVelocityA+0x35 : call [CDirectSound::SetVelocityB] + { 0x35, XREF_DSSETVELOCITYB }, // (Offset,Value)-Pair #1 + + // CDirectSound_SetVelocityA+0x06 : push esi; push edi + { 0x06, 0x56 }, // (Offset,Value)-Pair #2 + { 0x07, 0x57 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetVelocityA+0x24 : not eax; and eax, 1 + { 0x24, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x25, 0xD0 }, // (Offset,Value)-Pair #5 + { 0x26, 0x83 }, // (Offset,Value)-Pair #6 + { 0x27, 0xE0 }, // (Offset,Value)-Pair #7 + { 0x28, 0x01 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetVelocityA+0x4F : retn 0x14 + { 0x4F, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x50, 0x14 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetVelocity +// ****************************************************************** +SOOVPA<11> IDirectSound8_SetVelocity_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetVelocity+0x2D : call [CDirectSound::SetVelocityA] + { 0x2D, XREF_DSSETVELOCITYA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetVelocity+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x07, 0x45 }, // (Offset,Value)-Pair #3 + { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + + // IDirectSound8_SetVelocity+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 + { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + + // IDirectSound8_SetVelocity+0x1B : neg ecx + { 0x1B, 0xF7 }, // (Offset,Value)-Pair #8 + { 0x1C, 0xD9 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetVelocity+0x32 : retn 0x14 + { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x33, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetAllParametersB +// ****************************************************************** +SOOVPA<13> CDirectSound_SetAllParametersB_1_0_3936 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_DSSETALLPARAMETERSB, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetAllParametersB+0x08 : push 0x0C; pop ecx + { 0x08, 0x6A }, // (Offset,Value)-Pair #1 + { 0x09, 0x0C }, // (Offset,Value)-Pair #2 + { 0x0A, 0x59 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetAllParametersB+0x13 : or word ptr [ecx+0x01B4], 0x0180 + { 0x13, 0x66 }, // (Offset,Value)-Pair #4 + { 0x14, 0x81 }, // (Offset,Value)-Pair #5 + { 0x15, 0x88 }, // (Offset,Value)-Pair #6 + { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x17, 0x01 }, // (Offset,Value)-Pair #8 + { 0x18, 0x00 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x80 }, // (Offset,Value)-Pair #10 + { 0x1B, 0x01 }, // (Offset,Value)-Pair #11 + + // CDirectSound_SetAllParametersB+0x30 : retn 0x08 + { 0x30, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x31, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CDirectSound::SetAllParametersA +// ****************************************************************** +SOOVPA<10> CDirectSound_SetAllParametersA_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETALLPARAMETERSA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSound_SetAllParametersA+0x2F : call [CDirectSound::SetAllParametersB] + { 0x2F, XREF_DSSETALLPARAMETERSB }, // (Offset,Value)-Pair #1 + + // CDirectSound_SetAllParametersA+0x00 : push esi; push edi + { 0x00, 0x56 }, // (Offset,Value)-Pair #2 + { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetAllParametersA+0x21 : not ecx; and ecx, 1 + { 0x21, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x22, 0xD1 }, // (Offset,Value)-Pair #5 + { 0x23, 0x83 }, // (Offset,Value)-Pair #6 + { 0x24, 0xE1 }, // (Offset,Value)-Pair #7 + { 0x25, 0x01 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetAllParametersA+0x48 : retn 0x0C + { 0x48, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x49, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetAllParameters +// ****************************************************************** +SOOVPA<12> IDirectSound8_SetAllParameters_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetAllParameters+0x19 : call [CDirectSound::SetAllParametersA] + { 0x19, XREF_DSSETALLPARAMETERSA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetAllParameters+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetAllParameters+0x0E : add eax, 0xFFFFFFF8 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x10, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirectSound8_SetAllParameters+0x13 : sbb ecx, ecx + { 0x13, 0x1B }, // (Offset,Value)-Pair #9 + { 0x14, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSound8_SetAllParameters+0x1D : retn 0x0C + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x1E, 0x0C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSound8_DownloadEffectsImage +// ****************************************************************** +SOOVPA<11> IDirectSound8_DownloadEffectsImage_1_0_3936 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSound8_DownloadEffectsImage+0x03 : push [ebp+0x18] + { 0x03, 0xFF }, // (Offset,Value)-Pair #1 + { 0x04, 0x75 }, // (Offset,Value)-Pair #2 + { 0x05, 0x18 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_DownloadEffectsImage+0x06 : mov eax, [ebp+0x08] + { 0x06, 0x8B }, // (Offset,Value)-Pair #4 + { 0x07, 0x45 }, // (Offset,Value)-Pair #5 + { 0x08, 0x08 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_DownloadEffectsImage+0x11 : add eax, 0xFFFFFFF8 + { 0x11, 0x83 }, // (Offset,Value)-Pair #7 + { 0x12, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x13, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_DownloadEffectsImage+0x24 : retn 0x14 + { 0x24, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x25, 0x14 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMode +// ****************************************************************** +SOOVPA<7> CDirectSoundStream_SetMode_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetMode+0x10 : call [CDirectSoundVoice::SetMode] + { 0x11, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetMode+0x0C : add eax, 4 + { 0x0C, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0D, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #4 + + // CDirectSoundStream_SetMode+0x0F : push eax + { 0x0F, 0x50 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer8_SetMode+0x15 : retn 0x0C + { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::Play +// ****************************************************************** +SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_3925 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CMcpxBuffer_Play, // Xref Is Saved + XRefNotUsed, + + { + { 0x06, 0x56 }, + { 0x0E, 0xF1 }, + { 0x16, 0xFF }, + { 0x1D, 0x03 }, + { 0x1E, 0xFF }, + { 0x26, 0x75 }, + { 0x2F, 0x8B }, + { 0x36, 0xC2 }, + } +}; + +// ****************************************************************** +// * CMcpxAPU::Set3dDopplerFactor +// ****************************************************************** +SOOVPA<7> CMcpxAPU_Set3dDopplerFactor_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_CMcpxAPU_Set3dDopplerFactor, // Xref Is Saved + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x08, 0x00 }, + { 0x0D, 0x24 }, + { 0x12, 0x80 }, + { 0x17, 0x07 }, + { 0x1F, 0x33 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CDirectSound::SetDopplerFactor +// ****************************************************************** +SOOVPA<9> CDirectSound_SetDopplerFactor_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_SETDOPPLERFACTOR, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x23, XREF_CMcpxAPU_Set3dDopplerFactor }, + + { 0x07, 0xD9 }, + { 0x0E, 0x44 }, + { 0x16, 0x50 }, + { 0x1E, 0x0C }, + { 0x27, 0x85 }, + { 0x32, 0xFF }, + { 0x38, 0x8B }, + { 0x3E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetDopplerFactor +// ****************************************************************** +SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_SETDOPPLERFACTOR }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CSensaura3d::GetFullHRTFFilterPair +// ****************************************************************** +SOOVPA<7> CSensaura3d_GetFullHRTFFilterPair_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_CSensaura3d_GetFullHRTFFilterPair, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0xEB }, + { 0x3E, 0x40 }, + { 0x5E, 0x7E }, + { 0x7E, 0x1E }, + { 0xA2, 0xD9 }, + { 0xBE, 0x09 }, + { 0xDE, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSoundUseFullHRTF +// ****************************************************************** +SOOVPA<8> DirectSoundUseFullHRTF_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x0D, XREF_CSensaura3d_GetFullHRTFFilterPair }, + + { 0x05, 0x85 }, + { 0x06, 0xC0 }, + { 0x11, 0x74 }, + { 0x12, 0x0B }, + { 0x13, 0x68 }, + { 0x18, 0xFF }, + { 0x1E, 0xC3 }, + } +}; + +// ****************************************************************** +// * DirectSoundUseFullHRTF2 +// ****************************************************************** +SOOVPA<8> DirectSoundUseFullHRTF2_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x01, XREF_DirectSoundEnterCriticalSection }, + + { 0x05, 0x85 }, + { 0x06, 0xC0 }, + { 0x11, 0x74 }, + { 0x12, 0x0B }, + { 0x13, 0x68 }, + { 0x18, 0xFF }, + { 0x1E, 0xC3 }, + } +}; + +// ****************************************************************** +// * CDirectSound::GetCaps +// ****************************************************************** +SOOVPA<8> CDirectSound_GetCaps_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_CDirectSound_GetCaps, // Xref Is Saved + XRefNotUsed, + + { + { 0x08, 0x8B }, + { 0x12, 0x8D }, + { 0x1C, 0x0C }, + { 0x26, 0xFF }, + { 0x34, 0x03 }, + { 0x3A, 0xDB }, + { 0x48, 0x8B }, + { 0x4E, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirectSound_GetCaps +// ****************************************************************** +SOOVPA<8> IDirectSound_GetCaps_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_CDirectSound_GetCaps }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetPitch +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetPitch_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_CDirectSoundVoice_SetPitch, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0xF0 }, + { 0x13, 0x18 }, + { 0x1A, 0xE8 }, + { 0x21, 0x8B }, + { 0x2A, 0xFF }, + { 0x30, 0x8B }, + { 0x36, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetPitch +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetPitch_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_CDirectSoundVoice_SetPitch }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeAngles +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSVOICESETCONEANGLES, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0E, 0xD0 }, + { 0x16, 0x18 }, + { 0x1E, 0x18 }, + { 0x27, 0x85 }, + { 0x32, 0xFF }, + { 0x38, 0x8B }, + { 0x3E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeAngles +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetConeAngles_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSVOICESETCONEANGLES }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSoundEnterCriticalSection +// ****************************************************************** +SOOVPA<7> DirectSoundEnterCriticalSection_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSoundEnterCriticalSection, // Xref Is Saved + XRefNotUsed, + + { + { 0x02, 0xB6 }, + { 0x06, 0x00 }, + { 0x0A, 0x74 }, + { 0x0E, 0xC3 }, + { 0x14, 0xFF }, + { 0x1A, 0x33 }, + { 0x1B, 0xC0 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::PlayEx +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_PlayEx_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DirectSound_CDirectSoundBuffer_PlayEx, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x03, XREF_DirectSoundEnterCriticalSection }, + + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x0E, 0xE0 }, + { 0x16, 0x44 }, + { 0x1E, 0x48 }, + { 0x26, 0xF6 }, + { 0x30, 0xFF }, + { 0x36, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_PlayEx +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DirectSound_CDirectSoundBuffer_PlayEx }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * IDirectSound8_AddRef +// ****************************************************************** +SOOVPA<12> IDirectSound8_AddRef_1_0_3936 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSound8_AddRef+0x04 : lea ecx, [eax-8] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x48 }, // (Offset,Value)-Pair #2 + { 0x06, 0xF8 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_AddRef+0x07 : neg eax + { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + + // IDirectSound8_AddRef+0x09 : sbb eax, eax + { 0x09, 0x1B }, // (Offset,Value)-Pair #6 + { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + + // IDirectSound8_AddRef+0x0D : mov ecx, [eax] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #8 + { 0x0E, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_AddRef+0x10 : call dword ptr [ecx+4] + { 0x10, 0xFF }, // (Offset,Value)-Pair #10 + { 0x11, 0x51 }, // (Offset,Value)-Pair #11 + { 0x12, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * DirectSoundGetSampleTime +// ****************************************************************** +SOOVPA<6> DirectSoundGetSampleTime_1_0_3936 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xA1 }, + { 0x01, 0x0C }, + { 0x02, 0x20 }, + { 0x03, 0x80 }, + { 0x04, 0xFE }, + { 0x05, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_AddRef +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_AddRef_1_0_3936 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSoundBuffer8_AddRef+0x04 : lea ecx, [eax-0x1C] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x48 }, // (Offset,Value)-Pair #2 + { 0x06, 0xE4 }, // (Offset,Value)-Pair #3 + + // IDirectSoundBuffer8_AddRef+0x07 : neg eax; sbb eax, eax + { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + { 0x09, 0x1B }, // (Offset,Value)-Pair #6 + { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_AddRef+0x10 : call dword ptr [ecx+0x04] + { 0x10, 0xFF }, // (Offset,Value)-Pair #8 + { 0x11, 0x51 }, // (Offset,Value)-Pair #9 + { 0x12, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMinDistance +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetMinDistance_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_CDirectSoundBuffer_SetMinDistance, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x11, XREF_DSSTREAMSETMINDISTANCE1B }, + + { 0x01, 0x74 }, + { 0x04, 0xD9 }, + { 0x07, 0x0C }, + { 0x0A, 0x1C }, + { 0x0D, 0x74 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMinDistance +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_CDirectSoundBuffer_SetMinDistance }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMaxDistance +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetMaxDistance_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_CDirectSoundBuffer_SetMaxDistance, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x11, XREF_DSSTREAMSETMAXDISTANCE1B }, + + { 0x01, 0x74 }, + { 0x04, 0xD9 }, + { 0x07, 0x0C }, + { 0x0A, 0x1C }, + { 0x0D, 0x74 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMaxDistance +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient::Commit3dSettings +// ****************************************************************** +SOOVPA<10> CMcpxVoiceClient_Commit3dSettings_1_0_3936 = +{ + 0, // Large == 0 + 10, // Small == 10 + + XREF_CMcpxVoiceClient_Commit3dSettings, // XRef Is Saved + XRefNotUsed, + + { + // CMcpxVoiceClient::Commit3dSettings+0x17 : or [eax+0x80], ecx + { 0x17, 0x09 }, + { 0x18, 0x88 }, + { 0x19, 0x80 }, + { 0x1A, 0x00 }, + // CMcpxVoiceClient::Commit3dSettings+0x2B : add eax, 0x80 + { 0x2B, 0x05 }, + { 0x2C, 0x80 }, + { 0x2D, 0x00 }, + // CMcpxVoiceClient::Commit3dSettings+0x3D : cmpxchg [ecx], edx + { 0x3D, 0x0F }, + { 0x3E, 0xB1 }, + { 0x3F, 0x11 }, + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient::SetI3DL2Source +// ****************************************************************** +SOOVPA<8> CMcpxVoiceClient_SetI3DL2Source_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_CMcpxVoiceClient_SetI3DL2Source, // Xref Is Saved + XRefNotUsed, + + { + { 0x04, 0x08 }, + { 0x0A, 0x59 }, + { 0x10, 0x80 }, + { 0x16, 0x80 }, + { 0x1C, 0x5F }, + { 0x22, 0x8B }, + { 0x29, 0x33 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetI3DL2Source +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetI3DL2Source_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_CDirectSoundVoice_SetI3DL2Source, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x1F, XREF_CMcpxVoiceClient_SetI3DL2Source }, + + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x0E, 0xD0 }, + { 0x16, 0x10 }, + { 0x1E, 0xE8 }, + { 0x26, 0xF8 }, + { 0x2E, 0xFF }, + { 0x36, 0x5F }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetI3DL2Source +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_CDirectSoundVoice_SetI3DL2Source }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBinVolumes +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetMixBinVolumes_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_CDirectSoundVoice_SetMixBinVolumes, // Xref Is Saved + XRefNotUsed, + + { + { 0x0D, 0x65 }, + { 0x1C, 0x53 }, + { 0x2B, 0xC0 }, + { 0x3A, 0xC7 }, + { 0x49, 0xFC }, + { 0x58, 0x83 }, + { 0x67, 0x15 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBinVolumes +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetMixBinVolumes_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_CDirectSoundVoice_SetMixBinVolumes }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CMcpxAPU::Set3dParameters +// ****************************************************************** +SOOVPA<7> CMcpxAPU_Set3dParameters_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETALLPARAMETERSB, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x57 }, + { 0x0C, 0xB8 }, + { 0x13, 0x80 }, + { 0x1A, 0x83 }, + { 0x21, 0x74 }, + { 0x2C, 0x33 }, + { 0x2F, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSound::SetAllParameters +// ****************************************************************** +SOOVPA<9> CDirectSound_SetAllParameters_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSETALLPARAMETERSA, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x1F, XREF_DSSETALLPARAMETERSB }, + + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x0E, 0xD0 }, + { 0x16, 0x10 }, + { 0x1E, 0xE8 }, + { 0x26, 0xF8 }, + { 0x2E, 0xFF }, + { 0x36, 0x5F }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetAllParameters +// ****************************************************************** +SOOVPA<9> IDirectSound_SetAllParameters_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETALLPARAMETERSA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSound::SetI3DL2Listener +// ****************************************************************** +SOOVPA<7> CDirectSound_SetI3DL2Listener_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETI3DL2LISTENER, // Xref Is Saved + XRefNotUsed, + + { + { 0x08, 0xF8 }, + { 0x12, 0x0C }, + { 0x1C, 0x18 }, + { 0x26, 0x51 }, + { 0x33, 0x8B }, + { 0x3E, 0xFF }, + { 0x44, 0x5F }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetI3DL2Listener +// ****************************************************************** +SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETI3DL2LISTENER }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSound::EnableHeadphones +// ****************************************************************** +SOOVPA<7> CDirectSound_EnableHeadphones_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSound_EnableHeadphones, // Xref Is Saved + XRefNotUsed, + + { + { 0x18, 0x8B }, + { 0x32, 0x0C }, + { 0x4F, 0x8B }, + { 0x66, 0x8B }, + { 0x80, 0xFF }, + { 0x9A, 0x76 }, + { 0xB4, 0x5B }, + } +}; + +// ****************************************************************** +// * IDirectSound_EnableHeadphones +// ****************************************************************** +SOOVPA<8> IDirectSound_EnableHeadphones_1_0_3936 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSound_EnableHeadphones }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundStream::SetMixBinVolumes +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetMixBinVolumes_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_CDirectSoundStream_SetMixBinVolumes, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x11, XREF_CDirectSoundVoice_SetMixBinVolumes }, + + { 0x01, 0x74 }, + { 0x04, 0x8B }, + { 0x07, 0x08 }, + { 0x0A, 0x24 }, + { 0x0D, 0xC0 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSoundStream::SetI3DL2Source +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetI3DL2Source_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + 0, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x11, XREF_CDirectSoundVoice_SetI3DL2Source }, + + { 0x01, 0x74 }, + { 0x04, 0x8B }, + { 0x07, 0x08 }, + { 0x0A, 0x24 }, + { 0x0D, 0xC0 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetNotificationPositions +// ****************************************************************** +SOOVPA<7> CDirectSoundBuffer_SetNotificationPositions_1_0_3936 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_CDirectSoundBuffer_SetNotificationPositions, // Xref Is Saved + XRefNotUsed, + + { + { 0x09, 0x24 }, + { 0x14, 0x24 }, + { 0x1F, 0x74 }, + { 0x2A, 0x50 }, + { 0x35, 0xF6 }, + { 0x40, 0x07 }, + { 0x4D, 0x5F }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetNotificationPositions +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_3936 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_CDirectSoundBuffer_SetNotificationPositions }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSoundStream::Pause +// ****************************************************************** +SOOVPA<6> CDirectSoundStream_Pause_1_0_3936 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x24 }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSoundCreate_1_0_3936 +// ****************************************************************** +OOVPATable DSound_1_0_3936[] = +{ + // DirectSoundCreate + { + (OOVPA*)&DirectSoundCreate_1_0_3936, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // DirectSoundDoWorkB (XREF) + { + (OOVPA*)&DirectSoundDoWorkB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "DirectSoundDoWorkB (XRef)" + #endif + }, + // DirectSoundDoWorkA (XREF) + { + (OOVPA*)&DirectSoundDoWorkA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "DirectSoundDoWorkA (XRef)" + #endif + }, + // DirectSoundDoWork + { + (OOVPA*)&DirectSoundDoWork_1_0_3936, + + XTL::EmuDirectSoundDoWork, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundDoWork" + #endif + }, + // CDirectSound_CreateSoundStream + { + (OOVPA*)&CDirectSound_CreateSoundStream_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // IDirectSound8_CreateStream + { + (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, + + XTL::EmuIDirectSound8_CreateStream, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateStream" + #endif + }, + // CDirectSound_CreateSoundBuffer + { + (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundBuffer (XREF)" + #endif + }, + // IDirectSound8_CreateBuffer + { + (OOVPA*)&IDirectSound8_CreateBuffer_1_0_3936, + + XTL::EmuIDirectSound8_CreateBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateBuffer" + #endif + }, + // IDirectSoundBuffer8::Release + { + (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Release" + #endif + }, + // IDirectSoundBuffer8::SetPitchB (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetPitchB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetPitchB (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetPitchA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetPitchA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetPitchA (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetPitch + { + (OOVPA*)&IDirectSoundBuffer8_SetPitch_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetPitch, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPitch" + #endif + }, + // CMcpxBuffer::GetStatus (XREF) + { + (OOVPA*)&CMcpxBuffer_GetStatus_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer::GetStatus (XRef)" + #endif + }, + // CDirectSoundBuffer::GetStatus (XREF) + { + (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::GetStatus (XRef)" + #endif + }, + // IDirectSoundBuffer8::GetStatus + { + (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_GetStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_GetStatus" + #endif + }, + // IDirectSoundBuffer8::SetVolumeB (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetVolumeB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetVolumeB (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetVolumeA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetVolumeA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetVolumeA (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetVolume + { + (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetVolume" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPositionB (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetCurrentPositionB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetCurrentPositionB (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPositionA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetCurrentPositionA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetCurrentPositionA (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPosition + { + (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetCurrentPosition" + #endif + }, + // IDirectSoundBuffer8::SetPlayRegionA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetPlayRegionA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetPlayRegionA (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetPlayRegion + { + (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetPlayRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPlayRegion" + #endif + }, + // IDirectSoundBuffer8::LockA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_LockA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_LockA (XRef)" + #endif + }, + // IDirectSoundBuffer8::Lock + { + (OOVPA*)&IDirectSoundBuffer8_Lock_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Lock" + #endif + }, + // IDirectSoundBuffer8::SetHeadroomA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetHeadroomA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetHeadroomA (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetHeadroom + { + (OOVPA*)&IDirectSoundBuffer8_SetHeadroom_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetHeadroom" + #endif + }, + // IDirectSoundBuffer8::SetBufferDataA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferDataA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferDataA (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetBufferData" + #endif + }, + // CMcpxVoiceClient::SetMixBins (XRef) + { + (OOVPA*)&CMcpxVoiceClient_SetMixBins_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetMixBins (XRef)" + #endif + }, + // CDirectSoundVoice::SetMixBins (XRef) + { + (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBins (XRef)" + #endif + }, + // IDirectSoundStream::SetMixBins + { + (OOVPA*)&IDirectSoundStream_SetMixBins_1_0_3936, + + XTL::EmuCDirectSoundStream_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundStream_SetMixBins" + #endif + }, + // IDirectSoundBuffer8::SetMixBins + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBins" + #endif + }, + // CMcpxBuffer::GetCurrentPosition + { + (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetCurrentPosition (XREF)" + #endif + }, + // CMcpxBuffer::GetCurrentPosition + { + (OOVPA*)&CMcpxBuffer_GetCurrentPosition2_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::GetCurrentPosition + { + (OOVPA*)&CDirectSoundBuffer_GetCurrentPosition_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetCurrentPosition + { + (OOVPA*)&IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_GetCurrentPosition" + #endif + }, + // CDirectSoundBuffer_Play + { + (OOVPA*)&CDirectSoundBuffer_Play_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::Play (XREF)" + #endif + }, + // IDirectSoundBuffer8::Play + { + (OOVPA*)&IDirectSoundBuffer8_Play_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Play, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Play" + #endif + }, + // IDirectSoundBuffer8::Play + /* { + (OOVPA*)&IDirectSoundBuffer8_Play2_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Play, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Play [YESSSS! IT WORKED!]" + #endif + },*/ + // CDirectSoundBuffer::Stop + { + (OOVPA*)&CDirectSoundBuffer_Stop_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_Stop (XREF)" + #endif + }, + // IDirectSoundBuffer8::Stop + { + (OOVPA*)&IDirectSoundBuffer8_Stop_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Stop, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Stop" + #endif + }, + // CMcpxVoiceClient_SetVolume + { + (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetVolume (XREF)" + #endif + }, + // CDirectSoundStream_SetVolume + { + (OOVPA*)&CDirectSoundStream_SetVolume_1_0_3936, + + XTL::EmuCDirectSoundStream_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetVolume" + #endif + }, + // CDirectSoundStream::SetConeAnglesB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetConeAnglesB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetConeAnglesB (XRef)" + #endif + }, + // CDirectSoundStream::SetConeAnglesA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetConeAnglesA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetConeAnglesA (XRef)" + #endif + }, + // CDirectSoundStream::SetConeAngles + { + (OOVPA*)&CDirectSoundStream_SetConeAngles_1_0_3936, + + XTL::EmuCDirectSoundStream_SetConeAngles, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetConeAngles" + #endif + }, + // CDirectSoundStream::SetConeOutsideVolumeB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetConeOutsideVolumeB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetConeOutsideVolumeB (XRef)" + #endif + }, + // CDirectSoundStream::SetConeOutsideVolumeA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetConeOutsideVolumeA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetConeOutsideVolumeA (XRef)" + #endif + }, + // CDirectSoundStream::SetConeOutsideVolume + { + (OOVPA*)&CDirectSoundStream_SetConeOutsideVolume_1_0_3936, + + XTL::EmuCDirectSoundStream_SetConeOutsideVolume, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetConeOutsideVolume" + #endif + }, + //// CDirectSoundStream::SetAllParametersB (XREF) + //{ + // (OOVPA*)&CDirectSoundStream_SetAllParametersB_1_0_3936, 0, + + // #ifdef _DEBUG_TRACE + // "CDirectSoundStream_SetAllParametersB (XRef)" + // #endif + //}, + //// CDirectSoundStream::SetAllParametersA (XREF) + //{ + // (OOVPA*)&CDirectSoundStream_SetAllParametersA_1_0_3936, 0, + + // #ifdef _DEBUG_TRACE + // "CDirectSoundStream_SetAllParametersA (XRef)" + // #endif + //}, + //// CDirectSoundStream::SetAllParameters + //{ + // (OOVPA*)&CDirectSoundStream_SetAllParameters_1_0_3936, + + // XTL::EmuCDirectSoundStream_SetAllParameters, + + // #ifdef _DEBUG_TRACE + // "EmuCDirectSoundStream_SetAllParameters" + // #endif + //}, + // CDirectSoundStream::SetMaxDistanceC (XREF) + { + (OOVPA*)&CDirectSoundStream_SetMaxDistanceC_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetMaxDistanceC (XRef)" + #endif + }, + // CDirectSoundStream::SetMaxDistanceB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetMaxDistanceB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetMaxDistanceB (XRef)" + #endif + }, + // CDirectSoundStream::SetMaxDistanceA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetMaxDistanceA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetMaxDistanceA (XRef)" + #endif + }, + // CDirectSoundStream::SetMaxDistance + { + (OOVPA*)&CDirectSoundStream_SetMaxDistance_1_0_3936, + + XTL::EmuCDirectSoundStream_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetMaxDistance" + #endif + }, + // CDirectSoundStream::SetMinDistanceC (XREF) + { + (OOVPA*)&CDirectSoundStream_SetMinDistanceC_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetMinDistanceC (XRef)" + #endif + }, + // CDirectSoundStream::SetMinDistanceB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetMinDistanceB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetMinDistanceB (XRef)" + #endif + }, + // CDirectSoundStream::SetMinDistanceA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetMinDistanceA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetMinDistanceA (XRef)" + #endif + }, + // CDirectSoundStream::SetMinDistance + { + (OOVPA*)&CDirectSoundStream_SetMinDistance_1_0_3936, + + XTL::EmuCDirectSoundStream_SetMinDistance, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetMinDistance" + #endif + }, + // CDirectSoundStream::SetVelocityC (XREF) + { + (OOVPA*)&CDirectSoundStream_SetVelocityC_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetVelocityC (XRef)" + #endif + }, + // CDirectSoundStream::SetVelocityB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetVelocityB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetVelocityB (XRef)" + #endif + }, + // CDirectSoundStream::SetVelocityA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetVelocityA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetVelocityA (XRef)" + #endif + }, + // CDirectSoundStream::SetVelocity + { + (OOVPA*)&CDirectSoundStream_SetVelocity_1_0_3936, + + XTL::EmuCDirectSoundStream_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetVelocity" + #endif + }, + // CDirectSoundBuffer::SetVelocity (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVelocity (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetVelocity + { + (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetVelocity" + #endif + }, + // CDirectSoundStream::SetConeOrientationC (XREF) + { + (OOVPA*)&CDirectSoundStream_SetConeOrientationC_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetConeOrientationC (XRef)" + #endif + }, + // CDirectSoundStream::SetConeOrientationB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetConeOrientationB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetConeOrientationB (XRef)" + #endif + }, + // CDirectSoundStream::SetConeOrientationA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetConeOrientationA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetConeOrientationA (XRef)" + #endif + }, + // CDirectSoundStream::SetConeOrientation + { + (OOVPA*)&CDirectSoundStream_SetConeOrientation_1_0_3936, + + XTL::EmuCDirectSoundStream_SetConeOrientation, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetConeOrientation" + #endif + }, + // CDirectSoundStream::SetPositionC (XREF) + { + (OOVPA*)&CDirectSoundStream_SetPositionC_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetPositionC (XRef)" + #endif + }, + // CDirectSoundStream::SetPositionB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetPositionB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetPositionB (XRef)" + #endif + }, + // CDirectSoundStream::SetPositionA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetPositionA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetPositionA (XRef)" + #endif + }, + // CDirectSoundStream::SetPosition + { + (OOVPA*)&CDirectSoundStream_SetPosition_1_0_3936, + + XTL::EmuCDirectSoundStream_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetPosition" + #endif + }, + // CDirectSoundBuffer::SetPosition (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPosition (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetPosition + { + (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPosition" + #endif + }, + // CDirectSoundStream::SetFrequencyB (XREF) + { + (OOVPA*)&CDirectSoundStream_SetFrequencyB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetFrequencyB (XRef)" + #endif + }, + // CDirectSoundStream::SetFrequencyA (XREF) + { + (OOVPA*)&CDirectSoundStream_SetFrequencyA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetFrequencyA (XRef)" + #endif + }, + // CDirectSoundStream::SetFrequency + { + (OOVPA*)&CDirectSoundStream_SetFrequency_1_0_3936, + + XTL::EmuCDirectSoundStream_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetFrequency" + #endif + }, + // IDirectSoundBuffer8::SetFrequency + { + (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetFrequency" + #endif + }, + // CMcpxVoiceClient::Set3dMode (XREF) + { + (OOVPA*)&CMcpxVoiceClient_Set3dMode_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::Set3dMode (XRef)" + #endif + }, + // CDirectSoundVoice::SetMode (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetMode_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMode (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetMode + { + (OOVPA*)&IDirectSoundBuffer8_SetMode_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMode" + #endif + }, + // IDirectSoundStream::SetI3DL2SourceA (XREF) + /*{ + (OOVPA*)&IDirectSoundStream_SetI3DL2SourceA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundStream_SetI3DL2SourceA (XRef) ******************" + #endif + }, + // IDirectSoundStream::SetI3DL2Source + { + (OOVPA*)&IDirectSoundStream_SetI3DL2Source_1_0_3936, + + XTL::EmuIDirectSoundStream_SetI3DL2Source, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundStream_SetI3DL2Source ***********************" + #endif + },*/ + /* + // IDirectSoundStream::Unknown1 + { + (OOVPA*)&IDirectSoundStream_Unknown1_1_0_3936, + + XTL::EmuIDirectSoundStream_Unknown1, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundStream_Unknown1" + #endif + }, + //*/ + // IDirectSoundStream::SetHeadroomA (XREF) + { + (OOVPA*)&IDirectSoundStream_SetHeadroomA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundStream_SetHeadroomA (XRef)" + #endif + }, + // IDirectSoundStream::SetHeadroom + { + (OOVPA*)&IDirectSoundStream_SetHeadroom_1_0_3936, + + XTL::EmuIDirectSoundStream_SetHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundStream_SetHeadroom" + #endif + }, + // IDirectSound8::SetOrientation + { + (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, + + XTL::EmuIDirectSound8_SetOrientation, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetOrientation" + #endif + }, + // CDirectSound::CommitDeferredSettingsB (XREF) + { + (OOVPA*)&CDirectSound_CommitDeferredSettingsB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_CommitDeferredSettingsB (XRef)" + #endif + }, + // CDirectSound::CommitDeferredSettingsA (XREF) + { + (OOVPA*)&CDirectSound_CommitDeferredSettingsA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_CommitDeferredSettingsA (XRef)" + #endif + }, + // CDirectSound::CommitDeferredSettings + { + (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_3936, + + XTL::EmuCDirectSound_CommitDeferredSettings, + + #ifdef _DEBUG_TRACE + "EmuCDirectSound_CommitDeferredSettings" + #endif + }, + // IDirectSound8::Release + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // CDirectSound::SetDistanceFactorB (XREF) + { + (OOVPA*)&CDirectSound_SetDistanceFactorB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDistanceFactorB (XRef)" + #endif + }, + // CDirectSound::SetDistanceFactorA (XREF) + { + (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDistanceFactorA (XRef)" + #endif + }, + // IDirectSound8::SetDistanceFactor + { + (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_3936, + + XTL::EmuIDirectSound8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDistanceFactor" + #endif + }, + // CDirectSound::SetRolloffFactorB (XREF) + { + (OOVPA*)&CDirectSound_SetRolloffFactorB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetRolloffFactorB (XRef)" + #endif + }, + // CDirectSound::SetRolloffFactorA (XREF) + { + (OOVPA*)&CDirectSound_SetRolloffFactorA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetRolloffFactorA (XRef)" + #endif + }, + // IDirectSound8::SetRolloffFactor + { + (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_3936, + + XTL::EmuIDirectSound8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetRolloffFactor" + #endif + }, + // CDirectSound::SetMixBinHeadroomB (XREF) + { + (OOVPA*)&CDirectSound_SetMixBinHeadroomB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetMixBinHeadroomB (XRef)" + #endif + }, + // CDirectSound::SetMixBinHeadroomA (XREF) + { + (OOVPA*)&CDirectSound_SetMixBinHeadroomA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetMixBinHeadroomA (XRef)" + #endif + }, + // IDirectSound8::SetMixBinHeadroom + { + (OOVPA*)&IDirectSound8_SetMixBinHeadroom_1_0_3936, + + XTL::EmuIDirectSound8_SetMixBinHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetMixBinHeadroom" + #endif + }, + // CDirectSound::SetPositionB (XREF) + { + (OOVPA*)&CDirectSound_SetPositionB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetPositionB (XRef)" + #endif + }, + // CDirectSound::SetPositionA (XREF) + { + (OOVPA*)&CDirectSound_SetPositionA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetPositionA (XRef)" + #endif + }, + // IDirectSound8::SetPosition + { + (OOVPA*)&IDirectSound8_SetPosition_1_0_3936, + + XTL::EmuIDirectSound8_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetPosition" + #endif + }, + // CDirectSound::SetVelocityB (XREF) + { + (OOVPA*)&CDirectSound_SetVelocityB_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetVelocityB (XRef)" + #endif + }, + // CDirectSound::SetVelocityA (XREF) + { + (OOVPA*)&CDirectSound_SetVelocityA_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetVelocityA (XRef)" + #endif + }, + // IDirectSound8::SetVelocity + { + (OOVPA*)&IDirectSound8_SetVelocity_1_0_3936, + + XTL::EmuIDirectSound8_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetVelocity" + #endif + }, + // CDirectSound::SetAllParametersB (XREF) + { + (OOVPA*)&CMcpxAPU_Set3dParameters_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetAllParametersB (XRef)" + #endif + }, + // CDirectSound::SetAllParametersA (XREF) + { + (OOVPA*)&CDirectSound_SetAllParameters_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetAllParametersA (XRef)" + #endif + }, + // IDirectSound8::SetAllParameters + { + (OOVPA*)&IDirectSound_SetAllParameters_1_0_3936, + + XTL::EmuIDirectSound8_SetAllParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetAllParameters" + #endif + }, + // IDirectSound8::DownloadEffectsImage + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // CDirectSoundStream::SetMode + { + (OOVPA*)&CDirectSoundStream_SetMode_1_0_3936, + + XTL::EmuCDirectSoundStream_SetMode, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetMode" + #endif + }, + // DirectSound::CMcpxBuffer::Play (XREF) + /*{ + (OOVPA*)&DirectSound_CMcpxBuffer_Play_1_0_4361, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CMcpxBuffer::Play (XREF)" + #endif + },*/ + // CMcpxAPU::Set3dDopplerFactor (XREF) + { + (OOVPA*)&CMcpxAPU_Set3dDopplerFactor_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CMcpxAPU::Set3dDopplerFactor (XREF)" + #endif + }, + // CDirectSound::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetDopplerFactor (XREF)" + #endif + }, + // IDirectSound_SetDopplerFactor + { + (OOVPA*)&IDirectSound_SetDopplerFactor_1_0_3936, + XTL::EmuIDirectSound8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "IDirectSound_SetDopplerFactor" + #endif + }, + // CSensaura3d::GetFullHRTFFilterPair (XREF) + { + (OOVPA*)&CSensaura3d_GetFullHRTFFilterPair_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CSensaura3d::GetFullHRTFFilterPair (XREF)" + #endif + }, + // DirectSoundUseFullHRTF + { + (OOVPA*)&DirectSoundUseFullHRTF_1_0_3936, + XTL::EmuDirectSoundUseFullHRTF, + + #ifdef _DEBUG_TRACE + "DirectSoundUseFullHRTF" + #endif + }, + // CDirectSound::GetCaps (XREF) + { + (OOVPA*)&CDirectSound_GetCaps_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::GetCaps (XREF)" + #endif + }, + // IDirectSound_GetCaps + { + (OOVPA*)&IDirectSound_GetCaps_1_0_3936, + XTL::EmuIDirectSound8_GetCaps, + + #ifdef _DEBUG_TRACE + "IDirectSound_GetCaps" + #endif + }, + // CDirectSoundVoice::SetConeAngles (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetConeAngles_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetConeAngles (XREF)" + #endif + }, + // IDirectSoundBuffer_SetConeAngles + { + (OOVPA*)&IDirectSoundBuffer_SetConeAngles_1_0_3936, + XTL::EmuIDirectSoundBuffer8_SetConeAngles, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetConeAngles" + #endif + }, + // DirectSoundEnterCriticalSection (XREF) + { + (OOVPA*)&DirectSoundEnterCriticalSection_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "DirectSoundEnterCriticalSection (XREF)" + #endif + }, + // DirectSoundUseFullHRTF + { + (OOVPA*)&DirectSoundUseFullHRTF2_1_0_3936, + XTL::EmuDirectSoundUseFullHRTF, + + #ifdef _DEBUG_TRACE + "DirectSoundUseFullHRTF" + #endif + }, + // DirectSound::CDirectSoundBuffer::PlayEx (XREF) + { + (OOVPA*)&CDirectSoundBuffer_PlayEx_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" + #endif + }, + // IDirectSoundBuffer_PlayEx + { + (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_3936, + XTL::EmuIDirectSoundBuffer8_PlayEx, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_PlayEx" + #endif + }, + // IDirectSound8::AddRef + { + (OOVPA*)&IDirectSound8_AddRef_1_0_3936, + + XTL::EmuIDirectSound8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_AddRef" + #endif + }, + // DirectSoundGetSampleTime + { + (OOVPA*)&DirectSoundGetSampleTime_1_0_3936, + XTL::EmuDirectSoundGetSampleTime, + + #ifdef _DEBUG_TRACE + "DirectSoundGetSampleTime" + #endif + }, + // IDirectSoundBuffer_AddRef + { + (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_AddRef" + #endif + }, + // CDirectSoundBuffer::SetMinDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMinDistance (XREF)" + #endif + }, + // IDirectSoundBuffer_SetMinDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_3936, + XTL::EmuIDirectSoundBuffer8_SetMinDistance, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMinDistance" + #endif + }, + // CDirectSoundBuffer::SetMaxDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMaxDistance (XREF)" + #endif + }, + // IDirectSoundBuffer_SetMaxDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_3936, + XTL::EmuIDirectSoundBuffer8_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMaxDistance" + #endif + }, + // CMcpxVoiceClient::Commit3dSettings (XREF) + { + (OOVPA*)&CMcpxVoiceClient_Commit3dSettings_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::Commit3dSettings (XREF)" + #endif + }, + // CMcpxVoiceClient::SetI3DL2Source (XREF) + { + (OOVPA*)&CMcpxVoiceClient_SetI3DL2Source_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetI3DL2Source (XREF)" + #endif + }, + // CDirectSoundVoice::SetI3DL2Source (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetI3DL2Source_1_0_3936, + XTL::EmuCDirectSoundStream_SetI3DL2Source, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetI3DL2Source (XREF)" + #endif + }, + // IDirectSoundBuffer_SetI3DL2Source + { + (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_3936, + XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetI3DL2Source" + #endif + }, + // CDirectSoundVoice::SetMixBinVolumes + { + (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice_SetMixBinVolumes (XREF)" + #endif + }, + // IDirectSoundBuffer_SetMixBinVolumes + { + (OOVPA*)&IDirectSoundBuffer_SetMixBinVolumes_1_0_3936, + XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBinVolumes" + #endif + }, + // CDirectSound_SetI3DL2Listener + { + (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound_SetI3DL2Listener_1_0_3936, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // DirectSound::CDirectSound::EnableHeadphones (XREF) + { + (OOVPA*)&CDirectSound_EnableHeadphones_1_0_3936, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::EnableHeadphones (XREF)" + #endif + }, + // EmuIDirectSound_EnableHeadphones + { + (OOVPA*)&IDirectSound_EnableHeadphones_1_0_3936, + XTL::EmuIDirectSound_EnableHeadphones, + + #ifdef _DEBUG_TRACE + "IDirectSound_EnableHeadphones" + #endif + }, + // CDirectSoundStream::SetMixBinVolumes + { + (OOVPA*)&CDirectSoundStream_SetMixBinVolumes_1_0_3936, + XTL::EmuCDirectSoundStream_SetMixBinVolumes, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_SetMixBinVolumes" + #endif + }, + // CDirectSoundStream::SetI3DL2Source + /*{ + (OOVPA*)&CDirectSoundStream_SetI3DL2Source_1_0_3936, + + XTL::EmuCDirectSoundStream_SetI3DL2Source, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetI3DL2Source" + #endif + },*/ + // CDirectSoundBuffer_SetNotificationPositions + { + (OOVPA*)&CDirectSoundBuffer_SetNotificationPositions_1_0_3936, 0, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundBuffer_SetNotificationPositions" + #endif + }, + // IDirectSoundBuffer_SetNotificationPositions + { + (OOVPA*)&IDirectSoundBuffer_SetNotificationPositions_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetNotificationPositions, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer_SetNotificationPositions" + #endif + }, + // CDirectSoundStream::Pause + { + (OOVPA*)&CDirectSoundStream_Pause_1_0_3936, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_Pause" + #endif + }, +}; + +// ****************************************************************** +// * DSound_1_0_3936_SIZE +// ****************************************************************** +uint32 DSound_1_0_3936_SIZE = sizeof(DSound_1_0_3936); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.h new file mode 100644 index 000000000..5939157d4 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4134.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_4134_H +#define DSOUND_1_0_4134_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_4134[]; +extern uint32 DSOUND_1_0_4134_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.inl new file mode 100644 index 000000000..ede14febd --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4134.inl @@ -0,0 +1,716 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4134.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * DirectSoundCreate +// ****************************************************************** +SOOVPA<9> DirectSoundCreate_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // DirectSoundCreate+0x0B : movzx esi, al + { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x0C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x0D, 0xF0 }, // (Offset,Value)-Pair #3 + + // DirectSoundCreate+0x12 : call [addr] + { 0x12, 0xE8 }, // (Offset,Value)-Pair #4 + + // DirectSoundCreate+0x1B : jl +0x13 + { 0x1B, 0x7C }, // (Offset,Value)-Pair #5 + { 0x1C, 0x13 }, // (Offset,Value)-Pair #6 + + // DirectSoundCreate+0x27 : sbb ecx, ecx + { 0x27, 0x1B }, // (Offset,Value)-Pair #7 + { 0x28, 0xC9 }, // (Offset,Value)-Pair #8 + + // DirectSoundCreate+0x43 : leave + { 0x43, 0xC9 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSound8_CreateSoundBuffer +// ****************************************************************** +SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSound8_CreateSoundBuffer+0x2A : push 0x24 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 + { 0x2B, 0x24 }, // (Offset,Value)-Pair #2 + + // IDirectSound8_CreateSoundBuffer+0x3C : call [addr] + { 0x3C, 0xE8 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_CreateSoundBuffer+0x4A : and esi, 0x7FF8FFF2 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #4 + { 0x4B, 0xE6 }, // (Offset,Value)-Pair #5 + { 0x4C, 0xF2 }, // (Offset,Value)-Pair #6 + { 0x4D, 0xFF }, // (Offset,Value)-Pair #7 + { 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x4F, 0x7F }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetHeadroom +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x08, 0x48 }, + { 0x0D, 0x24 }, + { 0x12, 0x48 }, + { 0x17, 0x8B }, + { 0x1F, 0x5E }, + { 0x21, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved + 1, + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetHeadroom +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_Lock +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_Lock_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x75 }, + { 0x0A, 0x75 }, + { 0x10, 0x1C }, + { 0x16, 0x18 }, + { 0x1C, 0x1B }, + { 0x22, 0xC8 }, + { 0x2C, 0x5D }, + { 0x2E, 0x20 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetVolume +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x10 }, + { 0x0A, 0x08 }, + { 0x0E, 0x89 }, + { 0x12, 0x49 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetVolume +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved + 1, + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetVolume +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetI3DL2Listener +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETI3DL2LISTENER, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0x15 }, + { 0x3E, 0x88 }, + { 0x5E, 0x5A }, + { 0x7E, 0x89 }, + { 0x9E, 0x20 }, + { 0xBE, 0x00 }, + { 0xDE, 0x75 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetI3DL2Listener +// ****************************************************************** +SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_DSSETI3DL2LISTENER }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetBufferData +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETBUFFERDATA2, // Xref Is Saved + XRefNotUsed, + + { + { 0x14, 0x0C }, + { 0x2A, 0xB6 }, + { 0x40, 0xB8 }, + { 0x56, 0x8B }, + { 0x6C, 0x8B }, + { 0x82, 0x7C }, + { 0x98, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetBufferData +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetBufferData_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_DSSETBUFFERDATA2 }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::GetEffectData +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSound_GetEffectData_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSound_GetEffectData, // Xref Is Saved + XRefNotUsed, + + { + { 0x0A, 0x3D }, + { 0x16, 0xF6 }, + { 0x24, 0xB8 }, + { 0x2E, 0x8B }, + { 0x3A, 0x14 }, + { 0x46, 0x85 }, + { 0x52, 0x15 }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSound_GetEffectData +// ****************************************************************** +SOOVPA<9> IDirectSound_GetEffectData_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x1F, XREF_DirectSound_CDirectSound_GetEffectData }, + + { 0x03, 0xFF }, + { 0x08, 0x08 }, + { 0x0D, 0xC8 }, + { 0x12, 0xC0 }, + { 0x17, 0xF7 }, + { 0x1C, 0xC8 }, + { 0x23, 0x5D }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoiceSettings::SetMixBins +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETMIXBINSC, // Xref Is Saved + XRefNotUsed, + + { + { 0x0E, 0xB8 }, + { 0x22, 0x83 }, + { 0x2E, 0x71 }, + { 0x3E, 0xB6 }, + { 0x4E, 0x41 }, + { 0x5E, 0x00 }, + { 0x6E, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMixBins +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSB, // Xref Is Saved + 1, + + { + { 0x0D, XREF_DSSETMIXBINSC }, + + { 0x02, 0x74 }, + { 0x06, 0x74 }, + { 0x0A, 0x4E }, + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x19, 0x5E }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetMixBins +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSA, // Xref Is Saved + 1, + + { + { 0x32, XREF_DSSETMIXBINSB }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBins +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DSSETMIXBINSA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSoundCreate_1_0_4134 +// ****************************************************************** +OOVPATable DSound_1_0_4134[] = +{ + // DirectSoundCreate + { + (OOVPA*)&DirectSoundCreate_1_0_4134, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // IDirectSound8::AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_AddRef_1_0_3936, + + XTL::EmuIDirectSound8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_AddRef" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // IDirectSound8::CreateSoundBuffer + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4134, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetHeadroom (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetHeadroom (XREF)" + #endif + }, + // IDirectSoundBuffer_SetHeadroom + { + (OOVPA*)&IDirectSoundBuffer_SetHeadroom_1_0_4134, + XTL::EmuIDirectSoundBuffer8_SetHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetHeadRoom" + #endif + }, + // IDirectSoundBuffer8::Lock + { + (OOVPA*)&IDirectSoundBuffer_Lock_1_0_4134, + + XTL::EmuIDirectSoundBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Lock" + #endif + }, + // DirectSound::CDirectSoundVoice::SetVolume (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetVolume_1_0_4134,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVolume (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetVolume (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVolume (XREF)" + #endif + }, + // IDirectSoundBuffer_SetVolume (XREF) + { + (OOVPA*)&IDirectSoundBuffer_SetVolume_1_0_4134, + XTL::EmuIDirectSoundBuffer8_SetVolume, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetVolume" + #endif + }, + // CDirectSound_SetI3DL2Listener + { + (OOVPA*)&DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound_SetI3DL2Listener_1_0_4134, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // CDirectSound_GetEffectData + { + (OOVPA*)&DirectSound_CDirectSound_GetEffectData_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::GetEffectData" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound_GetEffectData_1_0_4134, + + XTL::EmuIDirectSound8_GetEffectData, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_GetEffectData" + #endif + }, + // CDirectSoundBuffer::SetBufferData + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData + { + (OOVPA*)&IDirectSoundBuffer_SetBufferData_1_0_4134, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferData" + #endif + }, + // IDirectSound8_CreateStream + { + (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, + + XTL::EmuIDirectSound8_CreateStream, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateStream" + #endif + }, + // CDirectSoundVoiceSettings::SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBins (XREF)" + #endif + }, + // CDirectSoundVoice::SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBins (XREF)" + #endif + }, + // CDirectSoundBuffer::SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBins (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetMixBins + { + (OOVPA*)&IDirectSoundBuffer_SetMixBins_1_0_4134, + + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBins" + #endif + }, +}; + +// ****************************************************************** +// * DSound_1_0_4134_SIZE +// ****************************************************************** +uint32 DSound_1_0_4134_SIZE = sizeof(DSound_1_0_4134); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.h new file mode 100644 index 000000000..d15cc26c0 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4361.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_4361_H +#define DSOUND_1_0_4361_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_4361[]; +extern uint32 DSOUND_1_0_4361_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.inl new file mode 100644 index 000000000..088d72927 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4361.inl @@ -0,0 +1,1302 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4361.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * DirectSoundCreate +// ****************************************************************** +SOOVPA<9> DirectSoundCreate_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // DirectSoundCreate+0x0B : movzx esi, al + { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x0C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x0D, 0xF0 }, // (Offset,Value)-Pair #3 + + // DirectSoundCreate+0x12 : call [addr] + { 0x12, 0xE8 }, // (Offset,Value)-Pair #4 + + // DirectSoundCreate+0x1B : jl +0x13 + { 0x1B, 0x7C }, // (Offset,Value)-Pair #5 + { 0x1C, 0x13 }, // (Offset,Value)-Pair #6 + + // DirectSoundCreate+0x27 : sbb ecx, ecx + { 0x27, 0x1B }, // (Offset,Value)-Pair #7 + { 0x28, 0xC9 }, // (Offset,Value)-Pair #8 + + // DirectSoundCreate+0x43 : leave + { 0x43, 0xC9 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSound8_CreateSoundBuffer +// ****************************************************************** +SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSound8_CreateSoundBuffer+0x2A : push 0x24 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 + { 0x2B, 0x24 }, // (Offset,Value)-Pair #2 + + // IDirectSound8_CreateSoundBuffer+0x3C : call [addr] + { 0x3C, 0xE8 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_CreateSoundBuffer+0x4A : and esi, 0x7FF8FFF2 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #4 + { 0x4B, 0xE6 }, // (Offset,Value)-Pair #5 + { 0x4C, 0xF2 }, // (Offset,Value)-Pair #6 + { 0x4D, 0xFF }, // (Offset,Value)-Pair #7 + { 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x4F, 0x7F }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSound::CreateSoundStream +// ****************************************************************** +SOOVPA<14> CDirectSound_CreateSoundStream_1_0_4361 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_DSCREATESOUNDSTREAM, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_CreateSoundStream+0x23 : mov eax, 0x80004005 + { 0x23, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x24, 0x05 }, // (Offset,Value)-Pair #2 + { 0x25, 0x40 }, // (Offset,Value)-Pair #3 + { 0x27, 0x80 }, // (Offset,Value)-Pair #4 + + // CDirectSound_CreateSoundStream+0x2A : push 0x28 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #5 + { 0x2B, 0x28 }, // (Offset,Value)-Pair #6 + + // CDirectSound_CreateSoundStream+0x4A : add esi, 0x7FF8FFF2 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #7 + { 0x4B, 0xE6 }, // (Offset,Value)-Pair #8 + { 0x4C, 0xF2 }, // (Offset,Value)-Pair #9 + { 0x4D, 0xFF }, // (Offset,Value)-Pair #10 + { 0x4E, 0xF8 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x7F }, // (Offset,Value)-Pair #12 + + // CDirectSound_CreateSoundStream+0x8E : retn 0x10 + { 0x8E, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x8F, 0x10 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * DirectSoundCreateStream +// ****************************************************************** +SOOVPA<12> DirectSoundCreateStream_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // DirectSoundCreateStream+0x2F : call [CDirectSound::CreateSoundStream] + { 0x2F, XREF_DSCREATESOUNDSTREAM }, // (Offset,Value)-Pair #1 + + // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 + { 0x04, 0x83 }, // (Offset,Value)-Pair #2 + { 0x05, 0x65 }, // (Offset,Value)-Pair #3 + { 0x06, 0xFC }, // (Offset,Value)-Pair #4 + + // DirectSoundCreateStream+0x08 : push ebx; push esi; push edi + { 0x08, 0x53 }, // (Offset,Value)-Pair #5 + { 0x09, 0x56 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x57 }, // (Offset,Value)-Pair #7 + + // DirectSoundCreateStream+0x3C : call dword ptr [eax+8] + { 0x3C, 0xFF }, // (Offset,Value)-Pair #8 + { 0x3D, 0x50 }, // (Offset,Value)-Pair #9 + { 0x3E, 0x08 }, // (Offset,Value)-Pair #10 + + // DirectSoundCreateStream+0x54 : retn 0x08 + { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x55, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CMcpxStream_Pause +// ****************************************************************** +SOOVPA<11> CMcpxStream_Pause_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMPAUSE, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxStream_Pause+0x1E : or eax, 4 + { 0x1E, 0x83 }, // (Offset,Value)-Pair #1 + { 0x1F, 0xC8 }, // (Offset,Value)-Pair #2 + { 0x20, 0x04 }, // (Offset,Value)-Pair #3 + + // CMcpxStream_Pause+0x21 : jmp +0x0D + { 0x21, 0xEB }, // (Offset,Value)-Pair #4 + { 0x22, 0x0D }, // (Offset,Value)-Pair #5 + + // CMcpxStream_Pause+0x29 : movzx eax, word ptr [esi+0x12] + { 0x29, 0x0F }, // (Offset,Value)-Pair #6 + { 0x2A, 0xB7 }, // (Offset,Value)-Pair #7 + { 0x2B, 0x46 }, // (Offset,Value)-Pair #8 + { 0x2C, 0x12 }, // (Offset,Value)-Pair #9 + + // CMcpxStream_Pause+0x44 : retn 0x04 + { 0x44, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x45, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_Pause +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_Pause_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_Pause+0x35 : call [CMcpxStream::Pause] + { 0x35, XREF_DSSTREAMPAUSE }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_Pause+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundStream_Pause+0x2C : mov ecx, [eax+0x24] + { 0x2C, 0x8B }, // (Offset,Value)-Pair #7 + { 0x2D, 0x48 }, // (Offset,Value)-Pair #8 + { 0x2E, 0x24 }, // (Offset,Value)-Pair #9 + + // CDirectSoundStream_Pause+0x4E : retn 0x08 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4F, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPlayRegion +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + // NOTE: This is actually intercepting CDirectSoundBuffer::SetPlayRegion(ULONG, ULONG) + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSoundBuffer8_SetPlayRegion+0x10 : movzx edi, al + { 0x10, 0x0F }, // (Offset,Value)-Pair #1 + { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x12, 0xF8 }, // (Offset,Value)-Pair #3 + + // IDirectSoundBuffer8_SetPlayRegion+0x17 : jz +0x0B + { 0x17, 0x74 }, // (Offset,Value)-Pair #4 + { 0x18, 0x0B }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetPlayRegion+0x46 : mov esi, 0x88780032 + { 0x46, 0xBE }, // (Offset,Value)-Pair #6 + { 0x47, 0x32 }, // (Offset,Value)-Pair #7 + { 0x48, 0x00 }, // (Offset,Value)-Pair #8 + { 0x49, 0x78 }, // (Offset,Value)-Pair #9 + { 0x4A, 0x88 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetLoopRegion +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer8_SetLoopRegion_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + // NOTE: This is actually intercepting CDirectSoundBuffer::SetLoopRegion(ULONG, ULONG) + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSoundBuffer8_SetLoopRegion+0x24 : mov eax, 0x80004005 + { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x25, 0x05 }, // (Offset,Value)-Pair #2 + { 0x26, 0x40 }, // (Offset,Value)-Pair #3 + { 0x27, 0x00 }, // (Offset,Value)-Pair #4 + { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetLoopRegion+0x29 : jmp +0x55 + { 0x29, 0xEB }, // (Offset,Value)-Pair #6 + { 0x2A, 0x55 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_SetLoopRegion+0x56 : sub ecx, esi + { 0x56, 0x2B }, // (Offset,Value)-Pair #8 + { 0x57, 0xCE }, // (Offset,Value)-Pair #9 + + // IDirectSoundBuffer8_SetLoopRegion+0x82 : retn 0x0C + { 0x82, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x83, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetVolume +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer8_SetVolume_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + // NOTE: This is actually intercepting CDirectSoundBuffer::SetVolume(ULONG) + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSoundBuffer8_SetVolume+0x0D : movzx esi, al + { 0x0D, 0x0F }, // (Offset,Value)-Pair #1 + { 0x0E, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xF0 }, // (Offset,Value)-Pair #3 + + // IDirectSoundBuffer8_SetVolume+0x26 : jmp +0x22 + { 0x26, 0xEB }, // (Offset,Value)-Pair #4 + { 0x27, 0x22 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetVolume+0x2D : push [esp+0x10] + { 0x2D, 0xFF }, // (Offset,Value)-Pair #6 + { 0x2E, 0x74 }, // (Offset,Value)-Pair #7 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #8 + { 0x30, 0x10 }, // (Offset,Value)-Pair #9 + + // IDirectSoundBuffer8_SetVolume+0x4B : retn 0x08 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4C, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_SetBufferData +// ****************************************************************** +SOOVPA<9> CMcpxBuffer_SetBufferData_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSETBUFFERDATA, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx + { 0x1E, 0x3B }, // (Offset,Value)-Pair #1 + { 0x1F, 0xC3 }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_SetBufferData+0x20 : jz +0x0C + { 0x20, 0x74 }, // (Offset,Value)-Pair #3 + { 0x21, 0x0C }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xB8], ecx + { 0x45, 0x89 }, // (Offset,Value)-Pair #5 + { 0x46, 0x8E }, // (Offset,Value)-Pair #6 + { 0x47, 0xB8 }, // (Offset,Value)-Pair #7 + + // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 + { 0x89, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x8A, 0x08 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_SetBufferData +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_SetBufferData_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETBUFFERDATA2, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetBufferData+0x7A : call [CMcpxBuffer::SetBufferData] + { 0x7A, XREF_DSSETBUFFERDATA }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_SetBufferData+0x40 : mov eax, 0x80004005 + { 0x40, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x41, 0x05 }, // (Offset,Value)-Pair #3 + { 0x42, 0x40 }, // (Offset,Value)-Pair #4 + { 0x43, 0x00 }, // (Offset,Value)-Pair #5 + { 0x44, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_SetBufferData+0x5F : jz +0x33 + { 0x5F, 0x74 }, // (Offset,Value)-Pair #7 + { 0x60, 0x33 }, // (Offset,Value)-Pair #8 + + // CDirectSoundBuffer_SetBufferData+0xAB : retn 0x0C + { 0xAB, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xAC, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetBufferData +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetBufferData_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetBufferData+0x19 : call [CDirectSoundBuffer::SetBufferData] + { 0x19, XREF_DSSETBUFFERDATA2 }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetBufferData+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x10, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetBufferData+0x13 : sbb ecx, ecx + { 0x13, 0x1B }, // (Offset,Value)-Pair #5 + { 0x14, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_SetBufferData+0x15 : and ecx, eax + { 0x15, 0x23 }, // (Offset,Value)-Pair #7 + { 0x16, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_SetCurrentPosition +// ****************************************************************** +SOOVPA<9> CMcpxBuffer_SetCurrentPosition_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_SETCURRENTPOSITION, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_SetCurrentPosition+0x11 : mov al, [esi+12] + { 0x11, 0x8A }, // (Offset,Value)-Pair #1 + { 0x12, 0x46 }, // (Offset,Value)-Pair #2 + { 0x13, 0x12 }, // (Offset,Value)-Pair #3 + + // CMcpxBuffer_SetCurrentPosition+0x5F : jb +0x10 + { 0x5F, 0x72 }, // (Offset,Value)-Pair #4 + { 0x60, 0x10 }, // (Offset,Value)-Pair #5 + + // CMcpxBuffer_SetCurrentPosition+0x86 : movzx eax, byte ptr [esi+0x64] + { 0x86, 0x0F }, // (Offset,Value)-Pair #6 + { 0x87, 0xB6 }, // (Offset,Value)-Pair #7 + { 0x88, 0x46 }, // (Offset,Value)-Pair #8 + { 0x89, 0x64 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_SetCurrentPosition +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_SetCurrentPosition_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_SETCURRENTPOSITION2, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetCurrentPosition+0x35 : call [CMcpxBuffer::SetCurrentPosition] + { 0x35, XREF_SETCURRENTPOSITION }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_SetCurrentPosition+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_SetCurrentPosition+0x3D : jz +0x0B + { 0x3D, 0x74 }, // (Offset,Value)-Pair #7 + { 0x3E, 0x0B }, // (Offset,Value)-Pair #8 + + // CDirectSoundBuffer_SetCurrentPosition+0x3D : retn 0x08 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x4F, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetCurrentPosition +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetCurrentPosition+0x15 : call [CDirectSoundBuffer::SetCurrentPosition] + { 0x15, XREF_SETCURRENTPOSITION2 }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetCurrentPosition+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_SetCurrentPosition+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_SetCurrentPosition+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #7 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_GetCurrentPosition +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_GetCurrentPosition_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_GETCURRENTPOSITION, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetCurrentPosition+0x0E : lea ecx, [ebp-0x08] + { 0x0E, 0x8D }, // (Offset,Value)-Pair #1 + { 0x0F, 0x4D }, // (Offset,Value)-Pair #2 + { 0x10, 0xF8 }, // (Offset,Value)-Pair #3 + + // CMcpxBuffer_GetCurrentPosition+0x31 : jz +0x02 + { 0x31, 0x74 }, // (Offset,Value)-Pair #4 + { 0x32, 0x02 }, // (Offset,Value)-Pair #5 + + // CMcpxBuffer_GetCurrentPosition+0xA0 : div dword ptr [ecx+0xBC] + { 0xA0, 0xF7 }, // (Offset,Value)-Pair #6 + { 0xA1, 0xB1 }, // (Offset,Value)-Pair #7 + { 0xA2, 0xBC }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_GetCurrentPosition+0xD6 : retn 0x08 + { 0xD6, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xD7, 0x08 }, // (Offset,Value)-Pair #10 + { 0xD8, 0x00 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_GetCurrentPosition +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_GetCurrentPosition_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_GETCURRENTPOSITION2, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_GetCurrentPosition+0x39 : call [CMcpxBuffer::GetCurrentPosition] + { 0x39, XREF_GETCURRENTPOSITION }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_GetCurrentPosition+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_GetCurrentPosition+0x41 : jz +0x0B + { 0x41, 0x74 }, // (Offset,Value)-Pair #7 + { 0x42, 0x0B }, // (Offset,Value)-Pair #8 + + // CDirectSoundBuffer_GetCurrentPosition+0x3D : retn 0x08 + { 0x52, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x53, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_Play +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_Play_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSOUNDPLAY, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_Play+0x0E : cmp ebx, edi + { 0x0E, 0x3B }, // (Offset,Value)-Pair #1 + { 0x0F, 0xDF }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_Play+0x1C : jz +0x09 + { 0x1C, 0x74 }, // (Offset,Value)-Pair #3 + { 0x1D, 0x09 }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_Play+0x30 : test byte ptr [esi+0x12], 2 + { 0x30, 0xF6 }, // (Offset,Value)-Pair #5 + { 0x31, 0x46 }, // (Offset,Value)-Pair #6 + { 0x32, 0x12 }, // (Offset,Value)-Pair #7 + { 0x33, 0x02 }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_Play+0x71 : call dword ptr [eax+0x18] + { 0x71, 0xFF }, // (Offset,Value)-Pair #9 + { 0x72, 0x50 }, // (Offset,Value)-Pair #10 + { 0x73, 0x18 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_Play +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_Play_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSOUNDPLAY2, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play] + { 0x35, XREF_DSOUNDPLAY }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_Play+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_Play+0x3D : jz +0x0B + { 0x3D, 0x74 }, // (Offset,Value)-Pair #7 + { 0x3E, 0x0B }, // (Offset,Value)-Pair #8 + + // CDirectSoundBuffer_Play+0x4E : retn 0x10 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x4F, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_Play +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_Play_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_Play+0x1D : call [CDirectSoundBuffer::Play] + { 0x1D, XREF_DSOUNDPLAY2 }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_Play+0x0E : push [esp+0x10] + { 0x0E, 0xFF }, // (Offset,Value)-Pair #2 + { 0x0F, 0x74 }, // (Offset,Value)-Pair #3 + { 0x10, 0x24 }, // (Offset,Value)-Pair #4 + { 0x11, 0x10 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_Play+0x17 : sbb ecx, ecx + { 0x17, 0x1B }, // (Offset,Value)-Pair #6 + { 0x18, 0xC9 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_Play+0x19 : and ecx, eax + { 0x19, 0x23 }, // (Offset,Value)-Pair #8 + { 0x1A, 0xC8 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_Stop +// ****************************************************************** +SOOVPA<9> CMcpxBuffer_Stop_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSOUNDSTOP, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_Stop+0x0E : cmp al, 3 + { 0x0E, 0x3C }, // (Offset,Value)-Pair #1 + { 0x0F, 0x03 }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_Stop+0x1C : cmp ax, 0x0203 + { 0x28, 0x66 }, // (Offset,Value)-Pair #3 + { 0x29, 0x3D }, // (Offset,Value)-Pair #4 + { 0x2A, 0x03 }, // (Offset,Value)-Pair #5 + { 0x2B, 0x02 }, // (Offset,Value)-Pair #6 + + // CMcpxBuffer_Stop+0x70 : mov eax, [esi+0x90] + { 0x70, 0x8B }, // (Offset,Value)-Pair #7 + { 0x71, 0x86 }, // (Offset,Value)-Pair #8 + { 0x72, 0x90 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_Stop +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_Stop_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSOUNDSTOP2, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] + { 0x33, XREF_DSOUNDSTOP }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_Stop+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_Stop+0x3B : jz +0x0B + { 0x3B, 0x74 }, // (Offset,Value)-Pair #7 + { 0x3C, 0x0B }, // (Offset,Value)-Pair #8 + + // CDirectSoundBuffer_Stop+0x4C : retn 0x04 + { 0x4C, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x4D, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_Stop +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_Stop+0x11 : call [CDirectSoundBuffer::Stop] + { 0x11, XREF_DSOUNDSTOP2 }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_Stop+0x06 : and eax, 0xFFFFFFE4 + { 0x06, 0x83 }, // (Offset,Value)-Pair #2 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x08, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_Stop+0x0B : sbb ecx, ecx + { 0x0B, 0x1B }, // (Offset,Value)-Pair #5 + { 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSoundBuffer8_Stop+0x0D : and ecx, eax + { 0x0D, 0x23 }, // (Offset,Value)-Pair #7 + { 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoiceSettings::SetMixBinVolumes +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETMIXBINVOLUMESC, // Xref Is Saved + XRefNotUsed, + + { + { 0x03, 0x24 }, + { 0x08, 0x16 }, + { 0x0D, 0x46 }, + { 0x12, 0x8B }, + { 0x17, 0x42 }, + { 0x1C, 0x3B }, + { 0x21, 0x5E }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMixBinVolumes +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBinVolumes_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINVOLUMESB, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x0D, XREF_DSSETMIXBINVOLUMESC }, + + { 0x02, 0x74 }, + { 0x06, 0x74 }, + { 0x0A, 0x4E }, + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x19, 0x5E }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetMixBinVolumes +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBinVolumes_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINVOLUMESA, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DSSETMIXBINVOLUMESB }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::PlayEx +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_PlayEx, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3D, XREF_DSOUNDPLAY }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x20 }, + { 0x3A, 0x24 }, + { 0x46, 0x0B }, + { 0x52, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_PlayEx +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DirectSound_CDirectSoundBuffer_PlayEx }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CMcpxBuffer::Stop2 +// ****************************************************************** +SOOVPA<10> CMcpxBuffer_Stop2_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_CMcpxBuffer_Stop2, // XRef Is Saved + XRefNotUsed, + + { + // CMcpxBuffer_Stop2+0x03 : mov eax, [ebp+arg_0] + { 0x03, 0x8B }, + { 0x04, 0x45 }, + { 0x05, 0x08 }, + // CMcpxBuffer_Stop2+0x14 : mov eax, [esi] + { 0x14, 0x8B }, + { 0x15, 0x06 }, + // CMcpxBuffer_Stop2+0x25 : push [ebp+arg_8] + { 0x25, 0xFF }, + { 0x26, 0x75 }, + { 0x27, 0x10 }, + // CMcpxBuffer_Stop2+0x36 : retn 0xC + { 0x36, 0xC2 }, + { 0x37, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::StopEx +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_StopEx_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_StopEx, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3D, XREF_CMcpxBuffer_Stop2 }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x20 }, + { 0x3A, 0x24 }, + { 0x46, 0x0B }, + { 0x52, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_StopEx +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DirectSound_CDirectSoundBuffer_StopEx }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSoundCreate_1_0_4361 +// ****************************************************************** +OOVPATable DSound_1_0_4361[] = +{ + // DirectSoundCreate + { + (OOVPA*)&DirectSoundCreate_1_0_4361, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // CDirectSound_CreateSoundStream + { + (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // IDirectSound8_CreateStream + { + (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, + + XTL::EmuIDirectSound8_CreateStream, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateStream" + #endif + }, + // DirectSoundCreateStream + { + (OOVPA*)&DirectSoundCreateStream_1_0_4361, + + XTL::EmuDirectSoundCreateStream, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateStream" + #endif + }, + // CMcpxStream::Pause + { + (OOVPA*)&CMcpxStream_Pause_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxStream_Pause (XREF)" + #endif + }, + // CDirectSoundStream::Pause + { + (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_Pause" + #endif + }, + // IDirectSound8::AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_AddRef_1_0_3936, + + XTL::EmuIDirectSound8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_AddRef" + #endif + }, + // IDirectSound8::CreateSoundBuffer + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4361, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // IDirectSoundBuffer8::SetPlayRegion + { + (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetPlayRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPlayRegion" + #endif + }, + // IDirectSoundBuffer8::SetLoopRegion + { + (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetLoopRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetLoopRegion" + #endif + }, + // IDirectSoundBuffer8::SetVolume + { + (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetVolume" + #endif + }, + // CMcpxBuffer::SetBufferData + { + (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetBufferData (XREF)" + #endif + }, + // CDirectSoundBuffer::SetBufferData + { + (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferData" + #endif + }, + // CMcpxBuffer::SetCurrentPosition + { + (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::SetCurrentPosition + { + (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPosition + { + (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetCurrentPosition" + #endif + }, + // CMcpxBuffer::GetCurrentPosition + { + (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::GetCurrentPosition + { + (OOVPA*)&CDirectSoundBuffer_GetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetCurrentPosition (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_GetCurrentPosition" + #endif + }, + // CMcpxBuffer::Play + { + (OOVPA*)&CMcpxBuffer_Play_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play (XREF)" + #endif + }, + // CDirectSoundBuffer::Play + { + (OOVPA*)&CDirectSoundBuffer_Play_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_Play (XREF)" + #endif + }, + // IDirectSoundBuffer8::Play + { + (OOVPA*)&IDirectSoundBuffer8_Play_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_Play, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Play" + #endif + }, + // CMcpxBuffer::Stop + { + (OOVPA*)&CMcpxBuffer_Stop_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Stop (XREF)" + #endif + }, + // CMcpxBuffer_Stop2 + { + (OOVPA*)&CMcpxBuffer_Stop2_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Stop2 (XREF)" + #endif + }, + // CDirectSoundBuffer::Stop + { + (OOVPA*)&CDirectSoundBuffer_Stop_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_Stop (XREF)" + #endif + }, + // IDirectSoundBuffer8::Stop + { + (OOVPA*)&IDirectSoundBuffer8_Stop_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_Stop, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Stop" + #endif + }, + // CDirectSoundVoiceSettings_SetMixBinVolumes + { + (OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundVoice_SetMixBinVolumes + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetMixBinVolumes_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundBuffer_SetMixBinVolumes + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMixBinVolumes_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBinVolumes (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::PlayEx (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" + #endif + }, + // IDirectSoundBuffer_PlayEx + { + (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_4361, + XTL::EmuIDirectSoundBuffer8_PlayEx, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer_PlayEx" + #endif + }, + // DirectSound::CDirectSoundBuffer::StopEx (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_4361, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::StopEx (XREF)" + #endif + }, + // IDirectSoundBuffer_StopEx + { + (OOVPA*)&IDirectSoundBuffer_StopEx_1_0_4361, + XTL::EmuIDirectSoundBuffer8_StopEx, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer_StopEx" + #endif + }, + // IDirectSoundBuffer_AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_AddRef, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_AddRef" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, +}; + +// ****************************************************************** +// * DSound_1_0_4361_SIZE +// ****************************************************************** +uint32 DSound_1_0_4361_SIZE = sizeof(DSound_1_0_4361); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.h new file mode 100644 index 000000000..6a2b0b645 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4432.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_4432_H +#define DSOUND_1_0_4432_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_4432[]; +extern uint32 DSOUND_1_0_4432_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.inl new file mode 100644 index 000000000..fe27e9dfc --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4432.inl @@ -0,0 +1,1015 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4432.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * IDirectSound8_Release +// ****************************************************************** +SOOVPA<12> IDirectSound8_Release_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSound8_Release+0x04 : lea ecx, [eax-8] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x48 }, // (Offset,Value)-Pair #2 + { 0x06, 0xF8 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_Release+0x07 : neg eax + { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 + { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + + // IDirectSound8_Release+0x09 : sbb eax, eax + { 0x09, 0x1B }, // (Offset,Value)-Pair #6 + { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + + // IDirectSound8_Release+0x0D : mov ecx, [eax] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #8 + { 0x0E, 0x08 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_Release+0x10 : call dword ptr [ecx+8] + { 0x10, 0xFF }, // (Offset,Value)-Pair #10 + { 0x11, 0x51 }, // (Offset,Value)-Pair #11 + { 0x12, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMaxDistance +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetMaxDistance_1_0_4432 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSVOICESETMAXDISTANCE, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetMaxDistance+0x11 : mov [eax+38h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x38 }, + + // CDirectSoundVoice_SetMaxDistance+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMaxDistance +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_SetMaxDistance_1_0_4432 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERSETMAXDISTANCE, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] + { 0x3A, XREF_DSVOICESETMAXDISTANCE }, + + // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetMaxDistance+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetMaxDistance+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMaxDistance +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer_SetMaxDistance_1_0_4432 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] + { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, + + // IDirectSoundBuffer_SetMaxDistance+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMaxDistance+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetMaxDistance+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMinDistance +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetMinDistance_1_0_4432 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSVOICESETMINDISTANCE, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetMinDistance+0x11 : mov [eax+34h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x34 }, + + // CDirectSoundVoice_SetMinDistance+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMinDistance +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_SetMinDistance_1_0_4432 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERSETMINDISTANCE, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] + { 0x3A, XREF_DSVOICESETMINDISTANCE }, + + // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetMinDistance+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetMinDistance+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMinDistance +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer_SetMinDistance_1_0_4432 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] + { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, + + // IDirectSoundBuffer_SetMinDistance+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMinDistance+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetMinDistance+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSound::SetI3DL2Listener +// ****************************************************************** +SOOVPA<11> CDirectSound_SetI3DL2Listener_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 12 + + XREF_DSSETI3DL2LISTENER, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetI3DL2Listener+0x3A : mov edi, 0x88780032 + { 0x3A, 0xBF }, // (Offset,Value)-Pair #1 + { 0x3B, 0x32 }, // (Offset,Value)-Pair #2 + { 0x3C, 0x00 }, // (Offset,Value)-Pair #3 + { 0x3D, 0x78 }, // (Offset,Value)-Pair #4 + { 0x3E, 0x88 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetI3DL2Listener+0xA2 : fstp dword ptr[edx+0x94] + { 0xA2, 0xD9 }, // (Offset,Value)-Pair #6 + { 0xA3, 0x9A }, // (Offset,Value)-Pair #7 + { 0xA4, 0x94 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetI3DL2Listener+0xA8 : fld dword ptr[ecx+0x24] + { 0xA8, 0xD9 }, // (Offset,Value)-Pair #9 + { 0xA9, 0x41 }, // (Offset,Value)-Pair #10 + { 0xAA, 0x24 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetI3DL2Listener +// ****************************************************************** +SOOVPA<12> IDirectSound8_SetI3DL2Listener_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetI3DL2Listener+0x19 : call [CDirectSound::SetI3DL2Listener] + { 0x19, XREF_DSSETI3DL2LISTENER }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetI3DL2Listener+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetI3DL2Listener+0x0E : add eax, 0xFFFFFFF8 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x10, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirectSound8_SetI3DL2Listener+0x13 : sbb ecx, ecx + { 0x13, 0x1B }, // (Offset,Value)-Pair #9 + { 0x14, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSound8_SetI3DL2Listener+0x15 : and ecx, eax + { 0x15, 0x23 }, // (Offset,Value)-Pair #11 + { 0x16, 0xC8 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundVoiceSettings::SetMixBins +// ****************************************************************** +SOOVPA<10> CDirectSoundVoiceSettings_SetMixBins_1_0_4432 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETMIXBINSC, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A + { 0x06, 0x75 }, // (Offset,Value)-Pair #1 + { 0x07, 0x1A }, // (Offset,Value)-Pair #2 + + // CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10 + { 0x08, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x09, 0x41 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x08 }, // (Offset,Value)-Pair #5 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #6 + + // CDirectSoundVoiceSettings_SetMixBins+0x2B : jbe +0x2B + { 0x2B, 0x76 }, // (Offset,Value)-Pair #7 + { 0x2C, 0x2B }, // (Offset,Value)-Pair #8 + + // CDirectSoundVoiceSettings_SetMixBins+0xB2 : retn 0x04 + { 0xB2, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xB3, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBins +// ****************************************************************** +SOOVPA<17> CDirectSoundVoice_SetMixBins_1_0_4432 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XREF_DSSETMIXBINSB, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins] + { 0x0D, XREF_DSSETMIXBINSC }, // (Offset,Value)-Pair #1 + + // CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8] + { 0x01, 0x8B }, // (Offset,Value)-Pair #2 + { 0x02, 0x74 }, // (Offset,Value)-Pair #3 + { 0x03, 0x24 }, // (Offset,Value)-Pair #4 + { 0x04, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundVoice_SetMixBins+0x05 : push [esp+0x0C] + { 0x05, 0xFF }, // (Offset,Value)-Pair #6 + { 0x06, 0x74 }, // (Offset,Value)-Pair #7 + { 0x07, 0x24 }, // (Offset,Value)-Pair #8 + { 0x08, 0x0C }, // (Offset,Value)-Pair #9 + + // CDirectSoundVoice_SetMixBins+0x09 : mov ecx, [esi+0x10] + { 0x09, 0x8B }, // (Offset,Value)-Pair #10 + { 0x0A, 0x4E }, // (Offset,Value)-Pair #11 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #12 + + // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x0C] + { 0x11, 0x8B }, // (Offset,Value)-Pair #13 + { 0x12, 0x4E }, // (Offset,Value)-Pair #14 + { 0x13, 0x0C }, // (Offset,Value)-Pair #15 + + // CDirectSoundVoice_SetMixBins+0x1A : retn 0x08 + { 0x1A, 0xC2 }, // (Offset,Value)-Pair #16 + { 0x1B, 0x08 }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMixBins +// ****************************************************************** +SOOVPA<17> CDirectSoundBuffer_SetMixBins_1_0_4432 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XREF_DSSETMIXBINSA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins] + { 0x32, XREF_DSSETMIXBINSB }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_SetMixBins+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_SetMixBins+0x29 : push [esp+0x10]; push [esp+0x10] + { 0x29, 0xFF }, // (Offset,Value)-Pair #7 + { 0x2A, 0x74 }, // (Offset,Value)-Pair #8 + { 0x2B, 0x24 }, // (Offset,Value)-Pair #9 + { 0x2C, 0x10 }, // (Offset,Value)-Pair #10 + { 0x2D, 0xFF }, // (Offset,Value)-Pair #11 + { 0x2E, 0x74 }, // (Offset,Value)-Pair #12 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #13 + { 0x30, 0x10 }, // (Offset,Value)-Pair #14 + + // CDirectSoundBuffer_SetMixBins+0x49 : pop edi + { 0x49, 0x5F }, // (Offset,Value)-Pair #15 + + // CDirectSoundBuffer_SetMixBins+0x4B : retn 0x08 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 + { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetMixBins +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetMixBins_1_0_4432 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetMixBins+0x15 : call [CDirectSoundBuffer::SetMixBins] + { 0x15, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetMixBins+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetMixBins+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetMixBins+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer8_SetMixBins+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #11 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSound::CommitDeferredSettings +// ****************************************************************** +SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al + { 0x10, 0x0F }, // (Offset,Value)-Pair #1 + { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x12, 0xC0 }, // (Offset,Value)-Pair #3 + + // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 + { 0x27, 0xB8 }, // (Offset,Value)-Pair #4 + { 0x28, 0x05 }, // (Offset,Value)-Pair #5 + { 0x29, 0x40 }, // (Offset,Value)-Pair #6 + { 0x2B, 0x80 }, // (Offset,Value)-Pair #7 + + // CDirectSound_CommitDeferredSettings+0x5C : and [eax+0xA4], esi + { 0x5C, 0x21 }, // (Offset,Value)-Pair #8 + { 0x5D, 0xB0 }, // (Offset,Value)-Pair #9 + { 0x5E, 0xA4 }, // (Offset,Value)-Pair #10 + + // CDirectSound_CommitDeferredSettings+0x78 : leave + { 0x78, 0xC9 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDistanceFactorA +// ****************************************************************** +SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_SETDISTANCEFACTORA,// XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetDistanceFactorA+0x39 : or dword ptr[eax+0xA4], 0x60 + { 0x39, 0x83 }, // (Offset,Value)-Pair #6 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #7 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 + { 0x3F, 0x60 }, // (Offset,Value)-Pair #9 + + // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 + { 0x50, 0x0B }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetDistanceFactor +// ****************************************************************** +SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactor] + { 0x1D, XREF_SETDISTANCEFACTORA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetDistanceFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetDistanceFactor+0x0C : push ecx + { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_SetDistanceFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #7 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetDistanceFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetPositionA +// ****************************************************************** +SOOVPA<11> CDirectSound_SetPositionA_1_0_4432 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSETPOSITIONA, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] + { 0x2B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x2C, 0x4D }, // (Offset,Value)-Pair #2 + { 0x2D, 0x08 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetPositionA+0x3F : mov [edx+0x3C], edi + { 0x3F, 0x89 }, // (Offset,Value)-Pair #4 + { 0x40, 0x7A }, // (Offset,Value)-Pair #5 + { 0x41, 0x3C }, // (Offset,Value)-Pair #6 + + // CDirectSound_SetPositionA+0x4C : or word ptr [eax+0xA4], 0x01FF + { 0x4C, 0x80 }, // (Offset,Value)-Pair #7 + { 0x4D, 0x88 }, // (Offset,Value)-Pair #8 + { 0x4E, 0xA4 }, // (Offset,Value)-Pair #9 + { 0x4F, 0x00 }, // (Offset,Value)-Pair #10 + { 0x52, 0xFF }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetVelocity +// ****************************************************************** +SOOVPA<15> CDirectSound_SetVelocity_1_0_4432 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XREF_DSSETVELOCITYA, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 + { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x25, 0x05 }, // (Offset,Value)-Pair #2 + { 0x26, 0x40 }, // (Offset,Value)-Pair #3 + { 0x27, 0x00 }, // (Offset,Value)-Pair #4 + { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetVelocity+0x37 : mov [edx+0x44], edi + { 0x37, 0x89 }, // (Offset,Value)-Pair #6 + { 0x38, 0x7A }, // (Offset,Value)-Pair #7 + { 0x39, 0x44 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetVelocity+0x4C : or dword ptr [eax+0x0A4], 0x40 + { 0x4C, 0x83 }, // (Offset,Value)-Pair #9 + { 0x4D, 0x88 }, // (Offset,Value)-Pair #10 + { 0x4E, 0xA4 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x00 }, // (Offset,Value)-Pair #12 + { 0x52, 0x40 }, // (Offset,Value)-Pair #13 + + // CDirectSound_SetVelocity+0x73 : retn 0x14 + { 0x73, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x74, 0x14 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetPosition +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetPosition_1_0_4432 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSVOICESETPOSITION, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] + { 0x0F, 0x8B }, + { 0x10, 0x55 }, + { 0x11, 0x0C }, + + // CDirectSoundVoice_SetPosition+0x12 : mov [ecx+04h], edx + { 0x12, 0x89 }, + { 0x13, 0x51 }, + { 0x14, 0x04 }, + + // CDirectSoundVoice_SetPosition+0x4F : retn 14h + { 0x4F, 0xC2 }, + { 0x50, 0x14 } + } +}; + +// ****************************************************************** +// * DirectSoundCreate_1_0_4432 +// ****************************************************************** +OOVPATable DSound_1_0_4432[] = +{ + // DirectSoundCreate (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreate_1_0_4361, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // IDirectSound8_CreateStream + { + (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, + + XTL::EmuIDirectSound8_CreateStream, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateStream" + #endif + }, + // CDirectSound_CreateSoundStream (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // DirectSoundCreateStream (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreateStream_1_0_4361, + + XTL::EmuDirectSoundCreateStream, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateStream" + #endif + }, + // CMcpxStream::Pause (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxStream_Pause_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxStream_Pause (XREF)" + #endif + }, + // CDirectSoundStream::Pause (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_Pause" + #endif + }, + // IDirectSound8::AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_AddRef_1_0_3936, + + XTL::EmuIDirectSound8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_AddRef" + #endif + }, + // IDirectSound8::Release + { + (OOVPA*)&IDirectSound8_Release_1_0_4432, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // IDirectSound8::CreateSoundBuffer (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4361, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Release" + #endif + }, + // IDirectSoundBuffer8::SetLoopRegion (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetLoopRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetLoopRegion" + #endif + }, + // CMcpxBuffer::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetBufferData (XREF)" + #endif + }, + // CDirectSoundBuffer::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferData" + #endif + }, + // CMcpxBuffer::SetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::SetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetCurrentPosition" + #endif + }, + // CMcpxBuffer::Stop (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_Stop_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Stop (XREF)" + #endif + }, + // CDirectSoundBuffer::Stop (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_Stop_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_Stop (XREF)" + #endif + }, + // IDirectSoundBuffer8::Stop (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_Stop_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_Stop, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Stop" + #endif + }, + // CDirectSoundVoice::SetMaxDistance (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMaxDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMaxDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMaxDistance (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMaxDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_4432, + XTL::EmuIDirectSoundBuffer8_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMaxDistance" + #endif + }, + // CDirectSoundVoice::SetMinDistance (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMinDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMinDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMinDistance (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMinDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_4432, + XTL::EmuIDirectSoundBuffer8_SetMinDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMinDistance" + #endif + }, + // CDirectSound_SetI3DL2Listener + { + (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_4432, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // CDirectSoundVoiceSettings_SetMixBins + { + (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBins (XREF)" + #endif + }, + // CDirectSoundVoice_SetMixBins + { + (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBins (XREF)" + #endif + }, + // CDirectSoundBuffer_SetMixBins + { + (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBins (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetMixBins + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432, + + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBins" + #endif + }, + // CDirectSound::CommitDeferredSettings + { + (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432, + + XTL::EmuCDirectSound_CommitDeferredSettings, + + #ifdef _DEBUG_TRACE + "EmuCDirectSound_CommitDeferredSettings" + #endif + }, + // CDirectSound::SetDistanceFactorA (XREF) + { + (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDistanceFactorA (XRef)" + #endif + }, + // IDirectSound8::SetDistanceFactor + { + (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, + + XTL::EmuIDirectSound8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDistanceFactor" + #endif + }, + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // IDirectSoundBuffer_AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_AddRef, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_AddRef" + #endif + }, +}; + +// ****************************************************************** +// * DSound_1_0_4432_SIZE +// ****************************************************************** +uint32 DSound_1_0_4432_SIZE = sizeof(DSound_1_0_4432); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.h new file mode 100644 index 000000000..2fac5147b --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4627.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_4627_H +#define DSOUND_1_0_4627_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_4627[]; +extern uint32 DSOUND_1_0_4627_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.inl new file mode 100644 index 000000000..d4f8362b0 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.4627.inl @@ -0,0 +1,5015 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4627.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * DirectSoundDoWork +// ****************************************************************** +SOOVPA<7> DirectSoundDoWork_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x0F }, + { 0x0E, 0x85 }, + { 0x10, 0x74 }, + { 0x18, 0x85 }, + { 0x1C, 0x0B }, + { 0x22, 0xFF }, + { 0x28, 0xC3 }, + } +}; + +// ****************************************************************** +// * CDirectSound::CreateSoundBuffer +// ****************************************************************** +SOOVPA<14> CDirectSound_CreateSoundBuffer_1_0_4627 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_DSCREATESOUNDBUFFER, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_CreateSoundBuffer+0x23 : mov eax, 0x80004005 + { 0x23, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x24, 0x05 }, // (Offset,Value)-Pair #2 + { 0x25, 0x40 }, // (Offset,Value)-Pair #3 + { 0x27, 0x80 }, // (Offset,Value)-Pair #4 + + // CDirectSound_CreateSoundBuffer+0x2A : push 0x24 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #5 + { 0x2B, 0x24 }, // (Offset,Value)-Pair #6 + + // CDirectSound_CreateSoundBuffer+0x4A : add esi, 0x7FF8FFF2 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #7 + { 0x4B, 0xE6 }, // (Offset,Value)-Pair #8 + { 0x4C, 0xF2 }, // (Offset,Value)-Pair #9 + { 0x4D, 0xFF }, // (Offset,Value)-Pair #10 + { 0x4E, 0xF8 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x7F }, // (Offset,Value)-Pair #12 + + // CDirectSound_CreateSoundBuffer+0x99 : retn 0x10 + { 0x99, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x9A, 0x10 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * CDirectSound::SetMixBinHeadroom +// ****************************************************************** +SOOVPA<15> CDirectSound_SetMixBinHeadroom_1_0_4627 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XREF_DSSETMIXBINHEADROOMA, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetMixBinHeadroom+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetMixBinHeadroom+0x34 : mov bl, [esp+0x14] + { 0x34, 0x8A }, // (Offset,Value)-Pair #6 + { 0x35, 0x5C }, // (Offset,Value)-Pair #7 + { 0x36, 0x24 }, // (Offset,Value)-Pair #8 + { 0x37, 0x14 }, // (Offset,Value)-Pair #9 + + // CDirectSound_SetMixBinHeadroom+0x39 : mov [edx+ecx+0x14], bl + { 0x39, 0x88 }, // (Offset,Value)-Pair #10 + { 0x3A, 0x5C }, // (Offset,Value)-Pair #11 + { 0x3B, 0x0A }, // (Offset,Value)-Pair #12 + { 0x3C, 0x14 }, // (Offset,Value)-Pair #13 + + // CDirectSound_SetMixBinHeadroom+0x5C : retn 0x0C + { 0x5C, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x5D, 0x0C }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetMixBinHeadroom +// ****************************************************************** +SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroom] + { 0x19, XREF_DSSETMIXBINHEADROOMA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetMixBinHeadroom+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetMixBinHeadroom+0x0E : add eax, 0xFFFFFFF8 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x10, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirectSound8_SetMixBinHeadroom+0x13 : sbb ecx, ecx + { 0x13, 0x1B }, // (Offset,Value)-Pair #9 + { 0x14, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSound8_SetMixBinHeadroom+0x15 : and ecx, eax + { 0x15, 0x23 }, // (Offset,Value)-Pair #11 + { 0x16, 0xC8 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetHeadroomA +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetHeadroomA_1_0_4928 = +{ + 0,// Large == 0 + 7,// Count == 7 + + XREF_DSBUFFERSETHEADROOMA,// XRef Is Saved + 0, // XRef Not Used + + { + { 0x03, 0x04 }, + { 0x08, 0x48 }, + { 0x0D, 0x24 }, + { 0x12, 0x48 }, + { 0x17, 0x8B }, + { 0x1F, 0x5E }, + { 0x21, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetHeadroom +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetHeadroom_1_0_4928 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetHeadroom+0x32 : call [IDirectSoundBuffer8_SetHeadroomA] + { 0x32, XREF_DSBUFFERSETHEADROOMA }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * CDirectSound::SetVelocity +// ****************************************************************** +SOOVPA<15> CDirectSound_SetVelocity_1_0_4627 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XREF_DSSETVELOCITYA, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 + { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x25, 0x05 }, // (Offset,Value)-Pair #2 + { 0x26, 0x40 }, // (Offset,Value)-Pair #3 + { 0x27, 0x00 }, // (Offset,Value)-Pair #4 + { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetVelocity+0x37 : mov [edx+0x44], edi + { 0x37, 0x89 }, // (Offset,Value)-Pair #6 + { 0x38, 0x7A }, // (Offset,Value)-Pair #7 + { 0x39, 0x44 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetVelocity+0x4C : or byte ptr [eax+0x0x00A4], 0x80 + { 0x4C, 0x80 }, // (Offset,Value)-Pair #9 + { 0x4D, 0x88 }, // (Offset,Value)-Pair #10 + { 0x4E, 0xA4 }, // (Offset,Value)-Pair #11 + { 0x4F, 0x00 }, // (Offset,Value)-Pair #12 + { 0x52, 0x80 }, // (Offset,Value)-Pair #13 + + // CDirectSound_SetVelocity+0x73 : retn 0x14 + { 0x73, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x74, 0x14 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * CDirectSound::SetAllParametersA +// ****************************************************************** +SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETALLPARAMETERSA, // XRef Is Saved + 0, // XRef Not Used + + { + { 0x16, 0x68 }, // (Offset,Value)-Pair #1 + { 0x17, 0xE8 }, // (Offset,Value)-Pair #2 + { 0x18, 0xF7 }, // (Offset,Value)-Pair #3 + { 0x19, 0x2D }, // (Offset,Value)-Pair #4 + + { 0x2F, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x30, 0x41 }, // (Offset,Value)-Pair #6 + { 0x31, 0x04 }, // (Offset,Value)-Pair #7 + + { 0x87, 0x8B }, // (Offset,Value)-Pair #8 + { 0x88, 0x50 }, // (Offset,Value)-Pair #9 + { 0x89, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSound::SetAllParametersA +// ****************************************************************** +SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4721 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETALLPARAMETERSA, // XRef Is Saved + 0, // XRef Not Used + + { + { 0x16, 0x68 }, // (Offset,Value)-Pair #1 + { 0x17, 0xD8 }, // (Offset,Value)-Pair #2 + { 0x18, 0x81 }, // (Offset,Value)-Pair #3 + { 0x19, 0x15 }, // (Offset,Value)-Pair #4 + + { 0x2F, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x30, 0x41 }, // (Offset,Value)-Pair #6 + { 0x31, 0x04 }, // (Offset,Value)-Pair #7 + + { 0x87, 0x8B }, // (Offset,Value)-Pair #8 + { 0x88, 0x50 }, // (Offset,Value)-Pair #9 + { 0x89, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetAllParameters +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSound_SetAllParameters_1_0_4928 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETALLPARAMETERSA, // Xref Is Saved + XRefNotUsed, + + { + { 0x1B, 0xFF }, + { 0x38, 0x08 }, + { 0x55, 0x5A }, + { 0x72, 0xD9 }, + { 0x8F, 0x2C }, + { 0xAC, 0x50 }, + { 0xC9, 0x10 }, + { 0xE6, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoiceSettings::SetMixBinVolumes +// ****************************************************************** +SOOVPA<10> CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETMIXBINVOLUMESC, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 + { 0x09, 0x76 }, // (Offset,Value)-Pair #1 + { 0x0A, 0x16 }, // (Offset,Value)-Pair #2 + + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x18 : mov [ecx+edi*4+0x30], eax + { 0x18, 0x89 }, // (Offset,Value)-Pair #3 + { 0x19, 0x44 }, // (Offset,Value)-Pair #4 + { 0x1A, 0xB9 }, // (Offset,Value)-Pair #5 + { 0x1B, 0x30 }, // (Offset,Value)-Pair #6 + + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x1E : jb +0xEC + { 0x1E, 0x72 }, // (Offset,Value)-Pair #7 + { 0x1F, 0xEC }, // (Offset,Value)-Pair #8 + + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x22 : retn 0x04 + { 0x22, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x23, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBinVolumes +// ****************************************************************** +SOOVPA<17> CDirectSoundVoice_SetMixBinVolumes_1_0_4627 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XREF_DSSETMIXBINVOLUMESB, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundVoice_SetMixBinVolumes+0x0D : call [CDirectSoundVoiceSettings::SetMixBinVolumes] + { 0x0D, XREF_DSSETMIXBINVOLUMESC }, // (Offset,Value)-Pair #1 + + // CDirectSoundVoice_SetMixBinVolumes+0x01 : mov esi, [esp+8] + { 0x01, 0x8B }, // (Offset,Value)-Pair #2 + { 0x02, 0x74 }, // (Offset,Value)-Pair #3 + { 0x03, 0x24 }, // (Offset,Value)-Pair #4 + { 0x04, 0x08 }, // (Offset,Value)-Pair #5 + + // CDirectSoundVoice_SetMixBinVolumes+0x05 : push [esp+0x0C] + { 0x05, 0xFF }, // (Offset,Value)-Pair #6 + { 0x06, 0x74 }, // (Offset,Value)-Pair #7 + { 0x07, 0x24 }, // (Offset,Value)-Pair #8 + { 0x08, 0x0C }, // (Offset,Value)-Pair #9 + + // CDirectSoundVoice_SetMixBinVolumes+0x09 : mov ecx, [esi+0x10] + { 0x09, 0x8B }, // (Offset,Value)-Pair #10 + { 0x0A, 0x4E }, // (Offset,Value)-Pair #11 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #12 + + // CDirectSoundVoice_SetMixBinVolumes+0x11 : mov ecx, [esi+0x0C] + { 0x11, 0x8B }, // (Offset,Value)-Pair #13 + { 0x12, 0x4E }, // (Offset,Value)-Pair #14 + { 0x13, 0x0C }, // (Offset,Value)-Pair #15 + + // CDirectSoundVoice_SetMixBinVolumes+0x1A : retn 0x08 + { 0x1A, 0xC2 }, // (Offset,Value)-Pair #16 + { 0x1B, 0x08 }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMixBinVolumes +// ****************************************************************** +SOOVPA<17> CDirectSoundBuffer_SetMixBinVolumes_1_0_4627 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XREF_DSSETMIXBINVOLUMESA, // XRef Is Saved + 1, // XRef Not Used + + { + // CDirectSoundBuffer_SetMixBinVolumes+0x32 : call [CDirectSoundVoice::SetMixBinVolumes] + { 0x32, XREF_DSSETMIXBINVOLUMESB }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_SetMixBinVolumes+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_SetMixBinVolumes+0x29 : push [esp+0x10]; push [esp+0x10] + { 0x29, 0xFF }, // (Offset,Value)-Pair #7 + { 0x2A, 0x74 }, // (Offset,Value)-Pair #8 + { 0x2B, 0x24 }, // (Offset,Value)-Pair #9 + { 0x2C, 0x10 }, // (Offset,Value)-Pair #10 + { 0x2D, 0xFF }, // (Offset,Value)-Pair #11 + { 0x2E, 0x74 }, // (Offset,Value)-Pair #12 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #13 + { 0x30, 0x10 }, // (Offset,Value)-Pair #14 + + // CDirectSoundBuffer_SetMixBinVolumes+0x49 : pop edi + { 0x49, 0x5F }, // (Offset,Value)-Pair #15 + + // CDirectSoundBuffer_SetMixBinVolumes+0x4B : retn 0x08 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 + { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetMixBinVolumes +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetMixBinVolumes+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] + { 0x15, XREF_DSSETMIXBINVOLUMESA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetMixBinVolumes+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetMixBinVolumes+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetMixBinVolumes+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer8_SetMixBinVolumes+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #11 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSound::SetPositionA +// ****************************************************************** +SOOVPA<11> CDirectSound_SetPositionA_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSETPOSITIONA, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] + { 0x2B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x2C, 0x4D }, // (Offset,Value)-Pair #2 + { 0x2D, 0x08 }, // (Offset,Value)-Pair #3 + + // CDirectSound_SetPositionA+0x3F : mov [edx+0x3C], edi + { 0x3F, 0x89 }, // (Offset,Value)-Pair #4 + { 0x40, 0x7A }, // (Offset,Value)-Pair #5 + { 0x41, 0x3C }, // (Offset,Value)-Pair #6 + + // CDirectSound_SetPositionA+0x4C : or word ptr [eax+0xA4], 0x01FF + { 0x4C, 0x66 }, // (Offset,Value)-Pair #7 + { 0x4D, 0x81 }, // (Offset,Value)-Pair #8 + { 0x4E, 0x88 }, // (Offset,Value)-Pair #9 + { 0x4F, 0xA4 }, // (Offset,Value)-Pair #10 + { 0x53, 0xFF }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * DirectSoundCreateBuffer +// ****************************************************************** +SOOVPA<12> DirectSoundCreateBuffer_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // DirectSoundCreateBuffer+0x2F : call [CDirectSound::CreateSoundBuffer] + { 0x2F, XREF_DSCREATESOUNDBUFFER }, // (Offset,Value)-Pair #1 + + // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 + { 0x04, 0x83 }, // (Offset,Value)-Pair #2 + { 0x05, 0x65 }, // (Offset,Value)-Pair #3 + { 0x06, 0xFC }, // (Offset,Value)-Pair #4 + + // DirectSoundCreateBuffer+0x08 : push ebx; push esi; push edi + { 0x08, 0x53 }, // (Offset,Value)-Pair #5 + { 0x09, 0x56 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x57 }, // (Offset,Value)-Pair #7 + + // DirectSoundCreateBuffer+0x3C : call dword ptr [eax+8] + { 0x3C, 0xFF }, // (Offset,Value)-Pair #8 + { 0x3D, 0x50 }, // (Offset,Value)-Pair #9 + { 0x3E, 0x08 }, // (Offset,Value)-Pair #10 + + // DirectSoundCreateBuffer+0x54 : retn 0x08 + { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x55, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * IDirectSound8_CreateSoundBuffer +// ****************************************************************** +SOOVPA<12> IDirectSound8_CreateSoundBuffer_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] + { 0x1D, XREF_DSCREATESOUNDBUFFER }, // (Offset,Value)-Pair #1 + + // IDirectSound8_CreateSoundBuffer+0x04 : mov eax, [esp+8] + { 0x04, 0x8B }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSound8_CreateSoundBuffer+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #6 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #8 + + // IDirectSound8_CreateSoundBuffer+0x17 : sbb ecx, ecx + { 0x17, 0x1B }, // (Offset,Value)-Pair #9 + { 0x18, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSound8_CreateSoundBuffer+0x21 : retn 0x10 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x22, 0x10 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetFrequency +// ****************************************************************** +SOOVPA<11> CDirectSoundVoice_SetFrequency_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETFREQUENCYB, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x46 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x10 }, // (Offset,Value)-Pair #3 + + // CDirectSoundVoice_SetFrequency+0x10 : mov eax, [eax+0x10] + { 0x10, 0x8B }, // (Offset,Value)-Pair #4 + { 0x11, 0x40 }, // (Offset,Value)-Pair #5 + { 0x12, 0x10 }, // (Offset,Value)-Pair #6 + + // CDirectSoundVoice_SetFrequency+0x14 : call [abs]; push eax; push esi + { 0x14, 0xE8 }, // (Offset,Value)-Pair #7 + { 0x19, 0x50 }, // (Offset,Value)-Pair #8 + { 0x1A, 0x56 }, // (Offset,Value)-Pair #9 + + // CDirectSoundVoice_SetFrequency+0x22 : retn 0x08 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetFrequency +// ****************************************************************** +SOOVPA<17> CDirectSoundBuffer_SetFrequency_1_0_4627 = +{ + 0, // Large == 0 + 17, // Count == 17 + + XREF_DSBUFFERSETFREQUENCYA, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] + { 0x32, XREF_DSBUFFERSETFREQUENCYB }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_SetFrequency+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_SetFrequency+0x29 : push [esp+0x10]; push [esp+0x10] + { 0x29, 0xFF }, // (Offset,Value)-Pair #7 + { 0x2A, 0x74 }, // (Offset,Value)-Pair #8 + { 0x2B, 0x24 }, // (Offset,Value)-Pair #9 + { 0x2C, 0x10 }, // (Offset,Value)-Pair #10 + { 0x2D, 0xFF }, // (Offset,Value)-Pair #11 + { 0x2E, 0x74 }, // (Offset,Value)-Pair #12 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #13 + { 0x30, 0x10 }, // (Offset,Value)-Pair #14 + + // CDirectSoundBuffer_SetFrequency+0x49 : pop edi + { 0x49, 0x5F }, // (Offset,Value)-Pair #15 + + // CDirectSoundBuffer_SetFrequency+0x4B : retn 0x08 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 + { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetFrequency +// ****************************************************************** +SOOVPA<12> IDirectSoundBuffer8_SetFrequency_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_SetFrequency+0x15 : call [CDirectSound::SetFrequency] + { 0x15, XREF_DSBUFFERSETFREQUENCYA }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_SetFrequency+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_SetFrequency0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_SetFrequency+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer8_SetFrequency+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #11 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient_SetVolume +// ****************************************************************** +SOOVPA<13> CMcpxVoiceClient_SetVolume_1_0_4627 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_DSSTREAMSETVOLUME, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] + { 0x2A, 0x8D }, // (Offset,Value)-Pair #1 + { 0x2B, 0x04 }, // (Offset,Value)-Pair #2 + { 0x2C, 0x49 }, // (Offset,Value)-Pair #3 + + // CMcpxVoiceClient_SetVolume+0x45 : movzx edx, word ptr [ecx] + { 0x45, 0x0F }, // (Offset,Value)-Pair #4 + { 0x46, 0xB7 }, // (Offset,Value)-Pair #5 + { 0x47, 0x11 }, // (Offset,Value)-Pair #6 + + // CMcpxVoiceClient_SetVolume+0x6C : mov edx, [ebp+eax*4-0x14] + { 0x6C, 0x8B }, // (Offset,Value)-Pair #7 + { 0x6D, 0x54 }, // (Offset,Value)-Pair #8 + { 0x6E, 0x85 }, // (Offset,Value)-Pair #9 + { 0x6F, 0xEC }, // (Offset,Value)-Pair #10 + + // CMcpxVoiceClient_SetVolume+0x84 : inc eax; inc ecx, inc ecx + { 0x84, 0x40 }, // (Offset,Value)-Pair #11 + { 0x85, 0x41 }, // (Offset,Value)-Pair #12 + { 0x86, 0x41 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetVolume +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_SetVolume_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // CDirectSoundStream_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] + { 0x15, XREF_DSSTREAMSETVOLUME }, // (Offset,Value)-Pair #1 + + // CDirectSoundStream_SetVolume+0x00 : mov ecx, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x4C }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // CDirectSoundStream_SetVolume+0x0B : sub edx, [eax+0x20] + { 0x0B, 0x2B }, // (Offset,Value)-Pair #6 + { 0x0C, 0x50 }, // (Offset,Value)-Pair #7 + { 0x0D, 0x20 }, // (Offset,Value)-Pair #8 + + // CDirectSoundStream_SetVolume+0x11 : mov ecx, [ecx+0x0C] + { 0x11, 0x8B }, // (Offset,Value)-Pair #9 + { 0x12, 0x49 }, // (Offset,Value)-Pair #10 + { 0x13, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_LockA +// ****************************************************************** +SOOVPA<13> IDirectSoundBuffer8_LockA_1_0_4627 = +{ + 0, // Large == 0 + 13,// Count == 10 + + XREF_DSBUFFERLOCKA, // XRef Is Saved + 0, // XRef Not Used + + { + // IDirectSoundBuffer8_LockA+0x37 : test [ebp+0x24], 1 + { 0x37, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x38, 0x45 }, // (Offset,Value)-Pair #2 + { 0x39, 0x24 }, // (Offset,Value)-Pair #3 + { 0x3A, 0x01 }, // (Offset,Value)-Pair #4 + + // IDirectSoundBuffer8_LockA+0x5C : mov eax, [eax+0xBC] + { 0x5C, 0x8B }, // (Offset,Value)-Pair #5 + { 0x5D, 0x80 }, // (Offset,Value)-Pair #6 + { 0x5E, 0xBC }, // (Offset,Value)-Pair #7 + { 0x5F, 0x00 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer8_LockA+0xA4 : jnb +0x11; mov esi, [esi+0x1C] + { 0xA2, 0x73 }, // (Offset,Value)-Pair #9 + { 0xA3, 0x11 }, // (Offset,Value)-Pair #10 + { 0xA4, 0x8B }, // (Offset,Value)-Pair #11 + { 0xA5, 0x76 }, // (Offset,Value)-Pair #12 + { 0xA6, 0x1C }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_GetStatus +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_GetStatus_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERGETSTATUSA, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetStatus+0x0A : mov esi, ecx + { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0B, 0xF1 }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_GetStatus+0x20 : jz +0x18 + { 0x20, 0x74 }, // (Offset,Value)-Pair #3 + { 0x21, 0x18 }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_GetStatus+0x22 : test word ptr [esi+0x12], 0x8002 + { 0x22, 0x66 }, // (Offset,Value)-Pair #5 + { 0x23, 0xF7 }, // (Offset,Value)-Pair #6 + { 0x24, 0x46 }, // (Offset,Value)-Pair #7 + { 0x25, 0x12 }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_GetStatus+0x2C : test word ptr [esi+0x12], 0x200 + { 0x2C, 0x66 }, // (Offset,Value)-Pair #9 + { 0x2D, 0xF7 }, // (Offset,Value)-Pair #10 + { 0x2E, 0x46 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_GetStatus +// ****************************************************************** +SOOVPA<10> CMcpxBuffer_GetStatus_1_0_4721 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERGETSTATUSA, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetStatus+0x00 : movzx eax, word ptr [esi+0x12] + { 0x00, 0x0F }, // (Offset,Value)-Pair #5 + { 0x01, 0xB7 }, // (Offset,Value)-Pair #6 + { 0x02, 0x41 }, // (Offset,Value)-Pair #7 + { 0x03, 0x12 }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_GetStatus+0x27 : mov ecx, 0x8001 + { 0x27, 0xB9 }, // (Offset,Value)-Pair #3 + { 0x28, 0x01 }, // (Offset,Value)-Pair #4 + { 0x29, 0x80 }, // (Offset,Value)-Pair #4 + { 0x2A, 0x00 }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_GetStatus+0x39 : mov [ecx], eax + { 0x39, 0x89 }, // (Offset,Value)-Pair #5 + { 0x3A, 0x01 }, // (Offset,Value)-Pair #6 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_GetStatus +// ****************************************************************** +//SOOVPA<11> CMcpxBuffer_GetStatus_1_0_4928 = +//{ +// 0, // Large == 0 +// 11, // Count == 11 +// +// XREF_DSBUFFERGETSTATUSA, // XRef Is Saved +// 0, // XRef Not Used +// +// { +// // CMcpxBuffer_GetStatus+0x0A : mov esi, ecx +// { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 +// { 0x0B, 0xF1 }, // (Offset,Value)-Pair #2 +// +// // CMcpxBuffer_GetStatus+0x1B : jnz +0x44 +// { 0x1B, 0x75 }, // (Offset,Value)-Pair #3 +// { 0x1C, 0x44 }, // (Offset,Value)-Pair #4 +// +// // CMcpxBuffer_GetStatus+0x23 : movzx eax, word ptr [esi+0x12] +// { 0x23, 0x0F }, // (Offset,Value)-Pair #5 +// { 0x24, 0xB7 }, // (Offset,Value)-Pair #6 +// { 0x25, 0x46 }, // (Offset,Value)-Pair #7 +// { 0x26, 0x12 }, // (Offset,Value)-Pair #8 +// +// // CMcpxBuffer_GetStatus+0x3C : movzx eax, word ptr [esi+0x12] +// { 0x3C, 0x0F }, // (Offset,Value)-Pair #9 +// { 0x3D, 0xB7 }, // (Offset,Value)-Pair #10 +// { 0x3E, 0x46 }, // (Offset,Value)-Pair #11 +// } +//}; + +// ****************************************************************** +// * CMcpxBuffer_GetStatusB +// ****************************************************************** +SOOVPA<12> CMcpxBuffer_GetStatusB_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_DSBUFFERGETSTATUSA, // XRef Is Saved + 0, // XRef Not Used + + { + { 0x16, 0x6A }, // (Offset,Value)-Pair #1 + { 0x17, 0x00 }, // (Offset,Value)-Pair #2 + { 0x18, 0x5A }, // (Offset,Value)-Pair #3 + + { 0x1C, 0x42 }, // (Offset,Value)-Pair #4 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #5 + { 0x1E, 0xC4 }, // (Offset,Value)-Pair #6 + { 0x1F, 0x02 }, // (Offset,Value)-Pair #7 + + { 0x29, 0xB9 }, // (Offset,Value)-Pair #8 + { 0x2A, 0x01 }, // (Offset,Value)-Pair #9 + { 0x2B, 0x80 }, // (Offset,Value)-Pair #10 + + { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x40, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer_GetStatus +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_GetStatus_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERGETSTATUSB, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_GetStatus+0x35 : call [CMcpxBuffer::GetStatus] + { 0x35, XREF_DSBUFFERGETSTATUSA }, // (Offset,Value)-Pair #1 + + // CDirectSoundBuffer_GetStatus+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 + { 0x22, 0x05 }, // (Offset,Value)-Pair #3 + { 0x23, 0x40 }, // (Offset,Value)-Pair #4 + { 0x24, 0x00 }, // (Offset,Value)-Pair #5 + { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + + // CDirectSoundBuffer_GetStatus+0x3D : jz +0x0B + { 0x3D, 0x74 }, // (Offset,Value)-Pair #7 + { 0x3E, 0x0B }, // (Offset,Value)-Pair #8 + + // CDirectSoundBuffer_GetStatus+0x4E : retn 0x08 + { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x4F, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_GetStatus +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_GetStatus_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer8_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] + { 0x15, XREF_DSBUFFERGETSTATUSB }, // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer8_GetStatus+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer8_GetStatus+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #6 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #7 + + // IDirectSoundBuffer8_GetStatus+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #8 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CDirectSound_GetSpeakerConfig +// ****************************************************************** +SOOVPA<7> CDirectSound_GetSpeakerConfig_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x00 }, + { 0x14, 0x0B }, + { 0x20, 0xB8 }, + { 0x2A, 0x04 }, + { 0x35, 0x81 }, + { 0x40, 0x0B }, + { 0x4C, 0x33 }, + } +}; + +// ****************************************************************** +// * CMcpxBuffer_Play +// ****************************************************************** +SOOVPA<10> CMcpxBuffer_Play_1_0_4721 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSOUNDPLAY, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_Play+0x2E : test byte ptr [eax+9], 20h + { 0x2E, 0xF6 }, // (Offset,Value)-Pair #5 + { 0x2F, 0x40 }, // (Offset,Value)-Pair #6 + { 0x30, 0x09 }, // (Offset,Value)-Pair #7 + { 0x31, 0x20 }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_Play+0x44 : test byte ptr [esi+12h], 2h + { 0x44, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x45, 0x46 }, // (Offset,Value)-Pair #2 + { 0x46, 0x12 }, // (Offset,Value)-Pair #3 + { 0x47, 0x02 }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_Play+0x52 : xor eax, eax + { 0x52, 0x33 }, // (Offset,Value)-Pair #9 + { 0x53, 0xC0 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CMcpxBuffer_Play +// ****************************************************************** +SOOVPA<10> CMcpxBuffer_Play_1_0_4928 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSOUNDPLAY, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_Play+0x32 : test byte ptr [esi+12h], 42h + { 0x32, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x33, 0x46 }, // (Offset,Value)-Pair #2 + { 0x34, 0x12 }, // (Offset,Value)-Pair #3 + { 0x35, 0x42 }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_Play+0x4D : test byte ptr [eax+9], 20h + { 0x4D, 0xF6 }, // (Offset,Value)-Pair #5 + { 0x4E, 0x40 }, // (Offset,Value)-Pair #6 + { 0x4F, 0x09 }, // (Offset,Value)-Pair #7 + { 0x50, 0x20 }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_Play+0x71 : xor eax, eax + { 0x71, 0x33 }, // (Offset,Value)-Pair #9 + { 0x72, 0xC0 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDistanceFactorA +// ****************************************************************** +SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_SETDISTANCEFACTORA,// XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetDistanceFactorA+0x39 : or byte ptr[eax+0xA4], 0xE0 + { 0x39, 0x80 }, // (Offset,Value)-Pair #6 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #7 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 + { 0x3F, 0xE0 }, // (Offset,Value)-Pair #9 + + // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 + { 0x50, 0x0B }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDistanceFactorA +// ****************************************************************** +SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4531 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_SETDISTANCEFACTORA,// XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetDistanceFactorA+0x39 : or dword ptr[eax+0xA4], 0x60 + { 0x39, 0x83 }, // (Offset,Value)-Pair #6 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #7 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 + { 0x3F, 0x60 }, // (Offset,Value)-Pair #9 + + // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 + { 0x50, 0x0B }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetRolloffFactor +// ****************************************************************** +SOOVPA<11> CDirectSound_SetRolloffFactor_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_SETROLLOFFFACTORA, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0xA4], 0x04 + { 0x39, 0x83 }, // (Offset,Value)-Pair #6 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #7 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 + { 0x3F, 0x04 }, // (Offset,Value)-Pair #9 + + // CDirectSound_SetRolloffFactor+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 + { 0x50, 0x0B }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetRolloffFactor +// ****************************************************************** +SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactor] + { 0x1D, XREF_SETROLLOFFFACTORA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetRolloffFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetRolloffFactor+0x0C : push ecx + { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_SetRolloffFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #7 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetRolloffFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDopplerFactor +// ****************************************************************** +SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_4531 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_SETDOPPLERFACTOR, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0xA4], 0x40 + { 0x39, 0x83 }, // (Offset,Value)-Pair #9 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #10 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #11 + { 0x3F, 0x40 }, // (Offset,Value)-Pair #12 + + // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #13 + { 0x50, 0x0B }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDopplerFactor +// ****************************************************************** +SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_4627 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_SETDOPPLERFACTOR, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetDopplerFactor+0x39 : or byte ptr[eax+0xA4], 0x80 + { 0x39, 0x80 }, // (Offset,Value)-Pair #9 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #10 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #11 + { 0x3F, 0x80 }, // (Offset,Value)-Pair #12 + + // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #13 + { 0x50, 0x0B }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirectSound8_SetDopplerFactor +// ****************************************************************** +SOOVPA<11> IDirectSound8_SetDopplerFactor_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound8_SetDopplerFactor+0x1D : call [CDirectSound::SetDopplerFactor] + { 0x1D, XREF_SETDOPPLERFACTOR}, // (Offset,Value)-Pair #1 + + // IDirectSound8_SetDopplerFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 + { 0x05, 0x44 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + + // IDirectSound8_SetDopplerFactor+0x0C : push ecx + { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_SetDopplerFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, // (Offset,Value)-Pair #7 + { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 + { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + + // IDirectSound8_SetDopplerFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetRolloffFactor +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetRolloffFactor_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSVOICESETROLLOFFFACTOR, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetRolloffFactor+0x11 : mov [eax+44h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x44 }, + + // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetRolloffFactor +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_SetRolloffFactor_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERSETROLLOFFFACTOR, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetRolloffFactor+0x39 : call [CDirectSoundVoice::SetRolloffFactor] + { 0x3A, XREF_DSVOICESETROLLOFFFACTOR }, + + // CDirectSoundBuffer_SetRolloffFactor+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetRolloffFactor+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetRolloffFactor+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetRolloffFactor +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer_SetRolloffFactor_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetRolloffFactor+0x1C : call [CDirectSoundBuffer::SetRolloffFactor] + { 0x1D, XREF_DSBUFFERSETROLLOFFFACTOR }, + + // IDirectSoundBuffer_SetRolloffFactor+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetRolloffFactor+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetRolloffFactor+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetDistanceFactor +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetDistanceFactor_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSVOICESETDISTANCEFACTOR, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetDistanceFactor+0x11 : mov [eax+40h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x40 }, + + // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetDistanceFactor +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_SetDistanceFactor_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERSETDISTANCEFACTOR, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetDistanceFactor+0x39 : call [CDirectSoundVoice::SetDistanceFactor] + { 0x3A, XREF_DSVOICESETDISTANCEFACTOR }, + + // CDirectSoundBuffer_SetDistanceFactor+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetDistanceFactor+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetDistanceFactor+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetDistanceFactor +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer_SetDistanceFactor_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetDistanceFactor+0x1C : call [CDirectSoundBuffer::SetDistanceFactor] + { 0x1D, XREF_DSBUFFERSETDISTANCEFACTOR }, + + // IDirectSoundBuffer_SetDistanceFactor+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetDistanceFactor+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetSetDistanceFactor+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeAngles +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetConeAngles_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSVOICESETCONEANGLES, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetConeAngles+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetConeAngles+0x11 : mov [ecx+1Ch], edx + { 0x11, 0x89 }, + { 0x12, 0x51 }, + { 0x13, 0x1C }, + + // CDirectSoundVoice_SetConeAngles+0x40 : retn 10h + { 0x41, 0x10 }, + { 0x42, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeAngles +// ****************************************************************** +SOOVPA<11> CDirectSoundBuffer_SetConeAngles_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETCONEANGLES, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetConeAngles+0x39 : call [CDirectSoundVoice::SetConeAngles] + { 0x3A, XREF_DSVOICESETCONEANGLES }, + + // CDirectSoundBuffer_SetConeAngles+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetConeAngles+0x31 : push [esp+0Ch+arg_4] + { 0x31, 0xFF }, + { 0x32, 0x74 }, + { 0x33, 0x24 }, + { 0x34, 0x18 }, + + // CDirectSoundBuffer_SetConeAngles+0x53 : retn 10h + { 0x54, 0x10 }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeAngles +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer_SetConeAngles_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetConeAngles+0x1C : call [CDirectSoundBuffer::SetConeAngles] + { 0x1D, XREF_DSBUFFERSETCONEANGLES }, + + // IDirectSoundBuffer_SetConeAngles+0x04 : mov eax, [esp+4+arg_0] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetConeAngles+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetConeAngles+0x21 : retn 10h + { 0x22, 0x10 }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeOrientation +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetConeOrientation_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSVOICESETCONEORIENTATION, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] + { 0x0F, 0x8B }, + { 0x10, 0x55 }, + { 0x11, 0x0C }, + + // CDirectSoundVoice_SetConeOrientation+0x12 : mov [ecx+24h], edx + { 0x12, 0x89 }, + { 0x13, 0x51 }, + { 0x14, 0x24 }, + + // CDirectSoundVoice_SetConeOrientation+0x4F : retn 14h + { 0x50, 0x14 }, + { 0x51, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOrientation +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetConeOrientation_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETCONEORIENTATION, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] + { 0x4A, XREF_DSVOICESETCONEORIENTATION }, + + // CDirectSoundBuffer_SetConeOrientation+0x2B : fld [ebp+arg_C] + { 0x2B, 0xD9 }, + { 0x2C, 0x45 }, + { 0x2D, 0x14 }, + + // CDirectSoundBuffer_SetConeOrientation+0x43 : fstp [esp+18h+var_18] + { 0x43, 0xD9 }, + { 0x44, 0x1C }, + { 0x45, 0x24 }, + + // CDirectSoundBuffer_SetConeOrientation+0x64 : retn 14h + { 0x65, 0x14 }, + { 0x66, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeOrientation +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetConeOrientation_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetConeOrientation+0x2C : call [CDirectSoundBuffer::SetConeOrientation] + { 0x2D, XREF_DSBUFFERSETCONEORIENTATION }, + + // IDirectSoundBuffer_SetConeOrientation+0x06 : fld [ebp+arg_C] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSoundBuffer_SetConeOrientation+0x28 : fstp [esp+10h+var_10] + { 0x28, 0xD9 }, + { 0x29, 0x1C }, + { 0x2A, 0x24 }, + + // IDirectSoundBuffer_SetConeOrientation+0x32 : retn 14h + { 0x33, 0x14 }, + { 0x34, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeOutsideVolume +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetConeOutsideVolume_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSVOICESETCONEOUTSIDEVOLUME, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x11 : mov [eax+30h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x30 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOutsideVolume +// ****************************************************************** +SOOVPA<11> CDirectSoundBuffer_SetConeOutsideVolume_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETCONEOUTSIDEVOLUME, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetConeOutsideVolume+0x35 : call [CDirectSoundVoice::SetConeOutsideVolume] + { 0x36, XREF_DSVOICESETCONEOUTSIDEVOLUME }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x31 : push [esp+0Ch+arg_0] + { 0x31, 0xFF }, + { 0x32, 0x74 }, + { 0x33, 0x24 }, + { 0x34, 0x14 }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x4F : retn 0Ch + { 0x50, 0x0C }, + { 0x51, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeOutsideVolume +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundBuffer::SetConeOutsideVolume] + { 0x19, XREF_DSBUFFERSETCONEOUTSIDEVOLUME }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] + { 0x0A, 0xFF }, + { 0x0B, 0x74 }, + { 0x0C, 0x24 }, + { 0x0D, 0x0C }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax + { 0x15, 0x23 }, + { 0x16, 0xC8 }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch + { 0x1E, 0x0C }, + { 0x1F, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetPosition +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetPosition_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSVOICESETPOSITION, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] + { 0x0F, 0x8B }, + { 0x10, 0x55 }, + { 0x11, 0x0C }, + + // CDirectSoundVoice_SetPosition+0x12 : mov [ecx+04h], edx + { 0x12, 0x89 }, + { 0x13, 0x51 }, + { 0x14, 0x04 }, + + // CDirectSoundVoice_SetPosition+0x51 : retn 14h + { 0x52, 0x14 }, + { 0x53, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPosition +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETPOSITION, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] + { 0x4A, XREF_DSVOICESETPOSITION }, + + // CDirectSoundBuffer_SetPosition+0x2B : fld [ebp+arg_C] + { 0x2B, 0xD9 }, + { 0x2C, 0x45 }, + { 0x2D, 0x14 }, + + // CDirectSoundBuffer_SetPosition+0x43 : fstp [esp+18h+var_18] + { 0x43, 0xD9 }, + { 0x44, 0x1C }, + { 0x45, 0x24 }, + + // CDirectSoundBuffer_SetPosition+0x64 : retn 14h + { 0x65, 0x14 }, + { 0x66, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetVelocity +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetVelocity_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSVOICESETVELOCITY, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] + { 0x0F, 0x8B }, + { 0x10, 0x55 }, + { 0x11, 0x0C }, + + // CDirectSoundVoice_SetVelocity+0x12 : mov [ecx+10h], edx + { 0x12, 0x89 }, + { 0x13, 0x51 }, + { 0x14, 0x10 }, + + // CDirectSoundVoice_SetVelocity+0x4F : retn 14h + { 0x50, 0x14 }, + { 0x51, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetVelocity +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETVELOCITY, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] + { 0x4A, XREF_DSVOICESETVELOCITY }, + + // CDirectSoundBuffer_SetVelocity+0x2B : fld [ebp+arg_C] + { 0x2B, 0xD9 }, + { 0x2C, 0x45 }, + { 0x2D, 0x14 }, + + // CDirectSoundBuffer_SetVelocity+0x43 : fstp [esp+18h+var_18] + { 0x43, 0xD9 }, + { 0x44, 0x1C }, + { 0x45, 0x24 }, + + // CDirectSoundBuffer_SetVelocity+0x64 : retn 14h + { 0x65, 0x14 }, + { 0x66, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetDopplerFactor +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetDopplerFactor_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSVOICESETDOPPLERFACTOR, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetDopplerFactor+0x12 : mov [eax+48h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x48 }, + + // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetDopplerFactor +// ****************************************************************** +SOOVPA<10> CDirectSoundBuffer_SetDopplerFactor_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSBUFFERSETDOPPLERFACTOR, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetDopplerFactor+0x39 : call [CDirectSoundVoice::SetDopplerFactor] + { 0x3A, XREF_DSVOICESETDOPPLERFACTOR }, + + // CDirectSoundBuffer_SetDopplerFactor+0x2D : push [esp+4+arg_8] + { 0x2D, 0xFF }, + { 0x2E, 0x74 }, + { 0x2F, 0x24 }, + { 0x30, 0x14 }, + + // CDirectSoundBuffer_SetDopplerFactor+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetDopplerFactor+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetDopplerFactor +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetDopplerFactor_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetDopplerFactor+0x1C : call [CDirectSoundBuffer::SetDopplerFactor] + { 0x1D, XREF_DSBUFFERSETDOPPLERFACTOR }, + + // IDirectSoundBuffer_SetDopplerFactor+0x08 : mov eax, [esp+4+arg_0] + { 0x08, 0x8B }, + { 0x09, 0x44 }, + { 0x0A, 0x24 }, + { 0x0B, 0x08 }, + + // IDirectSoundBuffer_SetDopplerFactor+0x19 : and ecx, eax + { 0x19, 0x23 }, + { 0x1A, 0xC8 }, + + // IDirectSoundBuffer_SetDopplerFactor+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetI3DL2Source +// ****************************************************************** +SOOVPA<10> CDirectSoundVoice_SetI3DL2Source_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSVOICESETI3DL2SOURCE, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx] + { 0x12, 0x8B }, + { 0x13, 0x31 }, + + // CDirectSoundVoice_SetI3DL2Source+0x14 : mov [edx+4Ch], esi + { 0x14, 0x89 }, + { 0x15, 0x72 }, + { 0x16, 0x4C }, + + // CDirectSoundVoice_SetI3DL2Source+0x44 : fld dword ptr [ecx+10h] + { 0x44, 0xD9 }, + { 0x45, 0x41 }, + { 0x46, 0x10 }, + + // CDirectSoundVoice_SetI3DL2Source+0xAC : retn 0Ch + { 0xAD, 0x0C }, + { 0xAE, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetI3DL2Source +// ****************************************************************** +SOOVPA<11> CDirectSoundBuffer_SetI3DL2Source_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETI3DL2SOURCE, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] + { 0x36, XREF_DSVOICESETI3DL2SOURCE }, + + // CDirectSoundBuffer_SetI3DL2Source+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetI3DL2Source+0x31 : push [esp+0Ch+arg_0] + { 0x31, 0xFF }, + { 0x32, 0x74 }, + { 0x33, 0x24 }, + { 0x34, 0x14 }, + + // CDirectSoundBuffer_SetI3DL2Source+0x4F : retn 0Ch + { 0x50, 0x0C }, + { 0x51, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetI3DL2Source +// ****************************************************************** +SOOVPA<10> IDirectSoundBuffer_SetI3DL2Source_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetI3DL2Source+0x18 : call [CDirectSoundBuffer::SetI3DL2Source] + { 0x19, XREF_DSBUFFERSETI3DL2SOURCE }, + + // IDirectSoundBuffer_SetI3DL2Source+0x04 : push [esp+arg_8] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetI3DL2Source+0x0E : add eax, 0FFFFFFE4h + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_SetI3DL2Source+0x1D : retn 0Ch + { 0x1E, 0x0C }, + { 0x1F, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_Stop +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer_Stop_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // IDirectSoundBuffer_Stop+0x04 : mov ecx, eax + { 0x04, 0x8B }, + { 0x05, 0xC8 }, + + // IDirectSoundBuffer_Stop+0x06 : add eax, 0FFFFFFE4h + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xE4 }, + + // IDirectSoundBuffer_Stop+0x15 : retn 4 + { 0x16, 0x04 }, + { 0x17, 0x00 } + } +}; +// +s + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetFormat +// ****************************************************************** +SOOVPA<8> X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x4E }, + { 0x10, 0xE8 }, + { 0x19, 0xD8 }, + { 0x22, 0xFF }, + { 0x2B, 0x0C }, + { 0x34, 0xFF }, + { 0x3F, 0x8B }, + { 0x46, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetFormat +// ****************************************************************** +SOOVPA<8> X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetFormat, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFormat }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetFormat +// ****************************************************************** +SOOVPA<8> X_IDirectSoundBuffer_SetFormat_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFormat }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CMcpxStream_Pause +// ****************************************************************** +SOOVPA<11> CMcpxStream_Pause_1_0_4928 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMPAUSE, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxStream_Pause+0x17 : and ax, 0xFFDF + { 0x17, 0x66 }, // (Offset,Value)-Pair #1 + { 0x18, 0x25 }, // (Offset,Value)-Pair #2 + { 0x19, 0xDF }, // (Offset,Value)-Pair #3 + + // CMcpxStream_Pause+0x32 : jmp +0x56 + { 0x32, 0xEB }, // (Offset,Value)-Pair #4 + { 0x33, 0x56 }, // (Offset,Value)-Pair #5 + + // CMcpxStream_Pause+0x39 : movzx eax, word ptr [esi+0x12] + { 0x39, 0x0F }, // (Offset,Value)-Pair #6 + { 0x3A, 0xB7 }, // (Offset,Value)-Pair #7 + { 0x3B, 0x46 }, // (Offset,Value)-Pair #8 + { 0x3C, 0x12 }, // (Offset,Value)-Pair #9 + + // CMcpxStream_Pause+0x8B : retn 0x04 + { 0x8B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_SetMixBinVolumes (untested) +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetMixBinVolumes_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 0 + + XRefNotSaved, + 1, + + { + { 0x36, XREF_DSSETMIXBINVOLUMESB }, + + { 0x0D, 0x0F }, + { 0x0E, 0xB6 }, + { 0x0F, 0xF0 }, + { 0x21, 0x8B }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, + { 0x51, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::EnableHeadphones (incorrect?) +// ****************************************************************** +SOOVPA<15> X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627 = +{ + 0, // Large == 0 + 15, // Count == 14 + + XREF_DirectSound_CDirectSound_EnableHeadphones, // Xref Is Saved + XRefNotUsed, + + { + // CDirectSound_EnableHeadphones+0x12 : movzx eax, al + { 0x12, 0x0F }, // (Offset,Value)-Pair #1 + { 0x13, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x14, 0xC0 }, // (Offset,Value)-Pair #3 + + // CDirectSound_EnableHeadphones+0x29 : mov eax, 0x80004005 + { 0x29, 0xB8 }, // (Offset,Value)-Pair #4 + { 0x2A, 0x05 }, // (Offset,Value)-Pair #5 + { 0x2B, 0x40 }, // (Offset,Value)-Pair #6 + { 0x2C, 0x00 }, // (Offset,Value)-Pair #7 + { 0x2D, 0x80 }, // (Offset,Value)-Pair #8 + + // CDirectSound_EnableHeadphones+0x59 : and eax, 0x7FFFFFFF + { 0x59, 0x25 }, // (Offset,Value)-Pair #9 + { 0x5A, 0xFF }, // (Offset,Value)-Pair #10 + { 0x5B, 0xFF }, // (Offset,Value)-Pair #11 + { 0x5C, 0xFF }, // (Offset,Value)-Pair #12 + { 0x5D, 0x7F }, // (Offset,Value)-Pair #13 + + // CDirectSound_EnableHeadphones+0x97 : leave + //{ 0x97, 0xC9 }, // (Offset,Value)-Pair #14 + { 0x98, 0xC2 }, + { 0x99, 0x08 }, + } +}; + +// ****************************************************************** +// * EmuIDirectSound_EnableHeadphones +// ****************************************************************** +SOOVPA<9> EmuIDirectSound_EnableHeadphones_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSound_EnableHeadphones+0x14 : call [CDirectSound::EnableHeadphones] + { 0x15, XREF_DirectSound_CDirectSound_EnableHeadphones }, + + // IDirectSound_EnableHeadphones+0x04 : push dword ptr [esp+8] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSound_EnableHeadphones+0x13 : push ecx + { 0x13, 0x51 }, + + // IDirectSound_EnableHeadphones+0x19 : retn 8 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + { 0x1B, 0x00 }, + } +}; + +/* +// ****************************************************************** +// * CDirectSoundVoice::SetHeadrom +// ****************************************************************** +SOOVPA<9> CDirectSoundVoice_SetHeadroom_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // XRef is saved + -1, // XRef is not used + + { + { 0x1B, XREF_DSSTREAMSETVOLUME }, + + { 0x0A, 0x56 }, + { 0x0F, 0x2B }, + { 0x10, 0xCE }, + { 0x17, 0x8B }, + { 0x18, 0x4A }, + { 0x19, 0x0C }, + { 0x20, 0xC2 }, + { 0x21, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundStream::SetHeadroom +// ****************************************************************** +SOOVPA<12> CDirectSoundStream_SetHeadroom_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, // XRef is used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, + + { 0x21, 0x8B }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + { 0x2C, 0x57 }, + { 0x31, 0x83 }, + { 0x32, 0xC0 }, + { 0x33, 0x04 }, + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, + } +}; +*/ + +// ****************************************************************** +// * CDirectSound::SetAllParametersA +// ****************************************************************** +SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4831 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSETALLPARAMETERSA, // XRef Is Saved + 0, // XRef Not Used + + { + { 0x16, 0x68 }, // (Offset,Value)-Pair #1 + { 0x17, 0x08 }, // (Offset,Value)-Pair #2 + { 0x18, 0x6E }, // (Offset,Value)-Pair #3 + { 0x19, 0x18 }, // (Offset,Value)-Pair #4 + + { 0x2F, 0xD9 }, // (Offset,Value)-Pair #5 + { 0x30, 0x41 }, // (Offset,Value)-Pair #6 + { 0x31, 0x04 }, // (Offset,Value)-Pair #7 + + { 0x87, 0x8B }, // (Offset,Value)-Pair #8 + { 0x88, 0x50 }, // (Offset,Value)-Pair #9 + { 0x89, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::GetOutputLevels +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSound_GetOutputLevels, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x10 }, + { 0x10, 0xF3 }, + { 0x19, 0x5E }, + { 0x22, 0xFE }, + { 0x2B, 0x85 }, + { 0x34, 0xA6 }, + { 0x3D, 0xD0 }, + } +}; + +// ****************************************************************** +// * IDirectSound_GetOutputLevels +// ****************************************************************** +SOOVPA<9> IDirectSound_GetOutputLevels_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DirectSound_CDirectSound_GetOutputLevels }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetAllParameters +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundVoice_SetAllParameters, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0x92 }, + { 0x3E, 0x00 }, + { 0x5E, 0x00 }, + { 0x7E, 0x89 }, + { 0x9E, 0x28 }, + { 0xBE, 0x41 }, + { 0xDE, 0x8B }, + { 0xFE, 0x10 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetAllParameters +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetAllParameters }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetAllParameters +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetAllParameters }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::Pause +// ****************************************************************** +SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_4928 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CMcpxBuffer_Pause, // Xref Is Saved + XRefNotUsed, + + { + { 0x0D, 0x4D }, + { 0x1C, 0x44 }, + { 0x2B, 0x8B }, + { 0x3A, 0x75 }, + { 0x49, 0x7D }, + { 0x58, 0xEB }, + { 0x67, 0xE8 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::Pause +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_Pause_1_0_4928 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_Pause, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x35, XREF_DirectSound_CMcpxBuffer_Pause }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_Pause +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_Pause_1_0_4928 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_Pause }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::GetStatus +// ****************************************************************** +SOOVPA<7> DirectSound_CMcpxBuffer_GetStatus_1_0_4721 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CMcpxBuffer_GetStatus, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0xE1 }, + { 0x10, 0x24 }, + { 0x19, 0x0F }, + { 0x22, 0x74 }, + { 0x2B, 0x80 }, + { 0x34, 0x24 }, + { 0x3D, 0x33 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::GetStatus +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_GetStatus_1_0_4721 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_GetStatus, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x35, XREF_DirectSound_CMcpxBuffer_GetStatus }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_GetStatus +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_GetStatus_1_0_4721 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_GetStatus }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMixBins +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetMixBins_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DSSETMIXBINSB }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxVoiceClient::SetEG +// ****************************************************************** +SOOVPA<8> DirectSound_CMcpxVoiceClient_SetEG_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CMcpxVoiceClient_SetEG, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0x75 }, + { 0x3E, 0x0F }, + { 0x5E, 0xE3 }, + { 0x7E, 0x4E }, + { 0x9E, 0x40 }, + { 0xBE, 0x50 }, + { 0xDE, 0x1C }, + { 0xFE, 0x1C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetEG +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetEG_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetEG, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x0C, XREF_DirectSound_CMcpxVoiceClient_SetEG }, + + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x0C }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetEG +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetEG_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetEG }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetEG +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetEG_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetEG, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetEG }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetEG +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetEG_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetEG }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::FlushEx +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSFLUSHEX2, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x18, 0x0B }, + { 0x25, 0x05 }, + { 0x32, 0x8B }, + { 0x3F, 0x75 }, + { 0x4D, 0x85 }, + { 0x59, 0x15 }, + } +}; + +// ****************************************************************** +// * IDirectSoundStream_FlushEx +// ****************************************************************** +SOOVPA<9> IDirectSoundStream_FlushEx_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x11, XREF_DSFLUSHEX2 }, + + { 0x01, 0x74 }, + { 0x04, 0xFF }, + { 0x07, 0x10 }, + { 0x0A, 0x24 }, + { 0x0D, 0x74 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x10 }, + } +}; + +// ****************************************************************** +// * XAudioDownloadEffectsImage +// ****************************************************************** +SOOVPA<8> XAudioDownloadEffectsImage_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xB6 }, + { 0x41, 0x83 }, + { 0x61, 0x8B }, + { 0x80, 0x85 }, + { 0x9E, 0x8B }, + { 0xBE, 0x6A }, + { 0xDE, 0x07 }, + { 0xFE, 0xF7 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMode +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetMode_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSBUFFERSETMODEB, // Xref Is Saved + XRefNotUsed, + + { + { 0x03, 0x0C }, + { 0x08, 0x04 }, + { 0x0D, 0x89 }, + { 0x12, 0x8B }, + { 0x17, 0x51 }, + { 0x1C, 0xE8 }, + { 0x21, 0x33 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetMode +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMode_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETMODEA, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x36, XREF_DSBUFFERSETMODEB }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetMode +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetMode_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSBUFFERSETMODEA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxVoiceClient::SetFilter +// ****************************************************************** +SOOVPA<8> DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CMcpxVoiceClient_SetFilter, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0xFF }, + { 0x3E, 0x73 }, + { 0x5E, 0x3E }, + { 0x7E, 0x0B }, + { 0x9E, 0xF6 }, + { 0xBE, 0x89 }, + { 0xDE, 0x0F }, + { 0xFE, 0xB7 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetFilter +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetFilter_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetFilter, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x0C, XREF_DirectSound_CMcpxVoiceClient_SetFilter }, + + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x0C }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetFilter +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetFilter_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetFilter, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFilter }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetFilter +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetFilter_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundStream_SetFilter, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetFilter }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetFilter +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetFilter_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFilter }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetPitch +// ****************************************************************** +SOOVPA<6> DirectSound_CDirectSoundVoice_SetPitch_1_0_4627 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XREF_DSBUFFERSETPITCHB, // Xref Is Saved + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x10 }, + { 0x0A, 0x08 }, + { 0x0E, 0x8B }, + { 0x16, 0xC2 }, + { 0x17, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetPitch +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetPitch_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETPITCHA, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DSBUFFERSETPITCHB }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPitch +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DSBUFFERSETPITCHA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved + 1, // Xref Is Used + + { + // CDirectSoundVoice_SetHeadroom+0x1B : call [CMcpxVoiceClient::SetVolume] + { 0x1B, XREF_DSSTREAMSETVOLUME }, + + { 0x03, 0x04 }, + { 0x08, 0x48 }, + { 0x0D, 0x24 }, + { 0x12, 0x48 }, + { 0x17, 0x8B }, + { 0x1F, 0x5E }, + { 0x21, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, /*XREF_DirectSound_CDirectSoundVoice_SetHeadroom*/ XREF_DSBUFFERSETHEADROOMA }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetOutputBuffer +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer, // Xref Is Saved + XRefNotUsed, + + { + { 0x09, 0xF7 }, + { 0x14, 0x8B }, + { 0x1F, 0x3B }, + { 0x2A, 0xE8 }, + { 0x35, 0x8B }, + { 0x40, 0x74 }, + { 0x4B, 0xD8 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetOutputBuffer +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetOutputBuffer_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetOutputBuffer, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetOutputBuffer +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetOutputBuffer +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetOutputBuffer_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetOutputBuffer }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetRolloffCurve +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSVOICESETROLLOFFCURVE, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x10, 0x08 }, + { 0x13, 0x70 }, + { 0x19, 0xB4 }, + { 0x22, 0x51 }, + { 0x2B, 0x00 }, + { 0x34, 0x10 }, + { 0x3E, 0x33 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetRolloffCurve +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetRolloffCurve_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETROLLOFFCURVE, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3A, XREF_DSVOICESETROLLOFFCURVE }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetRolloffCurve +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x74 }, + { 0x3A, 0x24 }, + { 0x46, 0x74 }, + { 0x53, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetRolloffCurve +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetRolloffCurve_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSBUFFERSETROLLOFFCURVE }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CMemoryManager::MemAlloc +// ****************************************************************** +// * FOR DEBUGGING USE ONLY! +// ****************************************************************** +SOOVPA<10> DirectSound_CMemoryManager_MemAlloc_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // DirectSound::CMemoryManager::PoolAlloc + 0x1B: cmp [esp+4+0xC], 0 + { 0x1B, 0x83 }, + { 0x1C, 0x7C }, + { 0x1D, 0x24 }, + { 0x1E, 0x10 }, + { 0x1F, 0x00 }, + // DirectSound::CMemoryManager::PoolAlloc + 0x33: and ecx, 3 + { 0x33, 0x83 }, + { 0x34, 0xE1 }, + { 0x35, 0x03 }, + // DirectSound::CMemoryManager::PoolAlloc + 0x65: retn 0xC + { 0x65, 0xC2 }, + { 0x66, 0x0C } + } +}; + +// ****************************************************************** +// * XWaveFileCreateMediaObject +// ****************************************************************** +SOOVPA<7> XWaveFileCreateMediaObject_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x0B }, + { 0x1C, 0xF7 }, + { 0x2B, 0x07 }, + { 0x3A, 0xF0 }, + { 0x49, 0x10 }, + { 0x5C, 0x8B }, + { 0x67, 0x07 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetNotificationPositions +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundBuffer_SetNotificationPositions, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x1B, 0xFF }, + { 0x25, 0x80 }, + { 0x32, 0x74 }, + { 0x3F, 0xF8 }, + { 0x4C, 0x8B }, + { 0x5D, 0x8B }, + } +}; + +// ****************************************************************** +// * XFileCreateMediaObjectEx +// ****************************************************************** +SOOVPA<7> XFileCreateMediaObjectEx_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0xC0 }, + { 0x16, 0xF8 }, + { 0x22, 0xE6 }, + { 0x2E, 0x1C }, + { 0x3A, 0xF0 }, + { 0x46, 0x4C }, + { 0x52, 0xFF }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetNotificationPositions +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetNotificationPositions }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * Direct_1_0_4627 +// ****************************************************************** +OOVPATable DSound_1_0_4627[] = +{ + // DirectSoundCreate (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreate_1_0_4361, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // DirectSoundDoWork + { + (OOVPA*)&DirectSoundDoWork_1_0_4627, + + XTL::EmuDirectSoundDoWork, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundDoWork" + #endif + }, + // CDirectSound_CreateSoundBuffer + { + (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundBuffer (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetPlayRegion (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetPlayRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPlayRegion" + #endif + }, + // IDirectSoundBuffer8::SetLoopRegion (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetLoopRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetLoopRegion" + #endif + }, + // CDirectSound_SetI3DL2Listener (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_4432, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // CDirectSound_SetMixBinHeadroom + { + (OOVPA*)&CDirectSound_SetMixBinHeadroom_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetMixBinHeadroom (XREF)" + #endif + }, + // IDirectSound8_SetMixBinHeadroom + { + (OOVPA*)&IDirectSound8_SetMixBinHeadroom_1_0_4627, + + XTL::EmuIDirectSound8_SetMixBinHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetMixBinHeadroom" + #endif + }, + // IDirectSoundBuffer8::SetHeadroomA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_SetHeadroomA_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetHeadroomA (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetHeadroom + { + (OOVPA*)&IDirectSoundBuffer8_SetHeadroom_1_0_4928, + + XTL::EmuIDirectSoundBuffer8_SetHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetHeadroom" + #endif + }, + // CDirectSound::SetVelocity (XREF) + { + (OOVPA*)&CDirectSound_SetVelocity_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetVelocityA (XRef)" + #endif + }, + // IDirectSound8::SetVelocity (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetVelocity_1_0_3936, + + XTL::EmuIDirectSound8_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetVelocity" + #endif + }, + // CDirectSound::SetAllParametersA (XREF) + { + (OOVPA*)&CDirectSound_SetAllParametersA_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetAllParametersA (XRef)" + #endif + }, + // CDirectSound::SetAllParametersA (XREF) + { + (OOVPA*)&CDirectSound_SetAllParametersA_1_0_4721, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetAllParametersA_4721 (XRef)" + #endif + }, + // CDirectSound_SetAllParametersA (XREF) + { + (OOVPA*)&CDirectSound_SetAllParametersA_1_0_4831, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetAllParametersA_4831 (XREF)" + #endif + }, + // CDirectSound_SetAllParameters (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetAllParameters_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetAllParametersA (4928) (XREF)" + #endif + }, + // IDirectSound8::SetAllParameters (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetAllParameters_1_0_3936, + + XTL::EmuIDirectSound8_SetAllParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetAllParameters" + #endif + }, + // CDirectSoundVoiceSettings_SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBins (XREF)" + #endif + }, + // CDirectSoundVoice_SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBins (XREF)" + #endif + }, + // CDirectSoundBuffer_SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBins (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432, + + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBins" + #endif + }, + // CDirectSoundVoiceSettings_SetMixBinVolumes + { + (OOVPA*)&CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundVoice_SetMixBinVolumes + { + (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundBuffer_SetMixBinVolumes + { + (OOVPA*)&CDirectSoundBuffer_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBinVolumes (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetMixBinVolumes + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBinVolumes" + #endif + }, + // CDirectSound::SetPositionA (XREF) + { + (OOVPA*)&CDirectSound_SetPositionA_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetPositionA (XRef)" + #endif + }, + // CDirectSound::SetPositionA (XREF) + // TODO: Find a cure for laziness... + { + (OOVPA*)&CDirectSound_SetPositionA_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetPositionA_4432 (XRef)" + #endif + }, + // IDirectSound8::SetPosition (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetPosition_1_0_3936, + + XTL::EmuIDirectSound8_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetPosition" + #endif + }, + // DirectSoundCreateBuffer + { + (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, + + XTL::EmuDirectSoundCreateBuffer, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateBuffer" + #endif + }, + // IDirectSound8::CreateSoundBuffer + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // IDirectSound8::AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_AddRef_1_0_3936, + + XTL::EmuIDirectSound8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_AddRef" + #endif + }, + // CDirectSoundVoice::SetFrequency (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice_SetFrequency (XRef)" + #endif + }, + // CDirectSoundBuffer::SetFrequency + { + (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundBuffer_SetFrequency (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetFrequency + { + (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetFrequency" + #endif + }, + // CMcpxVoiceClient_SetVolume + { + (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetVolume (XREF)" + #endif + }, + // CDirectSoundStream_SetVolume + { + (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, + + XTL::EmuCDirectSoundStream_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetVolume" + #endif + }, + // IDirectSoundBuffer8::LockA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_LockA_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_LockA (XRef)" + #endif + }, + // IDirectSoundBuffer8::Lock (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_Lock_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Lock" + #endif + }, + // CDirectSound_CreateSoundStream (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // IDirectSound8_CreateStream + { + (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, + + XTL::EmuIDirectSound8_CreateStream, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateStream" + #endif + }, + // DirectSoundCreateStream (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreateStream_1_0_4361, + + XTL::EmuDirectSoundCreateStream, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateStream" + #endif + }, + // CMcpxStream::Pause (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxStream_Pause_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxStream_Pause (XREF)" + #endif + }, + // CMcpxStream::Pause + { + (OOVPA*)&CMcpxStream_Pause_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "CMcpxStream_Pause_4928 (XREF)" + #endif + }, + // CDirectSoundStream::Pause (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_Pause" + #endif + }, + // CMcpxBuffer::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetBufferData (XREF)" + #endif + }, + // CDirectSoundBuffer::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferData" + #endif + }, + // CMcpxBuffer::GetStatus + { + (OOVPA*)&CMcpxBuffer_GetStatus_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetStatus (XREF)" + #endif + }, + // CMcpxBuffer::GetStatus + { + (OOVPA*)&CMcpxBuffer_GetStatus_1_0_4721, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetStatus_4721 (XREF)" + #endif + }, + // CMcpxBuffer::GetStatus + /*{ + (OOVPA*)&CMcpxBuffer_GetStatus_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetStatus_4928 (XREF)" + #endif + },*/ + // CMcpxBuffer::GetStatusB + { + (OOVPA*)&CMcpxBuffer_GetStatusB_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetStatusB (XREF)" + #endif + }, + // CDirectSoundBuffer::GetStatus + { + (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetStatus (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetStatus + { + (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_GetStatus, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_GetStatus" + #endif + }, + // CMcpxBuffer::SetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::SetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetCurrentPosition" + #endif + }, + // CMcpxBuffer::GetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::GetCurrentPosition (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_GetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetCurrentPosition (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_GetCurrentPosition" + #endif + }, + // CDirectSound::GetSpeakerConfig + { + (OOVPA*)&CDirectSound_GetSpeakerConfig_1_0_4627, + + XTL::EmuCDirectSound_GetSpeakerConfig, + + #ifdef _DEBUG_TRACE + "CDirectSound_GetSpeakerConfig" + #endif + }, + // CMcpxBuffer::Play (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_Play_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play (XREF)" + #endif + }, + // CMcpxBuffer::Play + { + (OOVPA*)&CMcpxBuffer_Play_1_0_4721, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play_4721 (XREF)" + #endif + }, + // CMcpxBuffer::Play + { + (OOVPA*)&CMcpxBuffer_Play_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play (XREF)" + #endif + }, + // CDirectSoundBuffer::Play (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_Play_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_Play (XREF)" + #endif + }, + // IDirectSoundBuffer8::Play (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_Play_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_Play, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Play" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, + + XTL::EmuIDirectSound8_SetOrientation, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetOrientation" + #endif + }, + // CDirectSound::SetDistanceFactorA (XREF) + { + (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4531, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDistanceFactorA (XRef) (4531)" + #endif + }, + // CDirectSound::SetDistanceFactorA (XREF) + { + (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDistanceFactorA (XRef)" + #endif + }, + // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, + + XTL::EmuIDirectSound8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDistanceFactor" + #endif + }, + // CDirectSound::SetRolloffFactor (XREF) + { + (OOVPA*)&CDirectSound_SetRolloffFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetRolloffFactor (XRef)" + #endif + }, + // IDirectSound8::SetRolloffFactor + { + (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetRolloffFactor" + #endif + }, + // CDirectSound::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_4531, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDopplerFactor (XRef) (4531)" + #endif + }, + // CDirectSound::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDopplerFactor (XRef)" + #endif + }, + // IDirectSound8::SetDopplerFactor + { + (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDopplerFactor" + #endif + }, + // CDirectSound::CommitDeferredSettings (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432, + + XTL::EmuCDirectSound_CommitDeferredSettings, + + #ifdef _DEBUG_TRACE + "EmuCDirectSound_CommitDeferredSettings" + #endif + }, + // CDirectSoundVoice::SetMaxDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMaxDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMaxDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMaxDistance (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMaxDistance (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_4432, + XTL::EmuIDirectSoundBuffer8_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMaxDistance" + #endif + }, + // CDirectSoundVoice::SetMinDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMinDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMinDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMinDistance (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMinDistance (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_4432, + XTL::EmuIDirectSoundBuffer8_SetMinDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMinDistance" + #endif + }, + // s+ + // CDirectSoundVoice::SetRolloffFactor (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetRolloffFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetRolloffFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetRolloffFactor (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetRolloffFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetRolloffFactor (XRef)" + #endif + }, + // IDirectSoundBuffer_SetRolloffFactor + { + (OOVPA*)&IDirectSoundBuffer_SetRolloffFactor_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetRolloffFactor" + #endif + }, + // CDirectSoundVoice::SetDistanceFactor (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetDistanceFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetDistanceFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetDistanceFactor (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetDistanceFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetDistanceFactor (XRef)" + #endif + }, + // IDirectSoundBuffer_SetDistanceFactor + { + (OOVPA*)&IDirectSoundBuffer_SetDistanceFactor_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetDistanceFactor" + #endif + }, + // CDirectSoundVoice::SetConeAngles (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetConeAngles_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetConeAngles (XRef)" + #endif + }, + // CDirectSoundBuffer::SetConeAngles (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetConeAngles_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetConeAngles (XRef)" + #endif + }, + // IDirectSoundBuffer_SetConeAngles + { + (OOVPA*)&IDirectSoundBuffer_SetConeAngles_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetConeAngles, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetConeAngles" + #endif + }, + // CDirectSoundVoice::SetConeOrientation (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetConeOrientation_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetConeOrientation (XRef)" + #endif + }, + // CDirectSoundBuffer::SetConeOrientation (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetConeOrientation_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetConeOrientation (XRef)" + #endif + }, + // IDirectSoundBuffer_SetConeOrientation + { + (OOVPA*)&IDirectSoundBuffer_SetConeOrientation_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetConeOrientation, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetConeOrientation" + #endif + }, + // CDirectSoundVoice::SetConeOutsideVolume (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetConeOutsideVolume_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetConeOutsideVolume (XRef)" + #endif + }, + // CDirectSoundBuffer::SetConeOutsideVolume (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetConeOutsideVolume_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetConeOutsideVolume (XRef)" + #endif + }, + // IDirectSoundBuffer_SetConeOutsideVolume + { + (OOVPA*)&IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetConeOutsideVolume, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetConeOutsideVolume" + #endif + }, + // CDirectSoundVoice::SetPosition (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetPosition (XRef)" + #endif + }, + // CDirectSoundBuffer::SetPosition (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPosition (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936, + XTL::EmuIDirectSoundBuffer8_SetPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetPosition" + #endif + }, + // CDirectSoundVoice::SetVelocity (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetVelocity_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVelocity (XRef)" + #endif + }, + // CDirectSoundBuffer::SetVelocity (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVelocity (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936, + XTL::EmuIDirectSoundBuffer8_SetVelocity, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetVelocity" + #endif + }, + // CDirectSoundVoice::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetDopplerFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetDopplerFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetDopplerFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetDopplerFactor (XRef)" + #endif + }, + // IDirectSoundBuffer_SetDopplerFactor + { + (OOVPA*)&IDirectSoundBuffer_SetDopplerFactor_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetDopplerFactor" + #endif + }, + // CDirectSoundVoice::SetI3DL2Source (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetI3DL2Source_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetI3DL2Source (XRef)" + #endif + }, + // CDirectSoundBuffer::SetI3DL2Source (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetI3DL2Source_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetI3DL2Source (XRef)" + #endif + }, + // IDirectSoundBuffer_SetI3DL2Source + { + (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetI3DL2Source" + #endif + }, + // IDirectSoundBuffer_Stop (Possibly weak, but quite OK for 4627 DSOUND) + { + (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, + XTL::EmuIDirectSoundBuffer8_Stop, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Stop" + #endif + }, + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Release" + #endif + }, + // +s + // DirectSound::CDirectSoundVoice::SetFormat (XREF) + { + (OOVPA*)&X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoice::SetFormat (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetFormat (XREF) + { + (OOVPA*)&X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::SetFormat (XREF)" + #endif + }, + // IDirectSoundBuffer_SetFormat + { + (OOVPA*)&X_IDirectSoundBuffer_SetFormat_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetFormat, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetFormat" + #endif + + }, + // CDirectSoundStream_SetMixBinVolumes + { + (OOVPA*)&CDirectSoundStream_SetMixBinVolumes_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetMixBinVolumes (XREF)" + #endif + }, + // DirectSound::CDirectSound::EnableHeadphones (XREF) + { + (OOVPA*)&X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::EnableHeadphones (XREF)" + #endif + }, + // EmuIDirectSound_EnableHeadphones + { + (OOVPA*)&EmuIDirectSound_EnableHeadphones_1_0_4627, + XTL::EmuIDirectSound_EnableHeadphones, + + #ifdef _DEBUG_TRACE + "IDirectSound_EnableHeadphones" + #endif + }, + // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) + //{ + // (OOVPA*)&CDirectSoundVoice_SetHeadroom_1_0_4627, + // 0, + + // #ifdef _DEBUG_TRACE + // "CDirectSoundVoice::SetHeadroom (XREF)" + // #endif + //}, + //// CDirectSoundStream_SetHeadroom (XREF) + //{ + // (OOVPA*)&CDirectSoundStream_SetHeadroom_1_0_4627, + // XTL::EmuIDirectSoundStream_SetHeadroom, + + // #ifdef _DEBUG_TRACE + // "IDirectSoundStream_SetHeadroom" + // #endif + //}, + // IDirectSoundBuffer_AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_AddRef, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_AddRef" + #endif + }, + // CDirectSound_GetOutputLevels (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_GetOutputLevels_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_GetOutputLevels (XREF)" + #endif + }, + // IDirectSound8_GetOutputLevels + { + (OOVPA*)&IDirectSound_GetOutputLevels_1_0_4627, + + XTL::EmuIDirectSound8_GetOutputLevels, + + #ifdef _DEBUG_TRACE + "IDirectSound_GetOutputLevels" + #endif + }, + // CDirectSoundVoice::SetAllParameters (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetAllParameters (XREF)" + #endif + }, + // CDirectSoundBuffer::SetAllParameters (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetAllParameters (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetAllParameters + { + (OOVPA*)&IDirectSoundBuffer8_SetAllParameters_1_0_4627, + + XTL::EmuIDirectSound8_SetAllParameters, // Use that for now, EmuIDirectSoundBuffer8_SetAllParameters, + // ^ Okay, it's your call pal... + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetAllParameters" + #endif + }, + // DirectSound_CMcpxBuffer_Pause_1_0_4928 + { + (OOVPA*)&DirectSound_CMcpxBuffer_Pause_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer::Pause_4928 (XREF)" + #endif + }, + // CDirectSoundBuffer::Pause + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_Pause_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::Pause_4928 (XREF)" + #endif + }, + // IDirectSoundBuffer8_Pause + { + (OOVPA*)&IDirectSoundBuffer_Pause_1_0_4928, + + XTL::EmuIDirectSoundBuffer8_Pause, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Pause_4928 (XREF)" + #endif + }, + // DirectSound::CMcpxBuffer::GetStatus (XREF) + { + (OOVPA*)&DirectSound_CMcpxBuffer_GetStatus_1_0_4721, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CMcpxBuffer::GetStatus (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::GetStatus (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_GetStatus_1_0_4721, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::GetStatus (XREF)" + #endif + }, + // IDirectSoundBuffer_GetStatus + { + (OOVPA*)&IDirectSoundBuffer_GetStatus_1_0_4721, + XTL::EmuIDirectSoundBuffer8_GetStatus, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_GetStatus" + #endif + }, + // CDirectSoundStream::SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBins_1_0_4627, + + XTL::EmuCDirectSoundStream_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetMixBins" + #endif + }, + // CMcpxVoiceClient::SetEG + { + (OOVPA*)&DirectSound_CMcpxVoiceClient_SetEG_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetEG (XREF)" + #endif + }, + // CDirectSoundVoice::SetEG (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetEG_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetEG (XREF)" + #endif + }, + // DirectSound::CDirectSoundStream::SetEG + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetEG_1_0_4627, + + XTL::EmuCDirectSoundStream_SetEG, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream::SetEG" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetEG (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetEG_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetEG (XREF)" + #endif + }, + // IDirectSoundBuffer::SetEG + { + (OOVPA*)&IDirectSoundBuffer_SetEG_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetEG, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer::SetEG" + #endif + }, + // CDirectSoundStream::FlushEx (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_FlushEx_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::FlushEx (XREF)" + #endif + }, + // IDirectSoundStream_FlushEx + { + (OOVPA*)&IDirectSoundStream_FlushEx_1_0_4627, + XTL::EmuIDirectSoundStream_FlushEx, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundStream_FlushEx" + #endif + }, + // XAudioDownloadEffectsImage + { + (OOVPA*)&XAudioDownloadEffectsImage_1_0_4627, + XTL::EmuXAudioDownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuXAudioDownloadEffectsImage" + #endif + }, + // CDirectSoundVoice::SetMode (XRef) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetMode_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMode (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMode (XRef) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMode_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMode (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMode + { + (OOVPA*)&IDirectSoundBuffer8_SetMode_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetMode, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMode" + #endif + }, + // DirectSound::CMcpxVoiceClient::SetFilter (XREF) + { + (OOVPA*)&DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetFilter (XREF)" + #endif + }, + // DirectSound::CDirectSoundVoice::SetFilter (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetFilter_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoice::SetFilter (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetFilter (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetFilter_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::SetFilter (XREF)" + #endif + }, + // DirectSound::CDirectSoundStream::SetFilter (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetFilter_1_0_4627, + XTL::EmuCDirectSoundStream_SetFilter, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundStream::SetFilter (XREF)" + #endif + }, + // IDirectSoundBuffer_SetFilter + { + (OOVPA*)&IDirectSoundBuffer_SetFilter_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetFilter, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetFilter" + #endif + }, + // DirectSound::CDirectSoundBuffer::PlayEx (XREF) (* unchanged since 4361 *) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" + #endif + }, + // IDirectSoundBuffer_PlayEx (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_4361, + XTL::EmuIDirectSoundBuffer8_PlayEx, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_PlayEx" + #endif + }, + // CMcpxBuffer_Stop2 + { + (OOVPA*)&CMcpxBuffer_Stop2_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Stop2 (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::StopEx (XREF) (* unchanged since 4361 *) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_4361, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::StopEx (XREF)" + #endif + }, + // IDirectSoundBuffer_StopEx (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer_StopEx_1_0_4361, + XTL::EmuIDirectSoundBuffer8_StopEx, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer_StopEx" + #endif + }, + // CDirectSound::SetVelocity (XREF) + { + (OOVPA*)&CDirectSound_SetVelocity_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetVelocityA_4432 (XRef)" + #endif + }, + // CDirectSoundVoice::SetPosition (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetPosition_4432 (XRef)" + #endif + }, + // CDirectSoundVoice::SetPitch + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetPitch_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetPitch (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetPitch + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetPitch_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPitch (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetPitch + { + (OOVPA*)&IDirectSoundBuffer8_SetPitch_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetPitch, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPitch" + #endif + }, + // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetHeadroom (XREF) ***FOUND IT***" + #endif + }, + // CDirectSoundStream_SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627, + XTL::EmuIDirectSoundStream_SetHeadroom, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetHeadroom ***FOUND IT***" + #endif + }, + // CDirectSoundVoice::SetOutputBuffer + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetOutputBuffer (XREF)" + #endif + }, + // CDirectSoundBuffer::SetOutputBuffer + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetOutputBuffer_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetOutputBuffer (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetOutputBuffer + { + (OOVPA*)&IDirectSoundBuffer_SetOutputBuffer_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetOutputBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPitch" + #endif + }, + // CDirectSoundStream::SetOutputBuffer + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627, + + XTL::EmuCDirectSoundStream_SetOutputBuffer, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetOutputBuffer" + #endif + }, + // CDirectSoundVoice::SetRolloffCurve (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetRolloffCurve (XREF)" + #endif + + }, + // CDirectSoundBuffer::SetRolloffCurve (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetRolloffCurve_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetRolloffCurve (XREF)" + #endif + }, + // CDirectSoundStream::SetRolloffCurve (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetRolloffCurve" + #endif + }, + // IDirectSoundBuffer8::SetRolloffCurve + { + (OOVPA*)&IDirectSoundBuffer_SetRolloffCurve_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetRolloffCurve, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetRolloffCurve" + #endif + }, + // XFileCreateMediaObjectEx + { + (OOVPA*)&XFileCreateMediaObjectEx_1_0_4627, + + XTL::EmuXFileCreateMediaObjectEx, + + #ifdef _DEBUG_TRACE + "XFileCreateMediaObjectEx" + #endif + }, + // XWaveFileCreateMediaObject + { + (OOVPA*)&XWaveFileCreateMediaObject_1_0_4627, + + XTL::EmuXWaveFileCreateMediaObject, + + #ifdef _DEBUG_TRACE + "XWaveFileCreateMediaObject" + #endif + }, + // CDirectSoundBuffer::SetNotificationPosition (XREF) + //{ + // (OOVPA*)&DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627, 0, + + // #ifdef _DEBUG_TRACE + // "CDirectSoundBuffer::SetNotificationPositions (XREF)" + // #endif + //}, + //// IDirectSoundBuffer8::SetNotificationPositions + //{ + // (OOVPA*)&IDirectSoundBuffer_SetNotificationPositions_1_0_4627, 0, + + // #ifdef _DEBUG_TRACE + // "EmuIDirectSoundBuffer8_SetNotificationPositions" + // #endif + //}, +}; + +// ****************************************************************** +// * DSound_1_0_4627_SIZE +// ****************************************************************** +uint32 DSound_1_0_4627_SIZE = sizeof(DSound_1_0_4627); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.h new file mode 100644 index 000000000..3de31dc4a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.5233.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_5233_H +#define DSOUND_1_0_5233_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_5233[]; +extern uint32 DSOUND_1_0_5233_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.inl new file mode 100644 index 000000000..53dfb7492 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5233.inl @@ -0,0 +1,1977 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.5233.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * DirectSound::CDirectSound::EnableHeadphones +// ****************************************************************** +SOOVPA<8> CDirectSound_EnableHeadphones_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSENABLEHEADPHONES, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x16, 0x45 }, // (Offset,Value)-Pair #1 + { 0x1D, 0x0B }, // (Offset,Value)-Pair #2 + { 0x2A, 0x05 }, // (Offset,Value)-Pair #3 + { 0x46, 0x95 }, // (Offset,Value)-Pair #4 + { 0x56, 0x80 }, // (Offset,Value)-Pair #5 + { 0x5D, 0x7F }, // (Offset,Value)-Pair #6 + { 0x74, 0xA4 }, // (Offset,Value)-Pair #7 + { 0x99, 0x08 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirectSound8_EnableHeadphones +// ****************************************************************** +SOOVPA<8> IDirectSound8_EnableHeadphones_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x15, XREF_DSENABLEHEADPHONES }, // (Offset,Value)-Pair #1 + + // IDirectSound8_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x0C, 0xF8 }, // (Offset,Value)-Pair #4 + + // IDirectSound8_EnableHeadphones+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_EnableHeadphones+0x19 : retn 0x08 + { 0x19, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x1A, 0x08 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CDirectSoundStream_FlushEx +// ****************************************************************** +SOOVPA<11> CDirectSoundStream_FlushEx_1_0_5233 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSFLUSHEX2, // XRef Is Saved + 0, // XRef Not Used + + { + { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x25, 0x05 }, // (Offset,Value)-Pair #2 + { 0x26, 0x40 }, // (Offset,Value)-Pair #3 + { 0x27, 0x00 }, // (Offset,Value)-Pair #4 + { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + + { 0x36, 0x74 }, // (Offset,Value)-Pair #6 + { 0x37, 0x12 }, // (Offset,Value)-Pair #7 + + { 0x3E, 0xFF }, // (Offset,Value)-Pair #8 + { 0x40, 0x0C }, // (Offset,Value)-Pair #9 + + { 0x67, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x68, 0x10 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_StopEx +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_StopEx_1_0_5233 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x11, XREF_DSFLUSHEX2 }, // (Offset,Value)-Pair #1 + + { 0x00, 0xFF }, // (Offset,Value)-Pair #2 + { 0x03, 0x10 }, // (Offset,Value)-Pair #3 + + { 0x04, 0xFF }, // (Offset,Value)-Pair #4 + { 0x07, 0x10 }, // (Offset,Value)-Pair #5 + + { 0x08, 0xFF }, // (Offset,Value)-Pair #6 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #7 + + { 0x15, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x16, 0x10 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * CMcpxStream_Pause +// ****************************************************************** +SOOVPA<11> CMcpxStream_Pause_1_0_5233 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMPAUSE, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxStream_Pause+0x17 : and ax, 0xFFDF + { 0x17, 0x66 }, // (Offset,Value)-Pair #1 + { 0x18, 0x25 }, // (Offset,Value)-Pair #2 + { 0x19, 0xDF }, // (Offset,Value)-Pair #3 + + // CMcpxStream_Pause+0x32 : jmp +0x56 + { 0x32, 0xEB }, // (Offset,Value)-Pair #4 + { 0x33, 0x56 }, // (Offset,Value)-Pair #5 + + // CMcpxStream_Pause+0x39 : movzx eax, word ptr [esi+0x12] + { 0x39, 0x0F }, // (Offset,Value)-Pair #6 + { 0x3A, 0xB7 }, // (Offset,Value)-Pair #7 + { 0x3B, 0x46 }, // (Offset,Value)-Pair #8 + { 0x3C, 0x12 }, // (Offset,Value)-Pair #9 + + // CMcpxStream_Pause+0x8B : retn 0x04 + { 0x8B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// CMcpxAPU::SynchPlayback +// ****************************************************************** +SOOVPA<8> CMcpxAPU_SynchPlayback_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSYNCHPLAYBACKB, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x0C, 0x74 }, // (Offset,Value)-Pair #1 + { 0x1A, 0x1A }, // (Offset,Value)-Pair #2 + { 0x25, 0x53 }, // (Offset,Value)-Pair #3 + { 0x37, 0xF2 }, // (Offset,Value)-Pair #4 + { 0x58, 0xBC }, // (Offset,Value)-Pair #5 + { 0x84, 0x43 }, // (Offset,Value)-Pair #6 + { 0x9E, 0x64 }, // (Offset,Value)-Pair #7 + { 0xFF, 0x00 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CDirectSound::SynchPlayback +// ****************************************************************** +SOOVPA<10> CDirectSound_SynchPlayback_1_0_5233 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DSSYNCHPLAYBACKA, // Xref Is Saved + 1, // Xref Not Used + + { + { 0x08, XREF_DSSYNCHPLAYBACKB }, // (Offset,Value)-Pair #1 + + // CDirectSound_SynchPlayback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x44 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SynchPlayback+0x04 : mov ecx, [eax+0x0C] + { 0x04, 0x8B }, // (Offset,Value)-Pair #6 + { 0x05, 0x48 }, // (Offset,Value)-Pair #7 + { 0x06, 0x0C }, // (Offset,Value)-Pair #8 + + // CDirectSound_SynchPlayback+0x0C : retn 0x04 + { 0x0C, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x04 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * IDirectSound8::SynchPlayback +// ****************************************************************** +SOOVPA<8> IDirectSound8_SynchPlayback_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x11, XREF_DSSYNCHPLAYBACKA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_SynchPlayback+0x06 : add eax, 0xFFFFFFF8 + { 0x06, 0x83 }, // (Offset,Value)-Pair #2 + { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x08, 0xF8 }, // (Offset,Value)-Pair #4 + + // IDirectSound8_SynchPlayback+0x0B : sbb ecx, ecx + { 0x0B, 0x1B }, // (Offset,Value)-Pair #5 + { 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_SynchPlayback+0x15 : retn 0x04 + { 0x15, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x16, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetFormat +// ****************************************************************** +SOOVPA<8> X_DirectSound_CDirectSoundVoice_SetFormat_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x06, 0x4E }, + { 0x0E, 0xE8 }, + { 0x18, 0x4E }, + { 0x25, 0xFF }, + { 0x2E, 0x0C }, + { 0x34, 0x85 }, + { 0x38, 0x8B }, + { 0x43, 0x00 }, + } +}; + +// ****************************************************************** +// CDirectSoundVoice::SetMode +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetMode_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETMODEB, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x00, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x07, 0x24 }, // (Offset,Value)-Pair #2 + { 0x0B, 0x10 }, // (Offset,Value)-Pair #3 + { 0x0E, 0xB4 }, // (Offset,Value)-Pair #4 + { 0x18, 0x3C }, // (Offset,Value)-Pair #5 + { 0x1A, 0x06 }, // (Offset,Value)-Pair #6 + { 0x21, 0x33 }, // (Offset,Value)-Pair #7 + { 0x24, 0x0C }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// CDirectSoundBuffer::SetMode +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetMode_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETMODEA, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x36, XREF_DSBUFFERSETMODEB }, // (Offset,Value)-Pair #1 + + { 0x01, 0xE8 }, // (Offset,Value)-Pair #2 + { 0x15, 0x0B }, // (Offset,Value)-Pair #3 + { 0x22, 0x05 }, // (Offset,Value)-Pair #4 + { 0x27, 0x26 }, // (Offset,Value)-Pair #5 + { 0x34, 0x14 }, // (Offset,Value)-Pair #6 + { 0x3F, 0x0B }, // (Offset,Value)-Pair #7 + { 0x50, 0x0C }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetMode +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetMode_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x19, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1 + + // IDirectSound8_EnableHeadphones+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, // (Offset,Value)-Pair #2 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x10, 0xE4 }, // (Offset,Value)-Pair #4 + + // IDirectSound8_EnableHeadphones+0x13 : sbb ecx, ecx + { 0x13, 0x1B }, // (Offset,Value)-Pair #5 + { 0x14, 0xC9 }, // (Offset,Value)-Pair #6 + + // IDirectSound8_EnableHeadphones+0x19 : retn 0x0C + { 0x1D, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x1E, 0x0C }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetVolume +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetVolume_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x15, XREF_DSSTREAMSETVOLUME }, + + { 0x02, 0x24 }, + { 0x06, 0x10 }, + { 0x0A, 0x08 }, + { 0x0E, 0x89 }, + { 0x12, 0x49 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetVolume +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetVolume_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8::SetVolume +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetVolume_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundStream::SetVolume +// ****************************************************************** +SOOVPA<9> CDirectSoundStream_SetVolume_1_0_5233 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetVolume }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * CDirectSoundStream::SetFrequency +// ****************************************************************** +SOOVPA<8> CDirectSoundStream_SetFrequency_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x36, XREF_DSBUFFERSETFREQUENCYB }, + + { 0x0E, 0xB6 }, + { 0x15, 0x0B }, + { 0x27, 0x26 }, + { 0x2A, 0x24 }, + { 0x3E, 0x74 }, + { 0x4D, 0x5F }, + { 0x50, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundStream::SetMixBins +// ****************************************************************** +SOOVPA<8> CDirectSoundStream_SetMixBins_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + { 0x36, XREF_DSSETMIXBINSB }, + + { 0x0E, 0xB6 }, + { 0x15, 0x0B }, + { 0x27, 0x26 }, + { 0x2A, 0x24 }, + { 0x3E, 0x74 }, + { 0x4D, 0x5F }, + { 0x50, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetRolloffCurve +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetRolloffCurve_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSVOICESETROLLOFFCURVE, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x07, 0x8B }, + { 0x10, 0x08 }, + { 0x12, 0x51 }, + { 0x19, 0xB4 }, + { 0x22, 0x51 }, + { 0x2B, 0x00 }, + { 0x34, 0x10 }, + { 0x3E, 0x33 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetRolloffCurve +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetRolloffCurve_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETROLLOFFCURVE, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3A, XREF_DSVOICESETROLLOFFCURVE }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetRolloffCurve +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetRolloffCurve_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSBUFFERSETROLLOFFCURVE }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMaxDistance +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x3C }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; +// ****************************************************************** +// * CDirectSoundBuffer::SetMaxDistance +// ****************************************************************** +SOOVPA<11> CDirectSoundBuffer_SetMaxDistance_1_0_5344 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETMAXDISTANCE, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] + { 0x3A, XREF_DSVOICESETMAXDISTANCE }, + + { 0x00, 0x56 }, + // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetMaxDistance+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetMaxDistance+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMaxDistance +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5344 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] + { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, + + { 0x00, 0xFF }, + // IDirectSoundBuffer_SetMaxDistance+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMaxDistance+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetMaxDistance+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMinDistance +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETMINDISTANCE, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x38 }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; +// ****************************************************************** +// * CDirectSoundBuffer::SetMinDistance +// ****************************************************************** +SOOVPA<11> CDirectSoundBuffer_SetMinDistance_1_0_5344 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETMINDISTANCE, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] + { 0x3A, XREF_DSVOICESETMINDISTANCE }, + + { 0x00, 0x56 }, + // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetMinDistance+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetMinDistance+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMinDistance +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x24 }, + { 0x3A, 0x1C }, + { 0x46, 0x74 }, + { 0x53, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMinDistance +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5344 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] + { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, + + { 0x00, 0xFF }, + // IDirectSoundBuffer_SetMinDistance+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMinDistance+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetMinDistance+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetI3DL2Listener +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETI3DL2LISTENER, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0x15 }, + { 0x3E, 0x88 }, + { 0x5E, 0x41 }, + { 0x7E, 0x00 }, + { 0x9E, 0x08 }, + { 0xBE, 0x41 }, + { 0xDE, 0x00 }, + { 0xFE, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetI3DL2Listener +// ****************************************************************** +SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_5344 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETI3DL2LISTENER }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetRolloffFactor +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5344 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_SETROLLOFFFACTORA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x08 }, + { 0x35, 0x70 }, + { 0x3A, 0x48 }, + { 0x4A, 0x85 }, + { 0x53, 0xFF }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetRolloffFactor +// ****************************************************************** +SOOVPA<8> IDirectSound_SetRolloffFactor_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_SETROLLOFFFACTORA }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetDistanceFactor +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5344 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETDISTANCEFACTOR, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x44 }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetDistanceFactor +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetDistanceFactor_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETDISTANCEFACTOR, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3A, XREF_DSVOICESETDISTANCEFACTOR }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetDistanceFactor +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSBUFFERSETDISTANCEFACTOR }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetDistanceFactor +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSound_SetDistanceFactor_1_0_5344 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_SETDISTANCEFACTORA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x08 }, + { 0x35, 0x6C }, + { 0x3A, 0x48 }, + { 0x4A, 0x85 }, + { 0x53, 0xFF }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetDistanceFactor +// ****************************************************************** +SOOVPA<8> IDirectSound_SetDistanceFactor_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_SETDISTANCEFACTORA }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetDopplerFactor +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5344 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_SETDOPPLERFACTOR, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x08 }, + { 0x35, 0x74 }, + { 0x3A, 0x48 }, + { 0x4A, 0x85 }, + { 0x53, 0xFF }, + { 0x5E, 0x00 }, + } +}; + + +// ****************************************************************** +// * IDirectSound_SetDopplerFactor +// ****************************************************************** +SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_SETDOPPLERFACTOR }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * Direct_1_0_5233 +// ****************************************************************** +OOVPATable DSound_1_0_5233[] = +{ + // DirectSoundCreate (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreate_1_0_4361, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // DirectSoundDoWork (* unchanged since 4627 *) + { + (OOVPA*)&DirectSoundDoWork_1_0_4627, + + XTL::EmuDirectSoundDoWork, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundDoWork" + #endif + }, + // CDirectSound::CreateSoundBuffer (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundBuffer (XREF)" + #endif + }, + // CMcpxAPU::SynchPlayback (XRef) + { + (OOVPA*)&CMcpxAPU_SynchPlayback_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CMcpxAPU::SynchPlayback (XRef)" + #endif + }, + // CDirectSound::SynchPlayback (XRef) + { + (OOVPA*)&CDirectSound_SynchPlayback_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SynchPlayback (XRef)" + #endif + }, + // IDirectSound_SynchPlayback + { + (OOVPA*)&IDirectSound8_SynchPlayback_1_0_5233, + + XTL::EmuIDirectSound8_SynchPlayback, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SynchPlayback" + #endif + }, + // CMcpxStream::Pause (XRef) + { + (OOVPA*)&CMcpxStream_Pause_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CMcpxStream_Pause (XRef)" + #endif + }, + // CDirectSoundStream::Pause (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_Pause" + #endif + }, + // CDirectSound_SetI3DL2Listener (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_4432, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // CDirectSound::SetVelocity (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSound_SetVelocity_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetVelocityA (XREF)" + #endif + }, + // IDirectSound8::SetVelocity (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetVelocity_1_0_3936, + + XTL::EmuIDirectSound8_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetVelocity" + #endif + }, + // CDirectSoundVoiceSettings::SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBins (XREF)" + #endif + }, + // CDirectSoundVoice::SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBins (XREF)" + #endif + }, + // CDirectSoundBuffer::SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBins (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetMixBins (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432, + + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBins" + #endif + }, + // CDirectSoundStream::SetMixBins + { + (OOVPA*)&CDirectSoundStream_SetMixBins_1_0_5233, + + XTL::EmuCDirectSoundStream_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetMixBins" + #endif + }, + // CDirectSound::SetPositionA (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSound_SetPositionA_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetPositionA (XREF)" + #endif + }, + // IDirectSound8::SetPosition (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetPosition_1_0_3936, + + XTL::EmuIDirectSound8_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetPosition" + #endif + }, + // DirectSoundCreateBuffer (* unchanged since 4627 *) + { + (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, + + XTL::EmuDirectSoundCreateBuffer, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateBuffer" + #endif + }, + // IDirectSound8::CreateSoundBuffer (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // CDirectSoundVoice::SetFrequency (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetFrequency (XREF)" + #endif + }, + // CDirectSoundBuffer::SetFrequency (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundBuffer::SetFrequency (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetFrequency (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetFrequency" + #endif + }, + // CDirectSoundStream::SetFrequency + { + (OOVPA*)&CDirectSoundStream_SetFrequency_1_0_5233, + + XTL::EmuCDirectSoundStream_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetFrequency" + #endif + }, + // CMcpxVoiceClient_SetVolume (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetVolume (XREF)" + #endif + }, + // CDirectSoundVoice::SetVolume (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetVolume_1_0_5233,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVolume (XREF)" + #endif + }, + // CDirectSoundBuffer::SetVolume (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetVolume_1_0_5233,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVolume (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetVolume + { + (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_5233, + + XTL::EmuIDirectSoundBuffer8_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuIIDirectSoundBuffer8_SetVolume" + #endif + }, + // CDirectSoundStream_SetVolume (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, + + XTL::EmuCDirectSoundStream_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetVolume" + #endif + }, + // IDirectSoundBuffer8::LockA (XREF) + { + (OOVPA*)&IDirectSoundBuffer8_LockA_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_LockA (XRef)" + #endif + }, + // IDirectSoundBuffer8::Lock (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_Lock_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Lock" + #endif + }, + // CDirectSound_CreateSoundStream (XREF) (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // DirectSoundCreateStream (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreateStream_1_0_4361, + + XTL::EmuDirectSoundCreateStream, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateStream" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // CMcpxBuffer::SetBufferData (XREF) (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer::SetBufferData (XREF)" + #endif + }, + // CDirectSoundBuffer::SetBufferData (XREF) (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetBufferData" + #endif + }, + // CMcpxBuffer::GetStatusB (XRef) (* unchanged since 4627 *) + { + (OOVPA*)&CMcpxBuffer_GetStatusB_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetStatusB (XRef)" + #endif + }, + // CDirectSoundBuffer::GetStatus (XRef) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetStatus (XRef)" + #endif + }, + // IDirectSoundBuffer8::GetStatus (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_GetStatus, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_GetStatus" + #endif + }, + // CMcpxBuffer::GetCurrentPosition (XRef) (* unchanged since 4361 *) + { + (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetCurrentPosition (XRef)" + #endif + }, + // CMcpxBuffer::Play (XREF) (* unchanged since 4928 *) + { + (OOVPA*)&CMcpxBuffer_Play_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer::Play (XREF)" + #endif + }, + // CDirectSoundBuffer::Play (XREF) (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_Play_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::Play (XREF)" + #endif + }, + // IDirectSoundBuffer8::Play (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_Play_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_Play, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Play" + #endif + }, + // CDirectSoundStream::FlushEx (XREF) + { + (OOVPA*)&CDirectSoundStream_FlushEx_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::FlushEx (XREF)" + #endif + }, + // IDirectSoundBuffer8::StopEx + { + (OOVPA*)&IDirectSoundBuffer8_StopEx_1_0_5233, + + XTL::EmuIDirectSoundBuffer8_StopEx, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_StopEx" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // DirectSound::CDirectSound::EnableHeadphones (XRef) + { + (OOVPA*)&CDirectSound_EnableHeadphones_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSound::EnableHeadphones (XRef)" + #endif + }, + // IDirectSound8::EnableHeadphones + { + (OOVPA*)&IDirectSound8_EnableHeadphones_1_0_5233, + + XTL::EmuIDirectSound8_EnableHeadphones, + + #ifdef _DEBUG_TRACE + "IDirectSound8_EnableHeadphones" + #endif + }, + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, + + XTL::EmuIDirectSound8_SetOrientation, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetOrientation" + #endif + }, + // CDirectSound::SetDistanceFactorA (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetDistanceFactor_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetDistanceFactorA (XREF) (5344)@" + #endif + }, + // IDirectSound8::SetDistanceFactor + { + (OOVPA*)&IDirectSound_SetDistanceFactor_1_0_5344, + + XTL::EmuIDirectSound8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDistanceFactor (5344)@" + #endif + }, + // CDirectSound::SetDistanceFactorA (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetDistanceFactorA (XREF)" + #endif + }, + // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, + + XTL::EmuIDirectSound8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDistanceFactor" + #endif + }, + // CDirectSound::SetRolloffFactor (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSound_SetRolloffFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetRolloffFactor (XREF)" + #endif + }, + // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetRolloffFactor" + #endif + }, + // CDirectSound::SetDopplerFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetDopplerFactor_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetDopplerFactor (XREF) (5344)@@" + #endif + }, + // IDirectSound8::SetDopplerFactor + { + (OOVPA*)&IDirectSound_SetDopplerFactor_1_0_5344, + + XTL::EmuIDirectSound8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDopplerFactor (5344)@@" + #endif + }, + // CDirectSound::SetDopplerFactor (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetDopplerFactor (XREF)" + #endif + }, + // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDopplerFactor" + #endif + }, + // CDirectSound::CommitDeferredSettings (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432, + + XTL::EmuCDirectSound_CommitDeferredSettings, + + #ifdef _DEBUG_TRACE + "EmuCDirectSound_CommitDeferredSettings" + #endif + }, + // CDirectSoundVoice::SetMaxDistance (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMaxDistance (XRef) (5344)" + #endif + }, + // CDirectSoundBuffer::SetMaxDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMaxDistance (XRef) (5344)" + #endif + }, + // IDirectSoundBuffer_SetMaxDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_5344, + XTL::EmuIDirectSoundBuffer8_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMaxDistance (5344)" + #endif + }, + // CDirectSoundVoice::SetMinDistance (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMinDistance (XRef) (5344)" + #endif + }, + // CDirectSoundBuffer::SetMinDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMinDistance (XRef) (5344)" + #endif + }, + // IDirectSoundBuffer_SetMinDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_5344, + XTL::EmuIDirectSoundBuffer8_SetMinDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMinDistance (5344)" + #endif + }, + // CDirectSoundVoice::SetMinDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMinDistance (XREF)" + #endif + }, + // CDirectSoundBuffer::SetMinDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMinDistance (XREF)" + #endif + }, + // IDirectSoundBuffer_SetMinDistance (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_4432, + + XTL::EmuIDirectSoundBuffer8_SetMinDistance, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMinDistance" + #endif + }, + // CDirectSoundVoice::SetMaxDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMaxDistance (XREF)" + #endif + }, + // CDirectSoundBuffer::SetMaxDistance (XREF) (* unchanged since 4432 *) + { + (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_4432, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMaxDistance (XREF)" + #endif + }, + // IDirectSoundBuffer_SetMaxDistance (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_4432, + + XTL::EmuIDirectSoundBuffer8_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMaxDistance" + #endif + }, + // CDirectSoundVoice::SetPosition (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::SetPosition (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPosition" + #endif + }, + // CDirectSoundVoice::SetVelocity (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundVoice_SetVelocity_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVelocity (XREF)" + #endif + }, + // CDirectSoundBuffer::SetVelocity (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVelocity (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetVelocity" + #endif + }, + // CDirectSoundVoice::SetI3DL2Source (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundVoice_SetI3DL2Source_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetI3DL2Source (XREF)" + #endif + }, + // CDirectSoundBuffer::SetI3DL2Source (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_SetI3DL2Source_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetI3DL2Source (XREF)" + #endif + }, + // IDirectSoundBuffer_SetI3DL2Source (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetI3DL2Source" + #endif + }, + // IDirectSoundBuffer_Stop (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_Stop, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Stop" + #endif + }, + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Release" + #endif + }, + // IDirectSoundStream::SetVolume + // (This is actually the XREF we are using) + { + (OOVPA*)&CDirectSoundStream_SetVolume_1_0_5233, + + XTL::EmuIDirectSoundStream_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundStream_SetVolume" + #endif + }, + // DirectSound::CDirectSoundVoice::SetFormat (XRef) + { + (OOVPA*)&X_DirectSound_CDirectSoundVoice_SetFormat_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoice::SetFormat (XRef)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetFormat (XRef) (* unchanged since 4627 *) + { + (OOVPA*)&X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::SetFormat (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetFormat (* unchanged since 4627 *) + { + (OOVPA*)&X_IDirectSoundBuffer_SetFormat_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetFormat, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetFormat" + #endif + + }, + // CDirectSoundVoice::SetMode (XRef) + { + (OOVPA*)&CDirectSoundVoice_SetMode_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMode (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMode (XRef) + { + (OOVPA*)&CDirectSoundBuffer_SetMode_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMode (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMode + { + (OOVPA*)&IDirectSoundBuffer8_SetMode_1_0_5233, + XTL::EmuIDirectSoundBuffer8_SetMode, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMode" + #endif + + }, + // CDirectSoundVoice::SetRolloffCurve (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetRolloffCurve_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetRolloffCurve (XREF)" + #endif + + }, + // CDirectSoundBuffer::SetRolloffCurve (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetRolloffCurve_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetRolloffCurve (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetRolloffCurve + { + (OOVPA*)&IDirectSoundBuffer8_SetRolloffCurve_1_0_5233, + + XTL::EmuIDirectSoundBuffer8_SetRolloffCurve, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetRolloffCurve" + #endif + }, + // IDirectSound8::AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_AddRef_1_0_3936, + + XTL::EmuIDirectSound8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_AddRef" + #endif + }, + // CDirectSound_SetI3DL2Listener + { + (OOVPA*)&DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF) (5344)" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound_SetI3DL2Listener_1_0_5344, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener (5344)" + #endif + }, + // CDirectSound::SetRolloffFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetRolloffFactor_1_0_5344, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetRolloffFactor (XRef) (5344)" + #endif + }, + // IDirectSound8::SetRolloffFactor + { + (OOVPA*)&IDirectSound_SetRolloffFactor_1_0_5344, + + XTL::EmuIDirectSound8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetRolloffFactor (5344)" + #endif + }, +#if 0 // Add when needed... + // CDirectSoundVoice::SetDistanceFactor (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetDistanceFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetDistanceFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetDistanceFactor (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetDistanceFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetDistanceFactor (XRef)" + #endif + }, + // IDirectSoundBuffer_SetDistanceFactor + { + (OOVPA*)&IDirectSoundBuffer8_SetDistanceFactor_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetDistanceFactor" + #endif + }, +#endif +}; + +// ****************************************************************** +// * DSound_1_0_5233_SIZE +// ****************************************************************** +uint32 DSound_1_0_5233_SIZE = sizeof(DSound_1_0_5233); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.h new file mode 100644 index 000000000..38cb062e4 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.5558.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_5558_H +#define DSOUND_1_0_5558_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_5558[]; +extern uint32 DSOUND_1_0_5558_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.inl new file mode 100644 index 000000000..621e9d7d1 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5558.inl @@ -0,0 +1,3651 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.5558.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * CDirectSound::SynchPlayback +// ****************************************************************** +SOOVPA<7> CDirectSound_SynchPlayback_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0xE8 }, + { 0x3A, 0x0B }, + { 0x46, 0x8B }, + } +}; + +// ****************************************************************** +// * CMcpxStream_Pause +// ****************************************************************** +SOOVPA<11> CMcpxStream_Pause_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSSTREAMPAUSE, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxStream_Pause+0x17 : and ax, 0xFFDF + { 0x17, 0x66 }, // (Offset,Value)-Pair #1 + { 0x18, 0x25 }, // (Offset,Value)-Pair #2 + { 0x19, 0xDF }, // (Offset,Value)-Pair #3 + + // CMcpxStream_Pause+0x32 : jmp +0x56 + { 0x32, 0xEB }, // (Offset,Value)-Pair #4 + { 0x33, 0x56 }, // (Offset,Value)-Pair #5 + + // CMcpxStream_Pause+0x39 : movzx eax, word ptr [esi+0x12] + { 0x39, 0x0F }, // (Offset,Value)-Pair #6 + { 0x3A, 0xB7 }, // (Offset,Value)-Pair #7 + { 0x3B, 0x46 }, // (Offset,Value)-Pair #8 + { 0x3C, 0x12 }, // (Offset,Value)-Pair #9 + + // CMcpxStream_Pause+0x8B : retn 0x04 + { 0x8B, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::CommitDeferredSettings +// ****************************************************************** +SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al + { 0x10, 0x0F }, // (Offset,Value)-Pair #1 + { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x12, 0xC0 }, // (Offset,Value)-Pair #3 + + // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 + { 0x27, 0xB8 }, // (Offset,Value)-Pair #4 + { 0x28, 0x05 }, // (Offset,Value)-Pair #5 + { 0x29, 0x40 }, // (Offset,Value)-Pair #6 + { 0x2B, 0x80 }, // (Offset,Value)-Pair #7 + + // CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x30], edi + { 0x6D, 0x89 }, // (Offset,Value)-Pair #8 + { 0x6E, 0x78 }, // (Offset,Value)-Pair #9 + { 0x6F, 0x30 }, // (Offset,Value)-Pair #10 + + // CDirectSound_CommitDeferredSettings+0x96 : leave + { 0x96, 0xC9 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDistanceFactorA +// ****************************************************************** +SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_SETDISTANCEFACTORA,// XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetDistanceFactorA+0x39 : or dword ptr[eax+0x30], 0x08 + { 0x39, 0x83 }, // (Offset,Value)-Pair #6 + { 0x3A, 0x48 }, // (Offset,Value)-Pair #7 + { 0x3B, 0x30 }, // (Offset,Value)-Pair #8 + { 0x3C, 0x08 }, // (Offset,Value)-Pair #9 + + // CDirectSound_SetDistanceFactorA+0x4C : jz +0x0B + { 0x4C, 0x74 }, // (Offset,Value)-Pair #10 + { 0x4D, 0x0B }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetRolloffFactor +// ****************************************************************** +SOOVPA<11> CDirectSound_SetRolloffFactor_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_SETROLLOFFFACTORA, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x30], 0x10 + { 0x39, 0x83 }, // (Offset,Value)-Pair #6 + { 0x3A, 0x48 }, // (Offset,Value)-Pair #7 + { 0x3B, 0x30 }, // (Offset,Value)-Pair #8 + { 0x3C, 0x10 }, // (Offset,Value)-Pair #9 + + // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B + { 0x4C, 0x74 }, // (Offset,Value)-Pair #10 + { 0x4D, 0x0B }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound::SetDopplerFactor +// ****************************************************************** +SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_5558 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_SETDOPPLERFACTOR, // XRef Is Saved + 0, // XRef Not Used + + { + // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + + // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0x30], 0x20 + { 0x39, 0x83 }, // (Offset,Value)-Pair #9 + { 0x3A, 0x48 }, // (Offset,Value)-Pair #10 + { 0x3B, 0x30 }, // (Offset,Value)-Pair #11 + { 0x3C, 0x20 }, // (Offset,Value)-Pair #12 + + // CDirectSound_SetDopplerFactor+0x4C : jz +0x0B + { 0x4C, 0x74 }, // (Offset,Value)-Pair #13 + { 0x4D, 0x0B }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * IDirectSound_SetMixBinHeadroom +// ****************************************************************** +SOOVPA<9> IDirectSound8_SetMixBinHeadroom_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETMIXBINHEADROOMA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSound_SetI3DL2Listener +// ****************************************************************** +SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETI3DL2LISTENER, // Xref Is Saved + XRefNotUsed, + + { + { 0x1D, 0xFF }, + { 0x3C, 0x00 }, + { 0x5B, 0x9A }, + { 0x7A, 0x10 }, + { 0x99, 0x00 }, + { 0xB8, 0x50 }, + { 0xD7, 0x00 }, + { 0xF6, 0x68 }, + } +}; + +// ****************************************************************** +// * IDirectSound8_SetI3DL2Listener +// ****************************************************************** +SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETI3DL2LISTENER }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; +// ****************************************************************** +// * DirectSound::CFullHRTFSource::GetCenterVolume +// ****************************************************************** +SOOVPA<7> DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CFullHRTFSource_GetCenterVolume, // Xref Is Saved + XRefNotUsed, + + { + { 0x13, 0xD9 }, + { 0x29, 0xDF }, + { 0x3D, 0x2D }, + { 0x54, 0xC1 }, + { 0x67, 0x4D }, + { 0x7E, 0xD9 }, + { 0x91, 0x10 }, + } +}; + +// ****************************************************************** +// * DirectSound::CHRTFSource::SetFullHRTF5Channel +// ****************************************************************** +SOOVPA<9> DirectSound_CHRTFSource_SetFullHRTF5Channel_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DirectSound_CHRTFSource_SetFullHRTF5Channel, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x4C, XREF_DirectSound_CFullHRTFSource_GetCenterVolume }, + + { 0x14, 0xC7 }, + { 0x1E, 0xC7 }, + { 0x28, 0xC7 }, + { 0x3C, 0xC7 }, + { 0x46, 0xC7 }, + { 0x5A, 0xC7 }, + { 0x64, 0xC7 }, + { 0x6E, 0xC3 }, + } +}; + +// ****************************************************************** +// * DirectSoundUseFullHRTF +// ****************************************************************** +SOOVPA<8> DirectSoundUseFullHRTF_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x0A, XREF_DirectSound_CHRTFSource_SetFullHRTF5Channel }, + + { 0x06, 0x0F }, + { 0x07, 0xB6 }, + { 0x0E, 0x85 }, + { 0x0F, 0xF6 }, + { 0x12, 0x0B }, + { 0x18, 0xFF }, + { 0x1E, 0xC3 }, + } +}; + +// ****************************************************************** +// * DirectSoundDoWork +// ****************************************************************** +SOOVPA<7> DirectSoundDoWork_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x0F }, + { 0x0E, 0x85 }, + { 0x10, 0x74 }, + { 0x18, 0x85 }, + { 0x1C, 0x0B }, + { 0x22, 0xFF }, + { 0x28, 0xC3 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetBufferData +// ****************************************************************** +SOOVPA<7> CDirectSoundBuffer_SetBufferData_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETBUFFERDATA, // Xref Is Saved + XRefNotUsed, + + { + { 0x14, 0x0C }, + { 0x2A, 0xB6 }, + { 0x40, 0xB8 }, + { 0x56, 0x8B }, + { 0x6C, 0x8B }, + { 0x82, 0x7C }, + { 0x98, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetBufferData +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetBufferData_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETBUFFERDATA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CMcpxBuffer::SetCurrentPosition +// ****************************************************************** +SOOVPA<7> CMcpxBuffer_SetCurrentPosition_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_SETCURRENTPOSITION, // Xref Is Saved + XRefNotUsed, + + { + { 0x1D, 0x00 }, + { 0x3C, 0x66 }, + { 0x5B, 0x00 }, + { 0x7C, 0x8D }, + { 0x99, 0xD1 }, + { 0xB8, 0x89 }, + { 0xDB, 0x5F }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetCurrentPosition +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetCurrentPosition_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_SETCURRENTPOSITION2, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x35, XREF_SETCURRENTPOSITION }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetCurrentPosition +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_SETCURRENTPOSITION2 }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient::SetLFO +// ****************************************************************** +SOOVPA<8> CMcpxVoiceClient_SetLFO_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CMcpxVoiceClient_SetLFO, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0x48 }, + { 0x3E, 0x31 }, + { 0x5E, 0x35 }, + { 0x7E, 0xE1 }, + { 0x9E, 0x8B }, + { 0xBE, 0x8B }, + { 0xDE, 0x05 }, + { 0xFE, 0x6C }, + } +}; +// ****************************************************************** +// * CDirectSoundVoice::SetLFO +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetLFO_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetLFO, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x0C, XREF_DirectSound_CMcpxVoiceClient_SetLFO }, + + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x0C }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetLFO +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetLFO_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetLFO, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetLFO }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetLFO +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetLFO_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetLFO }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CMcpxVoiceClient_SetVolume +// ****************************************************************** +SOOVPA<13> CMcpxVoiceClient_SetVolume_1_0_5558 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_DSSTREAMSETVOLUME, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] + { 0x2A, 0x8D }, // (Offset,Value)-Pair #1 + { 0x2B, 0x04 }, // (Offset,Value)-Pair #2 + { 0x2C, 0x49 }, // (Offset,Value)-Pair #3 + + // CMcpxVoiceClient_SetVolume+0x45 : movzx edx, word ptr [ecx] + { 0x45, 0x0F }, // (Offset,Value)-Pair #4 + { 0x46, 0xB7 }, // (Offset,Value)-Pair #5 + { 0x47, 0x11 }, // (Offset,Value)-Pair #6 + + // CMcpxVoiceClient_SetVolume+0x6C : mov edx, [ebp+eax*4-0x14] + { 0x6C, 0x8B }, // (Offset,Value)-Pair #7 + { 0x6D, 0x54 }, // (Offset,Value)-Pair #8 + { 0x6E, 0x85 }, // (Offset,Value)-Pair #9 + { 0x6F, 0xEC }, // (Offset,Value)-Pair #10 + + // CMcpxVoiceClient_SetVolume+0x84 : inc eax; inc ecx, inc ecx + { 0x84, 0x40 }, // (Offset,Value)-Pair #11 + { 0x85, 0x41 }, // (Offset,Value)-Pair #12 + { 0x86, 0x41 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CDirectSoundVoiceSettings::SetMixBins +// ****************************************************************** +SOOVPA<7> CDirectSoundVoiceSettings_SetMixBins_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETMIXBINSC, // Xref Is Saved + XRefNotUsed, + + { + { 0x1B, 0xEB }, + { 0x32, 0x8B }, + { 0x4C, 0x7C }, + { 0x66, 0x00 }, + { 0x84, 0xF6 }, + { 0x9A, 0xB4 }, + { 0xB4, 0x00 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBins +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetMixBins_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSB, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x0D, XREF_DSSETMIXBINSC }, + + { 0x02, 0x74 }, + { 0x06, 0x74 }, + { 0x0A, 0x4E }, + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x19, 0x5E }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMixBins +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetMixBins_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSA, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DSSETMIXBINSB }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetMixBins +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DSSETMIXBINSA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPlayRegion +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetPlayRegion_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETPLAYREGIONA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x1E, 0xFF }, + { 0x2E, 0x85 }, + { 0x3E, 0x3B }, + { 0x4E, 0x81 }, + { 0x5F, 0x8B }, + { 0x72, 0xFF }, + { 0x7E, 0x0C }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetPlayRegion +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetPlayRegion_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSBUFFERSETPLAYREGIONA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; +// ****************************************************************** +// * CDirectSoundBuffer::SetLoopRegion +// ****************************************************************** +SOOVPA<7> CDirectSoundBuffer_SetLoopRegion_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x24, 0xB8 }, + { 0x31, 0x55 }, + { 0x42, 0xC8 }, + { 0x53, 0x00 }, + { 0x64, 0x8B }, + { 0x77, 0xFF }, + } +}; +// ****************************************************************** +// * IDirectSoundBuffer_SetLoopRegion +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetLoopRegion_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CMcpxBuffer::Play +// ****************************************************************** +SOOVPA<8> CMcpxBuffer_Play_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSOUNDPLAY, // Xref Is Saved + XRefNotUsed, + + { + { 0x06, 0x56 }, + { 0x0E, 0xF1 }, + { 0x16, 0xFF }, + { 0x1D, 0x03 }, + { 0x1E, 0xFF }, + { 0x26, 0x75 }, + { 0x2F, 0x8B }, + { 0x36, 0xC2 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::Play +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_Play_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 10 + + XREF_DSOUNDPLAY2, // Xref Is Saved + 0, // Xref Is Used + + { + //{ 0x35, XREF_DSOUNDPLAY }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x2E, 0x20 }, + { 0x33, 0x18 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_Play +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_Play_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSOUNDPLAY2 }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CMcpxBuffer_GetStatus +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_GetStatus_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERGETSTATUSA, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetStatus+0x04 : mov ecx, eax + { 0x04, 0x8B }, // (Offset,Value)-Pair #1 + { 0x05, 0xC8 }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_GetStatus+0x0C : jnz +0x1B + { 0x0C, 0x75 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x1B }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_GetStatus+0x12 : test ax, 0x444 + { 0x12, 0x66 }, // (Offset,Value)-Pair #5 + { 0x13, 0xA9 }, // (Offset,Value)-Pair #6 + { 0x14, 0x44 }, // (Offset,Value)-Pair #7 + + // CMcpxBuffer_GetStatus+0x29 : mov ecx, 0x8001 + { 0x29, 0xB9 }, // (Offset,Value)-Pair #8 + { 0x2A, 0x01 }, // (Offset,Value)-Pair #9 + { 0x2B, 0x80 }, // (Offset,Value)-Pair #10 + { 0x2C, 0x00 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * WaveFormat::CreateXboxAdpcmFormat +// ****************************************************************** +SOOVPA<7> WaveFormat_CreateXboxAdpcmFormat_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_WaveFormat_CreateXboxAdpcmFormat, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x08 }, + { 0x10, 0xE9 }, + { 0x19, 0x8D }, + { 0x22, 0x66 }, + { 0x2B, 0x04 }, + { 0x34, 0x66 }, + { 0x3D, 0x12 }, + } +}; + +// ****************************************************************** +// * XAudioCreateAdpcmFormat +// ****************************************************************** +SOOVPA<2> XAudioCreateAdpcmFormat_1_0_5558 = +{ + 0, // Large == 0 + 2, // Count == 2 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x01, XREF_DirectSound_WaveFormat_CreateXboxAdpcmFormat }, + + { 0x00, 0xE9 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetFormat +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetFormat_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x10 }, + { 0x13, 0x85 }, + { 0x19, 0x10 }, + { 0x22, 0x0C }, + { 0x2B, 0x14 }, + { 0x34, 0x85 }, + { 0x40, 0x5E }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetFormat +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetFormat_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetFormat, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFormat }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetFormat +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFormat }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeAngles +// ****************************************************************** +SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundVoice_SetConeAngles, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x10, 0x08 }, + { 0x13, 0x20 }, + { 0x19, 0xB4 }, + { 0x22, 0x51 }, + { 0x2B, 0x00 }, + { 0x34, 0x10 }, + { 0x3E, 0x33 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeAngles +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetConeAngles_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetConeAngles, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3A, XREF_DirectSound_CDirectSoundVoice_SetConeAngles }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetConeAngles +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetConeAngles_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DirectSound_CDirectSoundBuffer_SetConeAngles }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMaxDistance +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x3C }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; +// ****************************************************************** +// * CDirectSoundBuffer::SetMaxDistance +// ****************************************************************** +SOOVPA<11> CDirectSoundBuffer_SetMaxDistance_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETMAXDISTANCE, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] + { 0x3A, XREF_DSVOICESETMAXDISTANCE }, + + { 0x00, 0x56 }, + // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetMaxDistance+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetMaxDistance+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMaxDistance +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] + { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, + + { 0x00, 0xFF }, + // IDirectSoundBuffer_SetMaxDistance+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMaxDistance+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetMaxDistance+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMinDistance +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETMINDISTANCE, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x38 }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; +// ****************************************************************** +// * CDirectSoundBuffer::SetMinDistance +// ****************************************************************** +SOOVPA<11> CDirectSoundBuffer_SetMinDistance_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERSETMINDISTANCE, // XRef Is Saved + 1, // XRef Is Used + + { + // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] + { 0x3A, XREF_DSVOICESETMINDISTANCE }, + + { 0x00, 0x56 }, + // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetMinDistance+0x32 : fstp [esp+0Ch+var_C] + { 0x32, 0xD9 }, + { 0x33, 0x1C }, + { 0x34, 0x24 }, + + // CDirectSoundBuffer_SetMinDistance+0x53 : retn 0Ch + { 0x54, 0x0C }, + { 0x55, 0x00 } + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMinDistance +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x24 }, + { 0x3A, 0x1C }, + { 0x46, 0x74 }, + { 0x53, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMinDistance +// ****************************************************************** +SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5558 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] + { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, + + { 0x00, 0xFF }, + // IDirectSoundBuffer_SetMinDistance+0x04 : fld [esp+4+arg_4] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMinDistance+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetMinDistance+0x21 : retn 0Ch + { 0x22, 0x0C }, + { 0x23, 0x00 } + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::CommitDeferredSettings +// ****************************************************************** +SOOVPA<6> CDirectSoundVoice_CommitDeferredSettings_1_0_5558 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings, // Xref Is Saved + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0xE8 }, + { 0x0C, 0x33 }, + { 0x0D, 0xC0 }, + { 0x10, 0x00 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetAllParameters +// ****************************************************************** +SOOVPA<14> CDirectSoundVoice_SetAllParameters_1_0_5558 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XREF_DirectSound_CDirectSoundVoice_SetAllParameters, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x2A, XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings }, + + { 0x00, 0x8B }, + { 0x01, 0x4c }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x4C }, + { 0x14, 0x8B }, + { 0x15, 0x41 }, + { 0x16, 0x10 }, + { 0x30, 0xC2 }, + { 0x31, 0x0C }, + { 0x32, 0x00 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetAllParameters +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetAllParameters_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetAllParameters }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8::SetAllParameters +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetAllParameters }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetPosition +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetPosition_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETPOSITION, // Xref Is Saved + XRefNotUsed, + + { + { 0x09, 0x8B }, + { 0x14, 0x08 }, + { 0x1F, 0x55 }, + { 0x2A, 0x00 }, + { 0x35, 0x10 }, + { 0x40, 0xF6 }, + { 0x4C, 0x33 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPosition +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETPOSITION, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x4A, XREF_DSVOICESETPOSITION }, + + { 0x0F, 0x00 }, + { 0x18, 0x0B }, + { 0x25, 0x05 }, + { 0x32, 0x83 }, + { 0x3F, 0x04 }, + { 0x4E, 0x85 }, + { 0x59, 0xFF }, + { 0x66, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8::SetPosition +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetPosition_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x2D, XREF_DSBUFFERSETPOSITION }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xE4 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; +// ****************************************************************** +// * CDirectSoundVoice::SetVelocity +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetVelocity_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETVELOCITY, // Xref Is Saved + XRefNotUsed, + + { + { 0x09, 0x8B }, + { 0x14, 0x14 }, + { 0x1F, 0x55 }, + { 0x2A, 0x00 }, + { 0x35, 0x10 }, + { 0x40, 0xF6 }, + { 0x4C, 0x33 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetVelocity +// ****************************************************************** +SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETVELOCITY, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x4A, XREF_DSVOICESETVELOCITY }, + + { 0x0F, 0x00 }, + { 0x18, 0x0B }, + { 0x25, 0x05 }, + { 0x32, 0x83 }, + { 0x3F, 0x04 }, + { 0x4E, 0x85 }, + { 0x59, 0xFF }, + { 0x66, 0x00 }, + } +}; +// ****************************************************************** +// * IDirectSoundBuffer8_SetVelocity +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetVelocity_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x2D, XREF_DSBUFFERSETVELOCITY }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xE4 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; + +/*// ****************************************************************** +// * CMcpxStream::Pause +// ****************************************************************** +SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CMcpxStream_Pause, // Xref Is Saved + XRefNotUsed, + + { + { 0x10, 0x07 }, + { 0x23, 0x0F }, + { 0x34, 0x83 }, + { 0x46, 0xF8 }, + { 0x58, 0x03 }, + { 0x6A, 0xBB }, + { 0x7C, 0x00 }, + } +};*/ + +// ****************************************************************** +// * CDirectSoundStream::Pause +// ****************************************************************** +SOOVPA<8> CDirectSoundStream_Pause_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x35, XREF_DSSTREAMPAUSE }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetDistanceFactor +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETDISTANCEFACTOR, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x44 }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetDistanceFactor +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetDistanceFactor_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETDISTANCEFACTOR, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3A, XREF_DSVOICESETDISTANCEFACTOR }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetDistanceFactor +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSBUFFERSETDISTANCEFACTOR }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * CDirectSoundVoice::SetDopplerFactor +// ****************************************************************** +SOOVPA<7> CDirectSoundVoice_SetDopplerFactor_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETDOPPLERFACTOR, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x4C }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; + +// ****************************************************************** +// * CDirectSoundBuffer::SetDopplerFactor +// ****************************************************************** +SOOVPA<8> CDirectSoundBuffer_SetDopplerFactor_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETDOPPLERFACTOR, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x3A, XREF_DSVOICESETDOPPLERFACTOR }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetDopplerFactor +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetDopplerFactor_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSBUFFERSETDOPPLERFACTOR }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; +// ****************************************************************** +// * IDirectSoundBuffer_Lock +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x75 }, + { 0x0A, 0x75 }, + { 0x10, 0x1C }, + { 0x16, 0x18 }, + { 0x1C, 0x1B }, + { 0x22, 0xC8 }, + { 0x2C, 0x5D }, + { 0x2E, 0x20 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetI3DL2Source +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETI3DL2SOURCE, // Xref Is Saved + XRefNotUsed, + + { + { 0x18, 0x00 }, + { 0x32, 0x8B }, + { 0x4C, 0x8C }, + { 0x66, 0x50 }, + { 0x80, 0x89 }, + { 0x9A, 0x10 }, + { 0xB4, 0x49 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetI3DL2Source +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetI3DL2Source_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETI3DL2SOURCE, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x36, XREF_DSVOICESETI3DL2SOURCE }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetI3DL2Source +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSBUFFERSETI3DL2SOURCE }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetAllParameters +// ****************************************************************** +SOOVPA<10> DirectSound_CDirectSoundVoice_SetAllParameters_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_DirectSound_CDirectSoundVoice_SetAllParameters, // Xref Is Saved + 0, // Xref Is Used + + { +// { 0x12F, XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings }, + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x1D, 0x10 }, + { 0x3C, 0x8B }, + { 0x5B, 0x92 }, + { 0x7A, 0xB4 }, + { 0x99, 0x00 }, + { 0xB8, 0x00 }, + { 0xD7, 0x00 }, + { 0xF6, 0x89 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetAllParameters +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetAllParameters }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x74 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetAllParameters +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetAllParameters_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetAllParameters }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetHeadroom +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x08, 0x48 }, + { 0x0D, 0x24 }, + { 0x12, 0x48 }, + { 0x17, 0x8B }, + { 0x1F, 0x5E }, + { 0x21, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetHeadroom +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetHeadroom +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::GetCurrentPosition +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_GETCURRENTPOSITION, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0x74 }, + { 0x40, 0xF8 }, + { 0x4E, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_GetCurrentPosition@12 +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_GETCURRENTPOSITION }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetFormat +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundStream_SetFormat_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetFormat }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMixBins +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DSSETMIXBINSB }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetMixBinHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINHEADROOMA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x24 }, + { 0x3A, 0x5C }, + { 0x46, 0x85 }, + { 0x52, 0x15 }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetMixBinHeadroom +// ****************************************************************** +SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETMIXBINHEADROOMA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::EnableHeadphones +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSound_EnableHeadphones_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSENABLEHEADPHONES, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0x3B }, + { 0x3E, 0xC1 }, + { 0x60, 0xEB }, + { 0x7E, 0x00 }, + { 0x9E, 0x75 }, + { 0xBE, 0x00 }, + { 0xDE, 0x59 }, + { 0xFE, 0x75 }, + } +}; + +// ****************************************************************** +// * IDirectSound_EnableHeadphones +// ****************************************************************** +SOOVPA<8> IDirectSound_EnableHeadphones_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x15, XREF_DSENABLEHEADPHONES }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::GetOutputLevels +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSound_GetOutputLevels, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x10 }, + { 0x10, 0xF3 }, + { 0x19, 0x5E }, + { 0x22, 0xFE }, + { 0x2B, 0x85 }, + { 0x34, 0xA6 }, + { 0x3D, 0xD0 }, + } +}; + +// ****************************************************************** +// * IDirectSound_GetOutputLevels +// ****************************************************************** +SOOVPA<9> IDirectSound_GetOutputLevels_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x19, XREF_DirectSound_CDirectSound_GetOutputLevels }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * XAudioDownloadEffectsImage +// ****************************************************************** +SOOVPA<8> XAudioDownloadEffectsImage_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0xB6 }, + { 0x41, 0x83 }, + { 0x61, 0x8B }, + { 0x80, 0x85 }, + { 0x9E, 0x8B }, + { 0xBE, 0x6A }, + { 0xDE, 0x07 }, + { 0xFE, 0xF7 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetPosition +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETPOSITIONA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x1E, 0xFF }, + { 0x2B, 0x8B }, + { 0x3A, 0x8B }, + { 0x49, 0x40 }, + { 0x58, 0xE8 }, + { 0x67, 0x15 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetPosition +// ****************************************************************** +SOOVPA<8> IDirectSound_SetPosition_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x2D, XREF_DSSETPOSITIONA }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xF8 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetVelocity +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETVELOCITYA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x1E, 0xFF }, + { 0x2B, 0x8B }, + { 0x3A, 0x8B }, + { 0x49, 0x4C }, + { 0x58, 0xE8 }, + { 0x67, 0x15 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetVelocity +// ****************************************************************** +SOOVPA<8> IDirectSound_SetVelocity_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x2D, XREF_DSSETVELOCITYA }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xF8 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::CreateSoundStream +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSCREATESOUNDSTREAM, // Xref Is Saved + XRefNotUsed, + + { + { 0x11, 0xD8 }, + { 0x24, 0x05 }, + { 0x37, 0x74 }, + { 0x4A, 0x81 }, + { 0x5D, 0xE8 }, + { 0x70, 0x85 }, + { 0x83, 0xFF }, + } +}; + +// ****************************************************************** +// * IDirectSound_CreateSoundStream +// ****************************************************************** +SOOVPA<8> IDirectSound_CreateSoundStream_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x1D, XREF_DSCREATESOUNDSTREAM }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetRolloffCurve +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x74 }, + { 0x3A, 0x24 }, + { 0x46, 0x74 }, + { 0x53, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetFrequency +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundStream_SetFrequency_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x36, XREF_DSBUFFERSETFREQUENCYB }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * Direct_1_0_5558 +// ****************************************************************** +OOVPATable DSound_1_0_5558[] = +{ + // DirectSoundCreate (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreate_1_0_4361, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // CDirectSound_CreateSoundBuffer (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundBuffer (XREF)" + #endif + }, + // CDirectSound::SynchPlayback + { + (OOVPA*)&CDirectSound_SynchPlayback_1_0_5558, + + XTL::EmuCDirectSound_SynchPlayback, + + #ifdef _DEBUG_TRACE + "CDirectSound_SynchPlayback_1_0_5558" + #endif + }, + // CMcpxStream::Pause + { + (OOVPA*)&CMcpxStream_Pause_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CMcpxStream_Pause (XREF)" + #endif + }, + // CDirectSoundStream::Pause + { + (OOVPA*)&CDirectSoundStream_Pause_1_0_5558, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_Pause" + #endif + }, + // CDirectSoundStream::Pause (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_Pause" + #endif + }, + // CDirectSoundVoiceSettings_SetMixBinVolumes (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundVoice_SetMixBinVolumes (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundBuffer_SetMixBinVolumes (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBinVolumes (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetMixBinVolumes (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBinVolumes" + #endif + }, + // IDirectSound8::CreateSoundBuffer (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // CDirectSound::CommitDeferredSettings + { + (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_5558, + + XTL::EmuCDirectSound_CommitDeferredSettings, + + #ifdef _DEBUG_TRACE + "EmuCDirectSound_CommitDeferredSettings" + #endif + }, + // CDirectSound::SetDistanceFactorA (XREF) + { + (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDistanceFactorA (XRef)" + #endif + }, + // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) + { + (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, + + XTL::EmuIDirectSound8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDistanceFactor" + #endif + }, + // CDirectSound::SetRolloffFactor (XREF) + { + (OOVPA*)&CDirectSound_SetRolloffFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetRolloffFactor (XRef)" + #endif + }, + // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetRolloffFactor" + #endif + }, + // CDirectSound::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDopplerFactor (XRef)" + #endif + }, + // CDirectSoundStream::FlushEx (XREF) (* unchanged since 5233 *) + { + (OOVPA*)&CDirectSoundStream_FlushEx_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::FlushEx (XREF)" + #endif + }, + // IDirectSoundBuffer8::StopEx (* unchanged since 5233 *) + { + (OOVPA*)&IDirectSoundBuffer8_StopEx_1_0_5233, + + XTL::EmuIDirectSoundBuffer8_StopEx, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_StopEx" + #endif + }, + // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDopplerFactor" + #endif + }, + // CDirectSoundVoice::SetFrequency (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice_SetFrequency (XRef)" + #endif + }, + // CDirectSoundBuffer::SetFrequency (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundBuffer_SetFrequency (XREF)" + #endif + }, + // CDirectSoundStream::SetFrequency + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetFrequency_1_0_5558, + + XTL::EmuCDirectSoundStream_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetFrequency" + #endif + }, + // IDirectSoundBuffer8::SetFrequency (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetFrequency" + #endif + }, + // CMcpxVoiceClient_SetVolume + { + (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetVolume (XREF)" + #endif + }, + // CDirectSound_CreateSoundStream (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // DirectSoundCreateStream (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreateStream_1_0_4361, + + XTL::EmuDirectSoundCreateStream, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateStream" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, + + XTL::EmuIDirectSound8_SetOrientation, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetOrientation" + #endif + }, + // CDirectSoundVoice::SetMaxDistance (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMaxDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMaxDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMaxDistance (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMaxDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMaxDistance" + #endif + }, + // CDirectSoundVoice::SetMinDistance (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMinDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMinDistance (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMinDistance (XRef)" + #endif + }, + // CDirectSoundStream::SetRolloffCurve (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetRolloffCurve" + #endif + }, + // IDirectSoundBuffer_SetMinDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetMinDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMinDistance" + #endif + }, + // CDirectSoundVoice::SetRolloffFactor (XREF) (* unchanged since 4627 *) + /*{ THESE ARE NOT CORRECT + (OOVPA*)&CDirectSoundVoice_SetRolloffFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetRolloffFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetRolloffFactor (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundBuffer_SetRolloffFactor_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetRolloffFactor (XRef)" + #endif + }, + // IDirectSoundBuffer_SetRolloffFactor (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer_SetRolloffFactor_1_0_4627, + XTL::EmuIDirectSoundBuffer8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetRolloffFactor" + #endif + },*/ + // CDirectSoundVoice::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetDopplerFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetDopplerFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetDopplerFactor (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetDopplerFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetDopplerFactor (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetDopplerFactor + { + (OOVPA*)&IDirectSoundBuffer8_SetDopplerFactor_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetDopplerFactor" + #endif + }, + // IDirectSoundBuffer_Stop (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, + XTL::EmuIDirectSoundBuffer8_Stop, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Stop" + #endif + }, + //// CDirectSound_SetMixBinHeadroom + //{ + // (OOVPA*)&CDirectSound_SetMixBinHeadroom_1_0_4627, 0, + + // #ifdef _DEBUG_TRACE + // "CDirectSound::SetMixBinHeadroom (XREF)" + // #endif + //}, + //// IDirectSound8_SetMixBinHeadroom + //{ + // (OOVPA*)&IDirectSound8_SetMixBinHeadroom_1_0_5558, + + // XTL::EmuIDirectSound8_SetMixBinHeadroom, + + // #ifdef _DEBUG_TRACE + // "EmuIDirectSound8_SetMixBinHeadroom" + // #endif + //}, + // CDirectSound_SetI3DL2Listener + { + (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_5558, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Release" + #endif + }, + // DirectSound::CFullHRTFSource::GetCenterVolume (XREF) + { + (OOVPA*)&DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558, + + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CFullHRTFSource::GetCenterVolume (XREF)" + #endif + }, + // DirectSound::CHRTFSource::SetFullHRTF5Channel (XREF) + { + (OOVPA*)&DirectSound_CHRTFSource_SetFullHRTF5Channel_1_0_5558, + + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CHRTFSource::SetFullHRTF5Channel (XREF)" + #endif + }, + // DirectSoundUseFullHRTF + { + (OOVPA*)&DirectSoundUseFullHRTF_1_0_5558, + + XTL::EmuDirectSoundUseFullHRTF, + + #ifdef _DEBUG_TRACE + "DirectSoundUseFullHRTF" + #endif + }, + // DirectSoundDoWork + { + (OOVPA*)&DirectSoundDoWork_1_0_5558, + + XTL::EmuDirectSoundDoWork, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundDoWork" + #endif + }, + // CDirectSoundBuffer::SetBufferData + { + (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferData" + #endif + }, + // CMcpxBuffer::SetCurrentPosition + { + (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::SetCurrentPosition + { + (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPosition + { + (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetCurrentPosition" + #endif + }, + // DirectSound::CMcpxVoiceClient::SetLFO (XREF) + { + (OOVPA*)&CMcpxVoiceClient_SetLFO_1_0_5558,0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetLFO (XREF)" + #endif + }, + // CDirectSoundVoice::SetLFO (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetLFO_1_0_5558,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetLFO (XREF)" + #endif + }, + // CDirectSoundBuffer::SetLFO (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetLFO_1_0_5558,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetLFO (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetLFO + { + (OOVPA*)&IDirectSoundBuffer8_SetLFO_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetLFO, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetLFO" + #endif + }, + // CDirectSoundVoice::SetVolume (XREF) (* unchanged since 5233 *) + { + (OOVPA*)&CDirectSoundVoice_SetVolume_1_0_5233,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVolume (XREF)" + #endif + }, + // CDirectSoundBuffer::SetVolume (XREF) (* unchanged since 5233 *) + { + (OOVPA*)&CDirectSoundBuffer_SetVolume_1_0_5233,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVolume (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetVolume (* unchanged since 5233 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_5233, + + XTL::EmuIDirectSoundBuffer8_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuIIDirectSoundBuffer8_SetVolume" + #endif + }, + // CDirectSoundStream_SetVolume (* unchanged since 4627 *) + { + (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, + + XTL::EmuCDirectSoundStream_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetVolume" + #endif + }, + // CDirectSoundVoiceSettings_SetMixBins + { + (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBins (XREF)" + #endif + }, + // CDirectSoundVoice_SetMixBins + { + (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBins (XREF)" + #endif + }, + // CDirectSoundBuffer_SetMixBins + { + (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBins (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetMixBins + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBins" + #endif + }, + // CDirectSoundBuffer::SetPlayRegion + { + (OOVPA*)&CDirectSoundBuffer_SetPlayRegion_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPlayRegion (XRef)" + #endif + }, + // IDirectSoundBuffer8::SetPlayRegion + { + (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetPlayRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPlayRegion" + #endif + }, + // CDirectSoundBuffer::SetLoopRegion (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetLoopRegion_1_0_5558,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetLoopRegion (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetLoopRegion + { + (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetLoopRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetLoopRegion" + #endif + }, + // CMcpxBuffer::Play + { + (OOVPA*)&CMcpxBuffer_Play_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play (XREF)" + #endif + }, + // CDirectSoundBuffer::Play (XREF) + { + (OOVPA*)&CDirectSoundBuffer_Play_1_0_5558,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::Play (XREF)" + #endif + }, + // IDirectSoundBuffer_Play + { + (OOVPA*)&IDirectSoundBuffer8_Play_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_Play, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Play" + #endif + }, + // CMcpxBuffer::GetStatus + { + (OOVPA*)&CMcpxBuffer_GetStatus_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetStatus (XREF)" + #endif + }, + // CDirectSoundBuffer::GetStatus + { + (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetStatus (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetStatus + { + (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_GetStatus, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_GetStatus" + #endif + }, + // WaveFormat::CreateXboxAdpcmFormat (XREF) + { + (OOVPA*)&WaveFormat_CreateXboxAdpcmFormat_1_0_5558,0, + + #ifdef _DEBUG_TRACE + "WaveFormat::CreateXboxAdpcmFormat (XREF)" + #endif + }, + // XAudioCreateAdpcmFormat + { + (OOVPA*)&XAudioCreateAdpcmFormat_1_0_5558, + + XTL::EmuXAudioCreateAdpcmFormat, + + #ifdef _DEBUG_TRACE + "XAudioCreateAdpcmFormat" + #endif + }, + // CDirectSoundVoice::SetFormat (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetFormat_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetFormat (XREF)" + #endif + + }, + // CDirectSoundBuffer::SetFormat (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetFormat_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetFormat (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetFormat + { + (OOVPA*)&IDirectSoundBuffer8_SetFormat_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetFormat, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetFormat" + #endif + }, + // CDirectSoundVoice::SetConeAngles (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetConeAngles_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetConeAngles (XRef)" + #endif + }, + // CDirectSoundBuffer::SetConeAngles (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetConeAngles_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetConeAngles (XRef)" + #endif + }, + // IDirectSoundBuffer_SetConeAngles + { + (OOVPA*)&IDirectSoundBuffer8_SetConeAngles_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetConeAngles, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetConeAngles" + #endif + }, + // CDirectSoundVoice::SetRolloffCurve (XREF) (* unchanged since 5233 *) + { + (OOVPA*)&CDirectSoundVoice_SetRolloffCurve_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetRolloffCurve (XREF)" + #endif + + }, + // CDirectSoundBuffer::SetRolloffCurve (XREF) (* unchanged since 5233 *) + { + (OOVPA*)&CDirectSoundBuffer_SetRolloffCurve_1_0_5233, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetRolloffCurve (XREF)" + #endif + }, + // CDirectSoundStream::SetRolloffCurve + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558, + XTL::EmuCDirectSoundStream_SetRolloffCurve, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetRolloffCurve" + #endif + }, + // IDirectSoundBuffer8::SetRolloffCurve (* unchanged since 5233 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetRolloffCurve_1_0_5233, + + XTL::EmuIDirectSoundBuffer8_SetRolloffCurve, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetRolloffCurve" + #endif + }, + // CDirectSoundVoice::CommitDeferredSettings (XREF) + { + (OOVPA*)&CDirectSoundVoice_CommitDeferredSettings_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::CommitDeferredSettings (XREF)" + #endif + }, + // CDirectSoundVoice::SetAllParameters (XREF) + /*{ + (OOVPA*)&CDirectSoundVoice_SetAllParameters_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetAllParameters (XREF)*************" + #endif + }, + // CDirectSoundBuffer::SetAllParameters (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetAllParameters_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetAllParameters (XREF)***************" + #endif + }, + // IDirectSoundBuffer8::SetAllParameters + { + (OOVPA*)&IDirectSoundBuffer8_SetAllParameters_1_0_5558, + + XTL::EmuIDirectSound8_SetAllParameters, // Use that for now, EmuIDirectSoundBuffer8_SetAllParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetAllParameters***************" + #endif + },*/ + // CDirectSoundVoice::SetPosition (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetPosition (XRef)" + #endif + }, + // CDirectSoundBuffer::SetPosition (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPosition (XRef)" + #endif + }, + // IDirectSoundBuffer_SetPosition + { + (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetPosition" + #endif + }, + // CDirectSoundVoice::SetVelocity (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetVelocity_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVelocity (XRef)" + #endif + }, + // CDirectSoundBuffer::SetVelocity (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVelocity (XRef)" + #endif + }, + // IDirectSoundBuffer::SetVelocity + { + (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetVelocity, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetVelocity" + #endif + }, + // CDirectSoundVoice::SetDistanceFactor (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetDistanceFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetDistanceFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetDistanceFactor (XREF) + { + (OOVPA*)&CDirectSoundBuffer_SetDistanceFactor_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetDistanceFactor (XRef)" + #endif + }, + // IDirectSoundBuffer_SetDistanceFactor + { + (OOVPA*)&IDirectSoundBuffer8_SetDistanceFactor_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetDistanceFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetDistanceFactor" + #endif + }, + // IDirectSoundStream::SetVolume (* unchanged since 5233 *) + // (This is actually the XREF we are using) + { + (OOVPA*)&CDirectSoundStream_SetVolume_1_0_5233, + + XTL::EmuIDirectSoundStream_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundStream_SetVolume" + #endif + }, + // DirectSoundCreateBuffer + { + (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, + + XTL::EmuDirectSoundCreateBuffer, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateBuffer" + #endif + }, + // IDirectSoundBuffer_Lock + { + (OOVPA*)&IDirectSoundBuffer_Lock_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Lock" + #endif + }, + // CDirectSoundVoice::SetI3DL2Source (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetI3DL2Source (XREF)" + #endif + }, + // CDirectSoundBuffer::SetI3DL2Source (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetI3DL2Source_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetI3DL2Source (XREF)" + #endif + }, + // IDirectSoundBuffer_SetI3DL2Source + { + (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetI3DL2Source" + #endif + }, + // CDirectSoundVoice::SetAllParameters (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetAllParameters_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetAllParameters (XREF)" + #endif + }, + // CDirectSoundBuffer::SetAllParameters (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetAllParameters (XREF)" + #endif + }, + // IDirectSoundBuffer_SetAllParameters + { + (OOVPA*)&IDirectSoundBuffer_SetAllParameters_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_SetAllParameters, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetAllParameters" + #endif + }, + // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoice::SetHeadroom (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5558, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::SetHeadroom (XREF)" + #endif + }, + // IDirectSoundBuffer_SetHeadroom + { + (OOVPA*)&IDirectSoundBuffer_SetHeadroom_1_0_5558, + XTL::EmuIDirectSoundBuffer8_SetHeadroom, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetHeadroom" + #endif + }, + // DirectSound::CDirectSoundStream::SetHeadroom + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558, + XTL::EmuIDirectSoundStream_SetHeadroom, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundStream::SetHeadroom" + #endif + }, + // CDirectSoundBuffer::GetCurrentPosition + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetCurrentPosition + { + (OOVPA*)&IDirectSoundBuffer_GetCurrentPosition_1_0_5558, + + XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_GetCurrentPosition" + #endif + }, + // CDirectSoundStream::SetFormat (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetFormat_1_0_5558, + XTL::EmuCDirectSoundStream_SetFormat, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetFormat" + #endif + }, + // CDirectSoundStream_SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBins_1_0_5558, + XTL::EmuCDirectSoundStream_SetMixBins, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetMixBins" + #endif + }, + // CDirectSound_SetMixBinHeadroom + { + (OOVPA*)&DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetMixBinHeadroom (XREF)" + #endif + }, + // IDirectSound8_SetMixBinHeadroom + { + (OOVPA*)&IDirectSound_SetMixBinHeadroom_1_0_5558, + + XTL::EmuIDirectSound8_SetMixBinHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetMixBinHeadroom" + #endif + }, + // DirectSound::CDirectSound::EnableHeadphones (XRef) + { + (OOVPA*)&DirectSound_CDirectSound_EnableHeadphones_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSound::EnableHeadphones (XRef)" + #endif + }, + // IDirectSound8::EnableHeadphones + { + (OOVPA*)&IDirectSound_EnableHeadphones_1_0_5558, + + XTL::EmuIDirectSound8_EnableHeadphones, + + #ifdef _DEBUG_TRACE + "IDirectSound8_EnableHeadphones" + #endif + }, + // DirectSound::CDirectSound::GetOutputLevels (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_GetOutputLevels_1_0_5558, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSound::GetOutputLevels (XREF)" + #endif + }, + // IDirectSound_GetOutputLevels + { + (OOVPA*)&IDirectSound_GetOutputLevels_1_0_5558, + XTL::EmuIDirectSound8_GetOutputLevels, + + #ifdef _DEBUG_TRACE + "IDirectSound_GetOutputLevels" + #endif + }, + // XAudioDownloadEffectsImage + { + (OOVPA*)&XAudioDownloadEffectsImage_1_0_5558, + XTL::EmuXAudioDownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "XAudioDownloadEffectsImage" + #endif + }, + // CDirectSound::SetPosition (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetPosition_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetPosition (XRef)" + #endif + }, + // IDirectSound8::SetPosition + { + (OOVPA*)&IDirectSound_SetPosition_1_0_5558, + + XTL::EmuIDirectSound8_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound_SetPosition" + #endif + }, + // CDirectSound::SetVelocity (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetVelocity_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetVelocity (XRef)" + #endif + }, + // IDirectSound8::SetVelocity + { + (OOVPA*)&IDirectSound_SetVelocity_1_0_5558, + + XTL::EmuIDirectSound8_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetVelocity" + #endif + }, + // CDirectSound_CreateSoundStream + { + (OOVPA*)&DirectSound_CDirectSound_CreateSoundStream_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // IDirectSound_CreateSoundStream + { + (OOVPA*)&IDirectSound_CreateSoundStream_1_0_5558, + XTL::EmuIDirectSound8_CreateStream, + + #ifdef _DEBUG_TRACE + "IDirectSound_CreateSoundStream" + #endif + }, +}; + +// ****************************************************************** +// * DSound_1_0_5558_SIZE +// ****************************************************************** +uint32 DSound_1_0_5558_SIZE = sizeof(DSound_1_0_5558); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.h b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.h new file mode 100644 index 000000000..bbdf6d953 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.5849.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_5849_H +#define DSOUND_1_0_5849_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_5849[]; +extern uint32 DSOUND_1_0_5849_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.inl new file mode 100644 index 000000000..2e4a2136a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/DSound.1.0.5849.inl @@ -0,0 +1,3026 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.5849.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * CMcpxBuffer_GetStatus +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_GetStatus_1_0_5849 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DSBUFFERGETSTATUSA, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_GetStatus+0x04 : mov ecx, eax + { 0x04, 0x8B }, // (Offset,Value)-Pair #1 + { 0x05, 0xC8 }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_GetStatus+0x0C : jnz +0x1B + { 0x0C, 0x75 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x1B }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_GetStatus+0x12 : test ax, 0x444 + { 0x12, 0x66 }, // (Offset,Value)-Pair #5 + { 0x13, 0xA9 }, // (Offset,Value)-Pair #6 + { 0x14, 0x44 }, // (Offset,Value)-Pair #7 + + // CMcpxBuffer_GetStatus+0x29 : mov ecx, 0x8001 + { 0x29, 0xB9 }, // (Offset,Value)-Pair #8 + { 0x2A, 0x01 }, // (Offset,Value)-Pair #9 + { 0x2B, 0x80 }, // (Offset,Value)-Pair #10 + { 0x2C, 0x00 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * CDirectSound_SetI3DL2Listener +// ****************************************************************** +SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETI3DL2LISTENER, // Xref Is Saved + XRefNotUsed, + + { + { 0x1D, 0xFF }, + { 0x3C, 0x00 }, + { 0x5B, 0x9A }, + { 0x7A, 0x10 }, + { 0x99, 0x00 }, + { 0xB8, 0x50 }, + { 0xD7, 0x00 }, + { 0xF6, 0x68 }, + } +}; + +// ****************************************************************** +// * IDirectSound8_SetI3DL2Listener +// ****************************************************************** +SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref is used + + { + { 0x19, XREF_DSSETI3DL2LISTENER }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * CMcpxBuffer_SetBufferData +// ****************************************************************** +SOOVPA<9> CMcpxBuffer_SetBufferData_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSSETBUFFERDATA, // XRef Is Saved + XRefNotUsed, + + { + // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx + { 0x1E, 0x3B }, // (Offset,Value)-Pair #1 + { 0x1F, 0xC3 }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_SetBufferData+0x20 : jz +0x0C + { 0x20, 0x74 }, // (Offset,Value)-Pair #3 + { 0x21, 0x0C }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xBC], ecx + { 0x45, 0x89 }, // (Offset,Value)-Pair #5 + { 0x46, 0x8E }, // (Offset,Value)-Pair #6 + { 0x47, 0xBC }, // (Offset,Value)-Pair #7 + + // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 + { 0x89, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x8A, 0x08 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetFormat +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetFormat_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x10 }, + { 0x13, 0x85 }, + { 0x19, 0x10 }, + { 0x22, 0x0C }, + { 0x2B, 0x14 }, + { 0x34, 0x85 }, + { 0x40, 0x5E }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetFormat +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetFormat, // Xref Is Saved + 1, + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFormat }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer8_SetFormat +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFormat }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * CMcpxBuffer_Play +// ****************************************************************** +SOOVPA<11> CMcpxBuffer_Play_1_0_5849 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_DirectSound_CMcpxBuffer_Play, // XRef Is Saved + 0, // XRef Not Used + + { + // CMcpxBuffer_Play+0x0B : test dword ptr [eax+8], 0x182000 + { 0x0B, 0xF7 }, // (Offset,Value)-Pair #1 + { 0x0C, 0x40 }, // (Offset,Value)-Pair #2 + + // CMcpxBuffer_Play+0x13 : jz +0x09 + { 0x13, 0x74 }, // (Offset,Value)-Pair #3 + { 0x14, 0x05 }, // (Offset,Value)-Pair #4 + + // CMcpxBuffer_Play+0x32 : test byte ptr [esi+0x12], 0x42 + { 0x32, 0xF6 }, // (Offset,Value)-Pair #5 + { 0x33, 0x46 }, // (Offset,Value)-Pair #6 + { 0x34, 0x12 }, // (Offset,Value)-Pair #7 + { 0x35, 0x42 }, // (Offset,Value)-Pair #8 + + // CMcpxBuffer_Play+0xA4 : call dword ptr [eax+0x1C] + { 0xA4, 0xFF }, // (Offset,Value)-Pair #9 + { 0xA5, 0x50 }, // (Offset,Value)-Pair #10 + { 0xA6, 0x1C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::Play +// ****************************************************************** +SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CMcpxBuffer_Play, // Xref Is Saved + XRefNotUsed, + + { + { 0x06, 0x56 }, + { 0x0E, 0xF1 }, + { 0x16, 0xFF }, + { 0x1D, 0x03 }, + { 0x1E, 0xFF }, + { 0x26, 0x75 }, + { 0x2F, 0x8B }, + { 0x36, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::Play +// ****************************************************************** +SOOVPA<7> DirectSound_CMcpxBuffer_Play2_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CMcpxBuffer_Play2, // Xref Is Saved + XRefNotUsed, + + { + { 0x17, 0x43 }, + { 0x2D, 0xF6 }, + { 0x2E, 0xC3 }, + { 0x2F, 0x04 }, + { 0xAD, 0xC2 }, + { 0xAE, 0x04 }, + { 0xAF, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::Play +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundBuffer_Play_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSOUNDPLAY2, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x2E, 0x20 }, + { 0x33, 0x18 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_Play +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_Play_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_DSOUNDPLAY2 }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetHeadroom +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved + XRefNotUsed, + + { + { 0x03, 0x04 }, + { 0x08, 0x48 }, + { 0x0D, 0x24 }, + { 0x12, 0x48 }, + { 0x17, 0x8B }, + { 0x1F, 0x5E }, + { 0x21, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved + 1, + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetHeadroom +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_Lock +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x75 }, + { 0x0A, 0x75 }, + { 0x10, 0x1C }, + { 0x16, 0x18 }, + { 0x1C, 0x1B }, + { 0x22, 0xC8 }, + { 0x2C, 0x5D }, + { 0x2E, 0x20 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoiceSettings::SetMixBins +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETMIXBINSC, // Xref Is Saved + XRefNotUsed, + + { + { 0x1B, 0xEB }, + { 0x32, 0x8B }, + { 0x4C, 0x7C }, + { 0x66, 0x00 }, + { 0x84, 0xF6 }, + { 0x9A, 0xB4 }, + { 0xB4, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMixBins +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSB, // Xref Is Saved + 1, + + { + { 0x0D, XREF_DSSETMIXBINSC }, + + { 0x02, 0x74 }, + { 0x06, 0x74 }, + { 0x0A, 0x4E }, + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x19, 0x5E }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetMixBins +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSA, // Xref Is Saved + 1, + + { + { 0x32, XREF_DSSETMIXBINSB }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMixBins +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x36, XREF_DSSETMIXBINSB }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBins +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DSSETMIXBINSA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetMixBinHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINHEADROOMA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x24 }, + { 0x3A, 0x5C }, + { 0x46, 0x85 }, + { 0x52, 0x15 }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetMixBinHeadroom +// ****************************************************************** +SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_DSSETMIXBINHEADROOMA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetPosition +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETPOSITIONA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x1E, 0xFF }, + { 0x2B, 0x8B }, + { 0x3A, 0x8B }, + { 0x49, 0x40 }, + { 0x58, 0xE8 }, + { 0x67, 0x15 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetPosition +// ****************************************************************** +SOOVPA<8> IDirectSound_SetPosition_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x2D, XREF_DSSETPOSITIONA }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xF8 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetVelocity +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETVELOCITYA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x1E, 0xFF }, + { 0x2B, 0x8B }, + { 0x3A, 0x8B }, + { 0x49, 0x4C }, + { 0x58, 0xE8 }, + { 0x67, 0x15 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetVelocity +// ****************************************************************** +SOOVPA<8> IDirectSound_SetVelocity_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x2D, XREF_DSSETVELOCITYA }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xF8 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::CommitDeferredSettings +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_COMMITDEFERREDSETTINGSA, // Xref Is Saved + XRefNotUsed, + + { + { 0x12, 0xC0 }, + { 0x27, 0xB8 }, + { 0x3A, 0x75 }, + { 0x52, 0x8D }, + { 0x62, 0x8B }, + { 0x76, 0x89 }, + { 0x8E, 0xFF }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::SetCurrentPosition +// ****************************************************************** +SOOVPA<7> DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSBUFFERSETCURRENTPOSITIONB, // Xref Is Saved + XRefNotUsed, + + { + { 0x1D, 0x00 }, + { 0x3C, 0x66 }, + { 0x5B, 0x00 }, + { 0x7C, 0x8D }, + { 0x99, 0xD1 }, + { 0xB8, 0x89 }, + { 0xDB, 0x5F }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetCurrentPosition +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETCURRENTPOSITIONA, // Xref Is Saved + 1, + + { + { 0x35, XREF_DSBUFFERSETCURRENTPOSITIONB }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetCurrentPosition +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetCurrentPosition_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::GetCurrentPosition +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_GETCURRENTPOSITION, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0x74 }, + { 0x40, 0xF8 }, + { 0x4E, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_GetCurrentPosition +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_GETCURRENTPOSITION }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetLoopRegion +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x24, 0xB8 }, + { 0x31, 0x55 }, + { 0x42, 0xC8 }, + { 0x53, 0x00 }, + { 0x64, 0x8B }, + { 0x77, 0xFF }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetLoopRegion +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetLoopRegion_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::Stop +// ****************************************************************** +SOOVPA<8> DirectSound_CMcpxBuffer_Stop_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSOUNDSTOP, // Xref Is Saved + XRefNotUsed, + + { + { 0x06, 0x56 }, + { 0x0E, 0xF1 }, + { 0x16, 0xFF }, + { 0x1D, 0x04 }, + { 0x1E, 0xFF }, + { 0x26, 0x75 }, + { 0x2F, 0x8B }, + { 0x36, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::StopEx +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_StopEx_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSOUNDSTOP2, // Xref Is Saved + 1, + + { + { 0x3D, XREF_DSOUNDSTOP }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x20 }, + { 0x3A, 0x24 }, + { 0x46, 0x0B }, + { 0x52, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_StopEx +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_DSOUNDSTOP2 }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetRolloffFactor +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_SETROLLOFFFACTORA, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x08 }, + { 0x35, 0x6C }, + { 0x3A, 0x48 }, + { 0x4A, 0x85 }, + { 0x53, 0xFF }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetDopplerFactor +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_SETDOPPLERFACTOR, // Xref Is Saved + XRefNotUsed, + + { + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x08 }, + { 0x35, 0x70 }, + { 0x3A, 0x48 }, + { 0x4A, 0x85 }, + { 0x53, 0xFF }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetPitch +// ****************************************************************** +SOOVPA<6> DirectSound_CDirectSoundVoice_SetPitch_1_0_5849 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XREF_DSBUFFERSETPITCHB, // Xref Is Saved + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x10 }, + { 0x0A, 0x08 }, + { 0x0E, 0x8B }, + { 0x16, 0xC2 }, + { 0x17, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetPitch +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETPITCHA, // Xref Is Saved + 1, + + { + { 0x32, XREF_DSBUFFERSETPITCHB }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetPitch +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DSBUFFERSETPITCHA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMaxDistance +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x3C }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMinDistance +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETMINDISTANCE, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x38 }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetMaxDistance +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETMAXDISTANCE, // Xref Is Saved + 1, + + { + { 0x3A, XREF_DSVOICESETMAXDISTANCE }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetMinDistance +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETMINDISTANCE, // Xref Is Saved + 1, + + { + { 0x3A, XREF_DSVOICESETMINDISTANCE }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMaxDistance +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMinDistance +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetVolume +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x10 }, + { 0x0A, 0x08 }, + { 0x0E, 0x89 }, + { 0x12, 0x49 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetVolume +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved + 1, + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetVolume +// ****************************************************************** +// * Not until we need it! +//SOOVPA<9> DirectSound_CDirectSoundStream_SetVolume_1_0_5849 = +//{ +// 0, // Large == 0 +// 9, // Count == 9 +// +// XREF_DirectSound_CDirectSoundStream_SetVolume, // Xref Is Saved +// XRefNotUsed, +// +// { +// { 0x36, XREF_DirectSound_CDirectSoundVoice_SetVolume }, +// +// { 0x00, 0x56 }, +// { 0x0C, 0x00 }, +// { 0x14, 0x74 }, +// { 0x21, 0xB8 }, +// { 0x2A, 0x24 }, +// { 0x35, 0xE8 }, +// { 0x40, 0x68 }, +// { 0x4B, 0x8B }, +// } +//}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetVolume +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::PlayEx +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_PlayEx, // Xref Is Saved + 1, + + { + { 0x3D, XREF_DirectSound_CMcpxBuffer_Play }, + + { 0x0C, 0x00 }, + { 0x16, 0x68 }, + { 0x22, 0x05 }, + { 0x2E, 0x20 }, + { 0x3A, 0x24 }, + { 0x46, 0x0B }, + { 0x52, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_PlayEx +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_DirectSound_CDirectSoundBuffer_PlayEx }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetRolloffFactor +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETROLLOFFFACTOR, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x48 }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetRolloffFactor +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETROLLOFFFACTOR, // Xref Is Saved + 1, + + { + { 0x3A, XREF_DSVOICESETROLLOFFFACTOR }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetRolloffFactor +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetRolloffFactor_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_DSBUFFERSETROLLOFFFACTOR }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetDopplerFactor +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETDOPPLERFACTOR, // Xref Is Saved + XRefNotUsed, + + { + { 0x05, 0x41 }, + { 0x0C, 0x00 }, + { 0x13, 0x4C }, + { 0x1A, 0x00 }, + { 0x21, 0xF6 }, + { 0x28, 0x51 }, + { 0x2F, 0xC0 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetDopplerFactor +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSBUFFERSETDOPPLERFACTOR, // Xref Is Saved + 1, + + { + { 0x3A, XREF_DSVOICESETDOPPLERFACTOR }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xFF }, + { 0x40, 0x8B }, + { 0x4F, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetDopplerFactor +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetDopplerFactor_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_DSBUFFERSETDOPPLERFACTOR }, + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetPosition +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetPosition_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETPOSITION, // Xref Is Saved + XRefNotUsed, + + { + { 0x09, 0x8B }, + { 0x14, 0x08 }, + { 0x1F, 0x55 }, + { 0x2A, 0x00 }, + { 0x35, 0x10 }, + { 0x40, 0xF6 }, + { 0x4C, 0x33 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetPosition +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETPOSITION, // Xref Is Saved + 1, + + { + { 0x4A, XREF_DSVOICESETPOSITION }, + + { 0x0F, 0x00 }, + { 0x18, 0x0B }, + { 0x25, 0x05 }, + { 0x32, 0x83 }, + { 0x3F, 0x04 }, + { 0x4E, 0x85 }, + { 0x59, 0xFF }, + { 0x66, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetPosition +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetPosition_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x2D, XREF_DSBUFFERSETPOSITION }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xE4 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetVelocity +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSVOICESETVELOCITY, // Xref Is Saved + XRefNotUsed, + + { + { 0x09, 0x8B }, + { 0x14, 0x14 }, + { 0x1F, 0x55 }, + { 0x2A, 0x00 }, + { 0x35, 0x10 }, + { 0x40, 0xF6 }, + { 0x4C, 0x33 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetVelocity +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XREF_DSBUFFERSETVELOCITY, // Xref Is Saved + 1, + + { + { 0x4A, XREF_DSVOICESETVELOCITY }, + + { 0x0F, 0x00 }, + { 0x18, 0x0B }, + { 0x25, 0x05 }, + { 0x32, 0x83 }, + { 0x3F, 0x04 }, + { 0x4E, 0x85 }, + { 0x59, 0xFF }, + { 0x66, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetVelocity +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetVelocity_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x2D, XREF_DSBUFFERSETVELOCITY }, + + { 0x05, 0x18 }, + { 0x0C, 0x83 }, + { 0x13, 0x8B }, + { 0x1A, 0xE4 }, + { 0x21, 0xD9 }, + { 0x28, 0xD9 }, + { 0x31, 0x5D }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxBuffer::Pause +// ****************************************************************** +SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CMcpxBuffer_Pause, // Xref Is Saved + XRefNotUsed, + + { + { 0x0D, 0x4D }, + { 0x1C, 0x44 }, + { 0x2B, 0x8B }, + { 0x3A, 0x75 }, + { 0x49, 0x7D }, + { 0x58, 0xEB }, + { 0x67, 0xE8 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::Pause +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_Pause_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_Pause, // Xref Is Saved + 1, + + { + { 0x35, XREF_DirectSound_CMcpxBuffer_Pause }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; +// ****************************************************************** +// * IDirectSoundBuffer_Pause +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_Pause_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_Pause }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::CreateSoundStream +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSCREATESOUNDSTREAM, // Xref Is Saved + XRefNotUsed, + + { + { 0x11, 0xD8 }, + { 0x24, 0x05 }, + { 0x37, 0x74 }, + { 0x4A, 0x81 }, + { 0x5D, 0xE8 }, + { 0x70, 0x85 }, + { 0x83, 0xFF }, + } +}; + +// ****************************************************************** +// * IDirectSound_CreateSoundStream +// ****************************************************************** +//SOOVPA<8> IDirectSound_CreateSoundStream_1_0_5849 = +//{ +// 0, // Large == 0 +// 8, // Count == 8 +// +// XRefNotSaved, +// XRefNotUsed, +// +// { +// { 0x1D, XREF_DirectSound_CDirectSound_CreateSoundStream }, +// +// { 0x03, 0x10 }, +// { 0x08, 0xFF }, +// { 0x0D, 0xC8 }, +// { 0x12, 0x83 }, +// { 0x17, 0x1B }, +// { 0x1C, 0xE8 }, +// { 0x21, 0xC2 }, +// } +//}; + +// ****************************************************************** +// * DirectSoundCreateStream +// ****************************************************************** +SOOVPA<9> DirectSoundCreateStream_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x2F, XREF_DSCREATESOUNDSTREAM }, + + { 0x09, 0x56 }, + { 0x14, 0x45 }, + { 0x1F, 0x8B }, + { 0x2A, 0xFF }, + { 0x35, 0x85 }, + { 0x40, 0xFF }, + { 0x4E, 0x5F }, + { 0x56, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMixBinVolumes +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x36, XREF_DSSETMIXBINVOLUMESB }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * DirectSound::CMcpxStream::Pause +// ****************************************************************** +SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSTREAMPAUSE, // Xref Is Saved + XRefNotUsed, + + { + { 0x10, 0x07 }, + { 0x23, 0x0F }, + { 0x34, 0x83 }, + { 0x46, 0xF8 }, + { 0x58, 0x03 }, + { 0x6A, 0xBB }, + { 0x7C, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::Pause +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundStream_Pause_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x35, XREF_DSSTREAMPAUSE }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x39, 0x85 }, + { 0x44, 0xFF }, + { 0x4B, 0xC7 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::FlushEx +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSFLUSHEX2, // Xref Is Saved + XRefNotUsed, + + { + { 0x0F, 0x00 }, + { 0x1E, 0xFF }, + { 0x28, 0x80 }, + { 0x36, 0x74 }, + { 0x46, 0x8B }, + { 0x52, 0xFF }, + { 0x62, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundStream_FlushEx +// ****************************************************************** +SOOVPA<9> IDirectSoundStream_FlushEx_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x11, XREF_DSFLUSHEX2 }, + + { 0x01, 0x74 }, + { 0x04, 0xFF }, + { 0x07, 0x10 }, + { 0x0A, 0x24 }, + { 0x0D, 0x74 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x10 }, + } +}; + +// ****************************************************************** +// * DirectSoundDoWork +// ****************************************************************** +SOOVPA<7> DirectSoundDoWork_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x0F }, + { 0x0E, 0x85 }, + { 0x10, 0x74 }, + { 0x18, 0x85 }, + { 0x1C, 0x0B }, + { 0x22, 0xFF }, + { 0x28, 0xC3 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetEffectData +// ****************************************************************** +// * No XRefs! Woohoo! +// ****************************************************************** +SOOVPA<7> IDirectSound_SetEffectData_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x75 }, + { 0x0A, 0x75 }, + { 0x10, 0x14 }, + { 0x16, 0x10 }, + { 0x1C, 0x1B }, + { 0x26, 0x5D }, + { 0x28, 0x18 }, + } +}; + +// ****************************************************************** +// * DirectSound::CMemoryManager::PoolAlloc +// ****************************************************************** +SOOVPA<10> DirectSound_CMemoryManager_PoolAlloc_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x24, 0x83 }, + { 0x25, 0x7C }, + { 0x26, 0x24 }, + { 0x27, 0x10 }, + { 0x28, 0x00 }, + { 0x37, 0xF3 }, + { 0x38, 0xAB }, + { 0x44, 0xC2 }, + { 0x45, 0x0C }, + { 0x46, 0x00 }, + } +}; + +// ****************************************************************** +// * XFileCreateMediaObjectAsync +// ****************************************************************** +SOOVPA<8> XFileCreateMediaObjectAsync_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0xC0 }, + { 0x16, 0xF8 }, + { 0x22, 0xE6 }, + { 0x2E, 0x20 }, + { 0x3D, 0x8B }, + { 0x49, 0x8B }, + { 0x52, 0x06 }, + { 0x5E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetPitch +// ****************************************************************** +SOOVPA<12> DirectSound_CDirectSoundStream_SetPitch_1_0_5849 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + 1, + + { + { 0x36, XREF_DSBUFFERSETPITCHB }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, + { 0x51, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetHeadroom +// ****************************************************************** +SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x36, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + } +}; + +// ****************************************************************** +// * Direct_1_0_5849 +// ****************************************************************** +OOVPATable DSound_1_0_5849[] = +{ + // DirectSoundCreate (* unchanged since 4361 *) + { + (OOVPA*)&DirectSoundCreate_1_0_4361, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // CDirectSound_CreateSoundBuffer + { + (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundBuffer (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetPlayRegion (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetPlayRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPlayRegion" + #endif + }, + // CMcpxBuffer::SetBufferData + { + (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetBufferData (XREF)" + #endif + }, + // CDirectSoundBuffer::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + { + (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferData" + #endif + }, + // CMcpxBuffer::GetStatus + { + (OOVPA*)&CMcpxBuffer_GetStatus_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_GetStatus (XREF)" + #endif + }, + // CDirectSoundBuffer::GetStatus + { + (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetStatus (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetStatus + { + (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_GetStatus, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_GetStatus" + #endif + }, + // CDirectSound_SetI3DL2Listener + { + (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_5849, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // DirectSound::CDirectSoundVoice::SetFormat (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetFormat_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoice::SetFormat (XREF)" + #endif + + }, + // DirectSound::CDirectSoundBuffer::SetFormat (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::SetFormat (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetFormat + { + (OOVPA*)&IDirectSoundBuffer8_SetFormat_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_SetFormat, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetFormat@8" + #endif + }, + // CDirectSoundVoiceSettings_SetMixBinVolumes + { + (OOVPA*)&CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundVoice_SetMixBinVolumes + { + (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBinVolumes (XREF)" + #endif + }, + // CDirectSoundBuffer_SetMixBinVolumes + { + (OOVPA*)&CDirectSoundBuffer_SetMixBinVolumes_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBinVolumes (XREF)" + #endif + }, + // IDirectSoundBuffer8_SetMixBinVolumes + { + (OOVPA*)&IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBinVolumes" + #endif + }, + // CDirectSoundStream_SetMixBinVolumes + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849, + XTL::EmuCDirectSoundStream_SetMixBinVolumes2, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetMixBinVolumes (XREF) ****" + #endif + }, + // IDirectSound8::CreateSoundBuffer + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // CDirectSoundVoice::SetFrequency (XREF) + { + (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice_SetFrequency (XRef)" + #endif + }, + // CDirectSoundBuffer::SetFrequency + { + (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundBuffer_SetFrequency (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetFrequency + { + (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_SetFrequency, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetFrequency" + #endif + }, + // CMcpxVoiceClient_SetVolume + { + (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "CMcpxVoiceClient::SetVolume (XREF)" + #endif + }, + // CDirectSoundStream_SetVolume + { + (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, + + XTL::EmuCDirectSoundStream_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuCDirectSoundStream_SetVolume" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, + + XTL::EmuIDirectSound8_SetOrientation, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetOrientation" + #endif + }, + // CDirectSoundVoice::SetMaxDistance (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMaxDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMaxDistance (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMaxDistance (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMaxDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetMaxDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMaxDistance" + #endif + }, + // CDirectSoundVoice::SetMinDistance (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMinDistance (XRef)" + #endif + }, + // CDirectSoundBuffer::SetMinDistance (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMinDistance (XRef)" + #endif + }, + // IDirectSoundBuffer_SetMinDistance + { + (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetMinDistance, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetMinDistance" + #endif + }, + // CMcpxBuffer::Play + { + (OOVPA*)&DirectSound_CMcpxBuffer_Play_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play (XREF)" + #endif + }, + // CMcpxBuffer::Play + /*{ + (OOVPA*)&CMcpxBuffer_Play_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play2 (XREF)" + #endif + },*/ + // IDirectSoundBuffer_Stop (Possibly weak, but quite OK for 4627 DSOUND) + { + (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, + + XTL::EmuIDirectSoundBuffer8_Stop, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Stop" + #endif + }, + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, + + XTL::EmuIDirectSoundBuffer8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Release" + #endif + }, + // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoice::SetHeadroom (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::SetHeadroom (XREF)" + #endif + }, + // IDirectSoundBuffer_SetHeadroom + { + (OOVPA*)&IDirectSoundBuffer_SetHeadroom_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetHeadroom, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetHeadroom" + #endif + }, + // IDirectSoundBuffer_Lock + { + (OOVPA*)&IDirectSoundBuffer_Lock_1_0_5849, + XTL::EmuIDirectSoundBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_Lock" + #endif + }, + // DirectSound::CDirectSoundVoiceSettings::SetMixBins (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoiceSettings::SetMixBins (XREF)" + #endif + }, + // DirectSound::CDirectSoundVoice::SetMixBins (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundVoice::SetMixBins (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetMixBins (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::SetMixBins (XREF)" + #endif + }, + // IDirectSoundBuffer_SetMixBins + { + (OOVPA*)&IDirectSoundBuffer_SetMixBins_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_SetMixBins" + #endif + }, + // DirectSound::CDirectSoundStream::SetMixBins (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBins_1_0_5849, + XTL::EmuCDirectSoundStream_SetMixBins, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundStream::SetMixBins" + #endif + }, + // CDirectSound_SetMixBinHeadroom + { + (OOVPA*)&DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetMixBinHeadroom (XREF)" + #endif + }, + // IDirectSound8_SetMixBinHeadroom + { + (OOVPA*)&IDirectSound_SetMixBinHeadroom_1_0_5849, + + XTL::EmuIDirectSound8_SetMixBinHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound_SetMixBinHeadroom" + #endif + }, + // CDirectSound::SetPosition (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetPosition_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetPosition (XRef)" + #endif + }, + // IDirectSound8::SetPosition + { + (OOVPA*)&IDirectSound_SetPosition_1_0_5849, + + XTL::EmuIDirectSound8_SetPosition, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound_SetPosition" + #endif + }, + // CDirectSound::SetVelocity (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetVelocity_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetVelocity (XRef)" + #endif + }, + // IDirectSound8::SetVelocity + { + (OOVPA*)&IDirectSound_SetVelocity_1_0_5849, + + XTL::EmuIDirectSound8_SetVelocity, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetVelocity" + #endif + }, + // CDirectSound::CommitDeferredSettings + { + (OOVPA*)&DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849, + + XTL::EmuCDirectSound_CommitDeferredSettings, + + #ifdef _DEBUG_TRACE + "EmuCDirectSound_CommitDeferredSettings" + #endif + }, + // DirectSoundCreateBuffer + { + (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, + + XTL::EmuDirectSoundCreateBuffer, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateBuffer (4627)" + #endif + }, + // CMcpxBuffer::SetCurrentPosition + { + (OOVPA*)&DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_SetCurrentPosition (XREF)" + #endif + }, + // CDirectSoundBuffer::SetCurrentPosition + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetCurrentPosition + { + (OOVPA*)&IDirectSoundBuffer_SetCurrentPosition_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetCurrentPosition" + #endif + }, + // CDirectSoundBuffer::GetCurrentPosition + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_GetCurrentPosition (XREF)" + #endif + }, + // IDirectSoundBuffer8::GetCurrentPosition + { + (OOVPA*)&IDirectSoundBuffer_GetCurrentPosition_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_GetCurrentPosition" + #endif + }, + // CDirectSoundBuffer::SetLoopRegion (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetLoopRegion (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetLoopRegion + { + (OOVPA*)&IDirectSoundBuffer_SetLoopRegion_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_SetLoopRegion, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetLoopRegion" + #endif + }, + // CMcpxBuffer_Stop + { + (OOVPA*)&DirectSound_CMcpxBuffer_Stop_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Stop (XREF)" + #endif + }, + // CDirectSoundBuffer_Stop + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_StopEx (XREF)" + #endif + }, + // CDirectSoundBuffer_Stop + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_5849, + XTL::EmuIDirectSoundBuffer8_StopEx, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer_StopEx" + #endif + }, + // CDirectSound::SetRolloffFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetRolloffFactor_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetRolloffFactor (XRef)" + #endif + }, + // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetRolloffFactor" + #endif + }, + // CDirectSound::SetDopplerFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSound_SetDopplerFactor_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound_SetDopplerFactor (XRef)" + #endif + }, + // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) + { + (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, + + XTL::EmuIDirectSound8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetDopplerFactor" + #endif + }, + // CDirectSoundVoice::SetPitch + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetPitch_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetPitch (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetPitch + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPitch (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetPitch + { + (OOVPA*)&IDirectSoundBuffer8_SetPitch_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_SetPitch, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetPitch" + #endif + }, + // CDirectSoundVoice::SetVolume (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetVolume_1_0_5849,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVolume (XREF)" + #endif + }, + // CDirectSoundBuffer::SetVolume (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVolume (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetVolume + { + (OOVPA*)&IDirectSoundBuffer_SetVolume_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_SetVolume, + + #ifdef _DEBUG_TRACE + "EmuIIDirectSoundBuffer8_SetVolume" + #endif + }, + // DirectSound::CDirectSoundBuffer::PlayEx (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849, + 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" + #endif + }, + // IDirectSoundBuffer_PlayEx + { + (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_5849, + XTL::EmuIDirectSoundBuffer8_PlayEx, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer_PlayEx" + #endif + }, + // CDirectSoundVoice::SetRolloffFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetRolloffFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetRolloffFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetRolloffFactor (XRef)" + #endif + }, + // IDirectSoundBuffer_SetRolloffFactor + { + (OOVPA*)&IDirectSoundBuffer_SetRolloffFactor_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetRolloffFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetRolloffFactor" + #endif + }, + // CDirectSoundVoice::SetDopplerFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetDopplerFactor (XRef)" + #endif + }, + // CDirectSoundBuffer::SetDopplerFactor (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetDopplerFactor (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetDopplerFactor + { + (OOVPA*)&IDirectSoundBuffer_SetDopplerFactor_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetDopplerFactor, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetDopplerFactor" + #endif + }, + // CDirectSoundVoice::SetPosition (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetPosition_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetPosition (XRef)" + #endif + }, + // CDirectSoundBuffer::SetPosition (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetPosition (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetPosition + { + (OOVPA*)&IDirectSoundBuffer_SetPosition_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetPosition, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetPosition" + #endif + }, + // CDirectSoundVoice::SetVelocity (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVelocity (XRef)" + #endif + }, + // CDirectSoundBuffer::SetVelocity (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVelocity (XRef)" + #endif + }, + // IDirectSoundBuffer8_SetVelocity + { + (OOVPA*)&IDirectSoundBuffer_SetVelocity_1_0_5849, + XTL::EmuIDirectSoundBuffer8_SetVelocity, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetVelocity" + #endif + }, + // DirectSound_CMcpxBuffer_Pause_1_0_5849 + { + (OOVPA*)&DirectSound_CMcpxBuffer_Pause_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer::Pause (XREF)" + #endif + }, + // CDirectSoundBuffer::Pause + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_Pause_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::Pause (XREF)" + #endif + }, + // IDirectSoundBuffer8_Pause + { + (OOVPA*)&IDirectSoundBuffer_Pause_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_Pause, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Pause" + #endif + }, + // CDirectSound_CreateSoundStream + { + (OOVPA*)&DirectSound_CDirectSound_CreateSoundStream_1_0_5849, + + XTL::EmuDirectSoundCreateStream, + + #ifdef _DEBUG_TRACE + "CDirectSound::CreateSoundStream (XREF)" + #endif + }, + // DirectSoundCreateStream + { + (OOVPA*)&DirectSoundCreateStream_1_0_5849, + + XTL::EmuDirectSoundCreateStream, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreateStream" + #endif + }, + // CMcpxStream::Pause + { + (OOVPA*)&DirectSound_CMcpxStream_Pause_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxStream_Pause (XREF)" + #endif + }, + // CDirectSoundStream::Pause + { + (OOVPA*)&DirectSound_CDirectSoundStream_Pause_1_0_5849, + + XTL::EmuCDirectSoundStream_Pause, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream_Pause" + #endif + }, + // CDirectSoundStream::FlushEx (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundStream_FlushEx_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::FlushEx (XREF)" + #endif + }, + // IDirectSoundStream_FlushEx + { + (OOVPA*)&IDirectSoundStream_FlushEx_1_0_5849, + XTL::EmuIDirectSoundStream_FlushEx, + + #ifdef _DEBUG_TRACE + "IDirectSoundStream_FlushEx" + #endif + }, + // DirectSoundDoWork + { + (OOVPA*)&DirectSoundDoWork_1_0_5849, + + XTL::EmuDirectSoundDoWork, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundDoWork" + #endif + }, + // CDirectSound::SynchPlayback (* unchanged since 5558 *) + { + (OOVPA*)&CDirectSound_SynchPlayback_1_0_5558, + + XTL::EmuCDirectSound_SynchPlayback, + + #ifdef _DEBUG_TRACE + "CDirectSound_SynchPlayback_1_0_5558" + #endif + }, + // XAudioDownloadEffectsImage (* unchanged since 4627 *) + { + (OOVPA*)&XAudioDownloadEffectsImage_1_0_4627, + XTL::EmuXAudioDownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuXAudioDownloadEffectsImage" + #endif + }, + // IDirectSoundStream_FlushEx + { + (OOVPA*)&IDirectSound_SetEffectData_1_0_5849, + XTL::EmuIDirectSound8_SetEffectData, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound_SetEffectData" + #endif + }, + // DirectSound::CMemoryManager::PoolAlloc + { + (OOVPA*)&DirectSound_CMemoryManager_PoolAlloc_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "DirectSound::CMemoryManager::PoolAlloc (XREF)" + #endif + }, + // XFileCreateMediaObjectAsync + { + (OOVPA*)&XFileCreateMediaObjectAsync_1_0_5849, + + XTL::EmuXFileCreateMediaObjectAsync, + + #ifdef _DEBUG_TRACE + "XFileCreateMediaObjectAsync" + #endif + }, + // CDirectSoundStream::SetFormat (* unchanged since 5558 *) + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetFormat_1_0_5558, + XTL::EmuCDirectSoundStream_SetFormat, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetFormat" + #endif + }, + // CDirectSoundStream::SetPitch + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetPitch_1_0_5849, + XTL::EmuCDirectSoundStream_SetPitch, + + #ifdef _DEBUG_TRACE + "CDirectSoundStream::SetPitch" + #endif + }, + // DirectSound::CDirectSoundStream::SetHeadroom + { + (OOVPA*)&DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849, + XTL::EmuIDirectSoundStream_SetHeadroom, + + #ifdef _DEBUG_TRACE + "DirectSound::CDirectSoundStream::SetHeadroom" + #endif + }, + // CMcpxBuffer::Play2 + { + (OOVPA*)&DirectSound_CMcpxBuffer_Play2_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CMcpxBuffer_Play2 (XREF)" + #endif + }, + // CDirectSoundBuffer::Play + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_Play_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_Play (XREF)" + #endif + }, + // IDirectSoundBuffer8::Play + { + (OOVPA*)&IDirectSoundBuffer_Play_1_0_5849, + + XTL::EmuIDirectSoundBuffer8_Play, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_Play" + #endif + }, +}; + +// ****************************************************************** +// * DSound_1_0_5849_SIZE +// ****************************************************************** +uint32 DSound_1_0_5849_SIZE = sizeof(DSound_1_0_5849); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/HLE_3911.rar b/src/CxbxKrnl/HLEDataBase - Copy/HLE_3911.rar new file mode 100644 index 0000000000000000000000000000000000000000..e03095dec2c2c40aae4731ab1356296e13918a0a GIT binary patch literal 30746 zcmZU)L%1+Ju&udm+qP}nwr$(Cjc?nwZQHhOtN(NE?Lj}CaVEj4T9wMHWavbQ1r9Km z;0yo&3-Eu2dW(xd0tWyrGXTI`Ef4_EvDpQ^svQFlE;BL!!GBXklD<@KREtDntxUU7mh^RRdjDG~$-B=`Td)-uyw{u7V~0Eyh^NYEcD`zApk zA&CT%$OV3P5b)Q(GQKMF&tre|GYkJ&cf*tBH%}pke+vKY`S$72=L!4uC}H!NeR=kG z2%o?9@7i0P`ZGR4FZ;zWxcj4j8lm{^1r2z3cKu@W!(T9hkM{QH@n1`lKZ}z8ix1Fe z<45mz=0{vV+5Gr=xRL%_@^18FH+E!iA%8k!#&uu0 z@c+Kf;@it(kUo34V=`)a&SSp8M+g@mb~l+0;0=0gY=L*{CMJ=?_DdN)m?jb$GDS6!tmo8g`Jtr$>}|%v2~~Is`Fksf8ViQX=`cf2%a!@MnREB z8Dses^Yu+od>V6(M(6t*_cMl3KYS7J%*A^D+WOGkvtEHbxXU|w+4;iZ^u&$c_v{C8 zrTlN*PXX->a|CyuT{$6EVQucMZhg4E@%%}YbbZbnOivp(ee`yCpBv_t6nZU>4j;t) zGdc}jkwg)`@SL9+P>Z^?FV7N7YCo! zbZr*DV|`0#IJYC0jW;LzV~>`12Y)!+Ke$6jfB0WBe?Hl~6Iasd?Jr_o-`{_7{%N|e zK2;|kI}@L%K&F?Lg@A*<>=n_uAZ)wtWz~|(@>^Nl{BBEm56)T^@E%!H_I$D4_*>0? zZ})i;Tg#G$`*TJ9=}#l;ds}sB>Rk4`G-ot+K6{h+!Ple-@ds_u8^*@;rnmO}Ud6JC z-+Hy?zZiZz{aa`RpUR+l=WQKsG@ds04~`mFzqg0jb8mmQLw}^{eOtbTe+uA!IeF$y z9kbs2Zh!b<^i|iJd$)XJUkMY)gxFJ{rh{%l)NH63AALzilwm?RIXHVoOP2J~fDHgO zmV>J%6UZgo!Y%(?Wm|)Aws8=0(fgL`S?g2hYb+*Ei_hXV1Dc%9g=?LUef}_Pxak0} z4m6uc)T;+r&|3P_Ki~JRW^}Zje)aq4>EFB5wp^mGaDXCO{~XYy&+0}*_QG~yxYyq3 zuYbO{{h!=} zD`=~zL?l25Nm>Y17;*dSmTB{tC)4j=df|kThzcBBhbr8AY^V{9D?BtaFED{TsHMgU zdLxC8Qa7VD10oP!?+Q-PObHKWGa=jwysn-gg_{C__znDU-_kg~OIInTAQ1>@i6If8 zvU!@EZeV97z>it+Vh8jRB?bZ!r&BW}{VH$gud}GAP+)BcKmW4e)7xbD>d8L0h)@y< zB~8k^|@U$4pnlR0YCYJB0?B{X&!^!ldF*+JP67r!y z%vb}eqm++h>$4lXq?A6^>Ft?dVcL!%#<~Zb){0^M^l4~12Y%Q&cYpmhJ0hpF7K5~x zfQU58n~^s!dLFWO26on}jB9Q~cfasO?(6>@ zlw#W^NXI;;L5rFw4Yr4XGbr8ltkNJsBB=sNpLobDN?S$qbFOpIWNBLaL)yUQ-gukx zv~2MV%mUIVXvxifShj-NV75VKQwhVL?1x`Xe>y~3^oQ=pwhnf*gar*9H=}M~F=^{_ zb(&>YS*HqOF^PjJO)Q629&lqF?6gNy&2U*;%K?j&@fze<8THuv`R-(W(NmShNADRI zB|)J3?O&W@>0TS%m@j@qujL0j*xx&T?FG&l`-g`Yr5@Z}^5v44GQVv1VU7NmWLZt3 z4?ay-Dd|Af(bY^POV|X5blEy>pXU~=9`rH$Zo_Uo_=k`+M3*{cS*q3AG)bOkY^J)oA`ytpSvrj&tkl_5mhw0o;L9BjknkaW7=O^o?T&xVMz zf6*I{0j3fFN13#Hwb}+|0hSG^rNct7bbpaD+92#2Xq$~LJfC1Z-6Qb2*qq?ab}Fw@YdN-qmxF?my?n*(q-!1tFyY6_ez&B1}X- z1;GjNP+e274%tXyVMFYJl#YBMhYrz1E&5ED$2E+6otzvtOw3LGLS|fgO62!SRzOg) z2tu$DT`ZaC_?>xhYka)>OLf6;$Xeb9b!)oEYx*FBvDQEZb7!!-wY=H;w%J5mi^YYm zkC)dP&V})vjv{oiZa0N1ERrbFF^2V*wmh_u{hN_jy1A?Sr8GbpPfu|0UR$(Py` z(SbroYeQz>5nPW3MH?7~kg{;2d0CB1#FfxRPa-BoS}uthp)Tk^k*Ye@fkj{Ghxv&!nz)wlY#9o{-hy?xh;^dCRMOSn=lM6-q;<}&_2~ABjV6zD z$Rdukf2L02JcJe8b8&F|CZzn~)9Y~Moadic^siQg8*5RJdm#vfy1iefAOCEitE2Pu zuBwh;9F^8A9TnjM8mRbjPv5~zKrm%Hk1RsCl8%WOeZTO?h}kD4y&2)n^dwXPy>IQ` zC{H&1A25&u;X@c;490i#8dRi=NhE?zsmyMyd?Qws>cRTpIKz_LctJiu)Gc<4pQ(FxxDUoE_f{7fa4GN+&iG%5yCaoI_9+Y06a=epF z1H_C-okPJfCJ*Of$bHB*fzi8Q7qrXZlruZjNN7KwGux1&DAd8l0WgLo$EG`m#Ffw# z?BK=xzZ+x}dIqujC`>5wFj3eNQMhT*J~umv6|KDLfy$cw#!#9G#2^~|ITY#e66=1< ztbrg6xeT$~m~pcNWz`X60#oJ`=uL4HrFo84Am$hw?d&LO8=O|GV$!%!D<_6P*YQ!K z8GdDv8o9G}vQjDN?(ZcW-BDFz=|R2olWUvoFHO&eo+{t-w2D|*HCXlC7u#33(c9J8 z)85NWM3K?}Ai zH@hCt+G6;$NNbn{l>@ayh^?`8TGHC5371k!*m@2YE|8P%U}fr9_`Y`@r` z!L2i++xjn~RgeE0gLkqFW5^KxEdyJ-gAnm8NCYulvL#=$zs4l$%7L~LOtda@ z*~G*W14mxh0LH&&S#t4UGl@dEf)tQ8P8eOh_)SNIpcZ>GX(4*PVr}Ir2SL^R8@6_n zBX%T$UlDo9V3bjv*;>}14ioqXCJWS}q!FU1M9%!~24a@2?kcz=8c?pSPL`ff40LKm zYO1vUT3{WUxdBw`Z%6w}r_3h-8Ao6^RIif8y_-=Q{(j++1HG-5tPdKdu1nJF{TdNlDjPk{G`S)~yK3 zVUFur+o8k2uHCAeE+j*VVPC$87KTmjM(0w$FOnVrY1RhUDEMXcMCjWCM)PD5l%- zL&JVM6(5dz%j41L{NYoF#+U7P)&8iu$w#cU1o*WvFsLXtFSoqH{=@Yby5k!=Vh7V% zTe^J!3Hqhk3e^1}>bCKcQ(^L|5EIJT>XnJegR88voJX!cz)oe&ECSHaE3#Qn zkT16hW|PD&lr|m7FadVJw;|tl%SNGZIX(6koi+8rlZFFZ+xV{iGP4m(ur9Q%uonW& zhDxSelsI^`uUsw`kR@Hd0Ktsz5W=qqetyt|OzQ>*@Wltq^rAf_z%W;;o7B{2ar7xy>8Mpf!U!&6;cR@W z^$c=tLG<%Dbjk62UwOS=m{IZGkT%ICpJ<(JJE8hKg+|f*(3^`*@zWO zI+{FMZhbNB$zplFJI_R+-6ZO$nmDoS$aQ5lKFHgkukM+Um0(2T+{%hW-4~;X(W<#7 zN#oZK;&p=0d|Mc~(~^NwYWT@mMrUK_S4+x>$6~u~byCBy?eT*uV{R zB4FA2S*NYK9Al}}S(%8>Tm00SH*K={a6`TCay zjuy<}!sXRHtigN(g09efuw}ooE{1+n(xl7m&<~u>95ha$hoG5$Ie!HW`N5qP+u)Ru zsa<;SBnP={a{@U-UVc#D7H|X*k<-o>32i{IE&-b=I_e0NITQ}j@SDP2j9I>8EfxzXkxU|z_=y3lIU5M>s)sv#D%qp9UUcMdDv zLV_}Re`)$!_<;r@J`o4L2jOv21gii#*yF&suJ4|rf)*$0!DbQfy;ICMy)QobpTeO- znMeEJ^o5$fQ@zM0nBL@?c;gmo5G2p!*PogloX&8Da;8KiAzE<-S7dUPz~MT(W@i#6 zpOMw|HxqXLj&(me!+@V>;z?bwYrQ21WB0o~)s?xc7;GhbH3ugYh!zNJB9*dSg(^CF z-O0$Si}38->2eb%`S+JiMO%I+`ECi3f!VQG2pM6j!Y@938h?vp!lMgqi3mWU-7+H*q)hz7_K4?@v1mrbvB@)z_ph## zD_?VTdRF6BB#O{W@;S4uhdJ@0Zra|KRR`N!e((JijdH72S<^>L{qMhLQevhP&vrTC z{#tl{gRvIs-ixj^=rU!h=SDwC5_e(~Vu4GVEL3R4z}c*W!A#P)HC9u(;z?smMPR|A zmZQKR>wVJXE=gv2a`}wP4iU`SqKz`Ud3*;ws-%Miw3oQN+Cub7eP06c`|OrTpYdcB zh))L^otf06Tn#5(r&zNs*pxQpVo6#M7p;StMvon3r2`$#B^T`K{AFqtVP+q~WO^R@ zTVf9b8~CjwM*)Y<#$HMj9%9!-3J0bNWk9x<)TDbbD##hbW)BUrv5U_)WJ80ivOg)% z-f&wi1#Nk4*%UUBQL9ebZE=9|-U=hLd2o(rhaFwpR>REh#5U>v!#_CySf-X5;)P-4 zGcsw>{5d>Yd((-?>AXBVI_pkc^Grag33KZ$Zd_yIx$^;FI~B5R%bV75O3>;(B1I$u zJRpe)r3u^oXgm>_*RX5ltakP^P*-O615FBpY`Mp7cFl4}ex&MjaYo15>UsNh?jp0U z$NgRPuyGCpWE>@WjwICq$#%RfEt5Jor-eB{N#;Pm`>@kulxCIWqP1fZnvT4?qO}uv zov=ho_EiS2V>jED{ehsPo_TZ=55Yx0daeg*F8igC+PFj-*!_Ey;-aNJ2)1Gex zgIH<3^lLTO#A~Vz4@Kn>^;u?mb?mTv&;?b1fHbzs6ww ze(moR4odNWOj5;o2&W6F0jkgLeM8FZhv2{`DPG}t@{7GUH-2`$UpXAPA)%UJ5^7Ca z_Y3FyzPdG?^`3zA@>)>JTj1i9!_}%}%1FeoiXxKU%M>q6)_#R}QK}P=NHsim zyd%%+@YiM7gACJgnVa1l@$=GaX`;ajdDQLAASZNa5d&|(nCE7|8FJDGuAQe%fCrUn zc^uSPlgg9rbbhrYMnTH;9*!eTVZf+y92FO`4HAzQXW{mRB-Dy_XU5}MMSaB;cHMUP zZN>iF^iDoeGUeNVHX5(kVT-BUyW!T-p2$MO5W?lw`IL2DY;mcXj(nd$RlD;x-WPS6g=-ja!CW4bda2< zP;q^B9FvMV|A-dAyWhBZ5MGW)bkcYNeb-lD;RNN>>PSh?``>9#pw59j>8Q$ll-m3D zM=)tTf!?cYuxNt+wy0;N{SlaxodN}>p}qSPm`+z4Phi*a7!Dav;JD!!CXFZ1du<&S zOi)~`^Jb;wTGjMcL22~xsVpYZ?b;JKaV&v};}QJvXdIUD7|cnzNR?CNETW_NAp+algK+_sP$GJ+Aomqfi$g7PRQXqEqX& zl4!EdTW+>dAtA+v3Aqt+K6gI$kSQF}W|t9}r%uGxiaCCU)y$FA67iP7R8ODMW1qXk zvsQ3UIo(Z&)2r~gmslpCz!Z8RbORL35py-FaQ-1``Dj7)hP zqVQQX6sk6>B(3%`3C#_v#Bqd}!}Peshl|mw7D^0dM;Q;TEodAB@inC+{*-2cF6*<75{S!wU(HN~==lxcdF~BX*!GJe$&D1&a+H|m{CnI{t7NGd zYKC9UkLkY?YZ2k3TW8lhlez^CIU$K7?X|;p3>atU3%z z)>L5DxC4^EDCzQgXJgm#j>KLdid@kezYdyK!^zmN@~AFm!y)v%_Yk|}H8Ik~OB{cP zImo6W9W19sD61e(LYyD1bWs)!oQ)d*%g{NGC^HMQrYILH<{os?HA`bD4x=2&Vv;CA zi!vRjL~<9#>o!O0zfdf7w4IIRqm1@($a`qkQ4ZBB6rE=1n167Yfl=NjCzWAUMh}a1 zO%60G!>Dg6A7!RRF|TkQT8qxV&7t_##3VQnEmusQru{}G`jmJ{m9SQd8MjrQrPa&i zM0Fx(1w{6vjRj=MeHgazIcc?%94W->97U?mZ8JN5`s62h!(>p!a0q477ys7BPoJpH2Km`4=d!kbmT&|G9 zh;9}q{*uDLrw`U*|pS%}c5H;7=LA#>KauS7@0QH4mk zCeVq8;iH?xnIMPm9HW>XP=`nsLv+=OFs16~J5(A8TM7)L(mfFr(mfCq(}SZ&lb`#k zL}rs~iu4XW{C!*wGQjslEc}25e-{>yz!o@lk`GWzDQ_>9t^k-0Q8&WRy;S+&prE~{zm<^L$DN2u^4K|8 zicIn*=Om~!tQ}P9E;#N}Y|r1dHvLzERuGE~rMW2IbRQS1;pNOjHLX;wvGqetNHOzC zhz0ksmocs1z&*lg@C0BjXlgepi2|l6O5f&i7!Jvp?=N2m3ujWT;4&t2$}Mz&*GRQ`vK45 zvUpd#Ptn326EuW0KaC5XsBl(NQAW&@%epFKSdZ=s(Nh#I#S>yCv3Sgli%mbyk#Y2J zdQ{&0qjcVd0fb;HU$-#!@x0jR3$Vv6S8-{Nh>R2+@$qOPI8t|aVQSAQLNdFkzg|{a z3wxYV3#@+NK8oF*<4@63qiE6A_)C8!7R~<|2vVX6GZH=jHG?H8I{%)A!z#w{>hz?8 zM2xAW%37}(y$y7m+>VWX+9J}y?Na7IONLQh!CkgGr{E5NL|uVJUoNPsLUx&DpK|cW zKCWf^Wq~GMEziydx4aW18qr-{^mM5h=G%ss3eJxssfw=Z0Wn34c}N#TGb48i&yVcw z0s6wWr^m2?f`t7^Q=XrS2js6YY{q|`I`|gxA1*lOD#Te*|lH*TI~hhGg0y9!=AUU2Ov=U;o7Mb--k12)2V0FUD2-vk^nJgX_i| zOr8NUm8dI!esOqWw24@hwG|?;yc0n6;CnpHXsK4cl0mso^)gz!!d{`=?mqRFG8E7icRiX4rE>7c8UX5Cp@znPi- zOH;p?$a`=Fvr^-bvZp5hkW7Di-G5gi`t90S&JVD-&moO+F3J1tTsS=$>HJeNZ>wu|@$QST(rrl9P$khBC1S0Hl2%3X zBH%i4T4@JhNyv{un6Vi8b}-gC)+1d1C3gZao*aA*gR$Q4T2n;lrVxm0Gl7P3W1TbR zhzcDX`DrB_d!Zi>v&?@sMGLq5n&2wLi>hr{LDZRyPe@hU)I$g=`dH-sV?%0A>BX|pCZ11}RSpu7PNI-LkN zGTRK2-m04Om^XKXMRW9{wpbxhD_FGb;^3rldiE*#qUrrB4aW(X+7}?CiUZW2OsFh~ zeK*<@gGHGM+ZFXi*#jr;Fo6QSiYTe0aqO17Gyr)J(O2gQKH;lV{%?m?F%yc5OsE2q zKdazk_ETEq$8N@5peOTqoF1~jz9XF9MylVw>5l;vzptb60trAexrq6( zQ@bg^g;bG$H0YR;1W^U#W={n=0TaYi}Y#LougtRSpxIg&(2rX&&Fk776 zNT7KX&4#7c`L4wiv`*Thfh?5Kr34jYtx7w*Vwe(L=~-NR>zqXxblD3NWQKqm@`}F* ze|m=gTCczl%ZHLr;BxW>Vzu|x1tBhV4mN2g_^N*n<}^|HZFM}1;`4s=Z%0h{`-3sf zyvu%(5Lc;9W9}V<8+dH%lfZQDv&_y{aI)Qa47+hM5)hU*&2hY4(fS z_7=>)sh?*`8MJFaj#+I#Ky<|c13Eb57r265zuTMY!B7{^ z8Yy;#97}u_iOhngbF$Nt5UbKtlkUOOR+jVjr(X~xa&Z3hdd za&19&YzpEs+fga3RPAVX8UNn$6wcK{>C=pD!6L9)c6f#{_1GaS_y=c)(iA*?J0!Sa z>S+41d^HaSQWYD~L^rlDn>B#bLyMVF45{JBv5n=~Z8yJVPR$dAsU_lT75CvNj9x+< zy73@}YbsnG4tM!uTStt6$23H~Wf;5MZI?|hf0{s`&Tm0rMGo#+^RT4RI;(=_aInnQ3EY!1#MV7`-1aCD&C}z_OXVkKaB?nc} z^<{E8FwwgDSXn3$R~bx}(pKVNE8G}W;Z=n2Y>n0psY1Fr<*s?$=BReuB{-0qoTZ^g z)P@6zg3FzVF2DjM>>V(cumaOCR%#**0TYsU=#&{dBHt2+Hp!ih6qfUu_Z6)kgpEPC z52fYut-D3x4Unrj3QKJaNeF&os70x_vV!m}$ZCnfRAV*8FEY>m_yS{`F_H6FXbSBiZ$@u94o+{`>zi7+6L4P$lqUn_HQdXW)$nc*4JA6QkmIGS za%C}Vl`1VQ{x!6q| zvn?$I^N>+Fj+HsZXcT$=Ai{$^;$NF|Wi0ncbj;&C)PAqSQ_LZibcM@db#a5}eDu<2 zC(y|`WT1|Z+%6clm5!O&PsM^Pd>;tK&KlTrtAPq z+?_bLt+#iPs|~f4RFPC7wNsGNpZI{*?2zB8)H>4Wv@^uVW;Zn4f{O-GutFC(EwAdG z1kofCs$4CaI+?V07g0n)I<+@3%-4u>Z?sGwGKD0Rvihf>EYE1wB;}`! z-X4LX$BO1OVN&A>PYEH4^A3XtO~;==+Bp-@dikQ8;39jmDmA(rY zI}Ya2R9$hxNKfAPa0T~HXeWQ(ZucDE6ZcM{TZO+lf}WB)WCGbwXKnwO>+g*|#8INs z4Gg$>dq6T5kXEFmak){&aFKx^VR)O;n!^lZ1(jw-E3WzPDY=-lT;(K=h3t85{Ef2w1Dz+RdjH(Atl{SgP6z&p>|)6?rxC+b~}3 zqZV~TP+>G-Y0XbpMz~~`@IFJCcY4vmW*$hiu8c-!`)8-ShT*>g)cR+~ho3I*c88-Q z&y}Ui^;LFPb0~W}$Q5)CQcx9kZ=sNF2nCR-Qo&DvCwoB4@Mm@``~Jgo#19upqf8$t zQA_HTZ9Nu7+|L1c@Bu8jaP)byGIiqeAWP8M`8sBglXb@P18~P*&5KPvNZpP;U<>uB z0RYEXq>7=@(bqpx?{2hHU=>xqupBx07Nkqrx$PBS&`ENYEuoogJ~)Y?Qo%0Olu?DK z>ajYYb5&kyuZ*kE%_8N%JnZebaKrM!IR7a{DEfJ+jtEqDztdy12VhYw)OO#_iOz<#V-LQ$@z*$@_KTFsn( zbySgTu!}>2lU44Kh{(^&xupV%3#L-w0TtSvUpOA!)qaQ=&=0R;ArsC|dugUjz6`Rt zy34;w#$8o#nmznvwOK zz8MiUxkQKGjN7;OAG6*PBAK}**S1O&0!KdV8~+sn-2b}l0Ok^PAh44woZ)w<-%N+) zDHR`mMdlV0ksrKBA!mPLkIpKNoRqck&-n|G1aad0ViL!P(2*Cp@e&EUF6syqlU$g~ zt(KA?PV73uxCWUdDnJkLX5~;lMZe*SD=lvL+ zdvkJDYlw5maG+U%jt)Qy6M!$}QAz|ok}PF(@P0wtrNx;@7C%34qEd^5kWz8QrDg#l zGHFZW&xN6Qjf~TSSEM)@z9vVh5DbuJmApj-H*Zi>Sj^Iu%`B%ml;c)m=1ys{?daqH zv*ou}R8@W}bMdq8XoS7V)N@%m7H~qM>)a9z*OvVV7s%2c9 z`E$2Ko3tWv-g&=;<(5G^R0T-9;}c@!=PEzBIt1h8Gt0slZ>^FRE^8pA<)sv4pSm=C zjPQiui`4MZ9Q!(~|%rwEPS8;mJd z7Kx0iE-OSHWy)rrwF&a`6+=Ajf{BV*$r%%KhUuqV6w_AWjcKAwOaa;XlCxgdnw%6i zt@)%XpdiN$e-Ldm%#^FMn4E_qH`aG@ljSc}nXHO878E@*6l(NkC$6ZKD={E{H54m3 zBbnr7T`8Pg)B?9kFX2i#m6wN+V%}<03SD(2Ecj;td=8Du*%V=}uV|ndZ^y*b(ElwX z`*=#YE_k;%167aw7?sx*Kg-f}G>-sIB8EWKqTqufs0L=3S5fu^JjLSJRjNQ?mW8D5 ztY?7{m6J5TTwl;@gPUbu+MlLRxT(~b1%TkO;-Ira7a#3eNU3t6Xv!EQMVq`Lo$b+`mv-XCktco_0 z$iqdt?pQ`{CkH@pImma-;}M|y$x(k~<6nxDW1POKvWs&K+rPtqbW4y|1n=wtD=vDcw{SfDqRNQ_1xtXtG4ZG}$~~lp3R}=TH?plb&eAE1q5Yj4fak;0KTb%}AQ&l6rcfJE zr6|Ycf??9MrBKbFY41bOPE!HWlAqGEPZ#(W(|lv$Hl zpcv=H!7(CAQI0`T7E*frC+N(fFX(g!Fav6)TeEV_n;%e9tuqMV%DBSm)>*9437nRhH=vuWehiZ9mf3|IWC>=FU%%T4i<@%ml+q3gbO`t^7iyhwe>%L%%!s~ z*q77%bdjcdLbd`Wbm+V8jr2+&ckYFlf`4+!{x%gE3VN<#M7q@g=Fx*o|=pO zga|768K9c|Y{y_(vE}TPpS38nk(3a^+c;IJxy-&QU#({d3OAxzIvo;L`KK#m}=>PJo8UKT5m;gwC0RSAp004m4+9+IO zJL&&}Xkh;rqR|llzW@y*Bb^06J<`1@3?{<#^wx}^dfz>L@VQ&SaRDnnK;Z-~f;xtq z7>#ZIJ5Ah_aAawU)$&51gC=>;0=8l;kXlNiW1B?|`|l{QNcK`@nWGgSXE*qNg-m?! z4CX?x54yJpZ{N+=${#M4KEY!Y3WxKA^Hjvi!9)2?JYxz~xBTVooR=$H3VgfYJRZ!$ zUn9>bmrGzC`M|ueJP%1|G+OX=T>BIHt0jwtA%fD}+*7yW+9}VltNq;(5vVHoSOHSD zjgjQDQJ8*#P1c2V{OPoygBJg}Da=xLX>yI3kV`$G!3MtNdfiTZXE-|7^>XRAFFsqQ z5%9uzEQv*ta!~T9Zc_SV?K({tRKU@CmK>&P;B@79Dg=xCU?oS~geD=`tnjfq$7+r} zEU=^L?81@?_xL#_0uXpYW&7g$j-zs2lS~*nd&ImM316E}g5bKOT5oB)#ky2j&M#C3h1^)d@oz}9YD&GB*KsZ2jJaEdZhES; zyX!4!*i5g88PSBENgN^SW;Adsd5Q52Xqt++^4IM?^ksA%LXsgf8VXTXnV?b$M)IiG zq@DSfYEUefmJ~{Xz7IC&<(3TEVOD`$jBq|56{yi6+u#Lb9ky`texY58>mNTpjiN%u zgH3KV8;d>HV+WpCBiAO{oxbT`xRYPYDt->|_xf}5$|DP&Ko1;CA3}n)|4Pflr;RVlLjWu3 z+OdeSt#g64kZWP2$y4T_zpyk&e31a)wQU~5Chq`W+2d*Y1&_)@_y-fT6Pzz$8>VsM zDbRK%525!Dg}#tEDyF|ZwnOf4Q*Xnw!pO3-Tsta{7sG7l*!xL|jZ)A4xmHG4Do|Jk z;^LWVMDOZn@mFVzK<1RZ)z6Z^n>;VVvnYX+#jN&U(@_Y0{qaD^(F{P(YerIBT?mvL z)`zx068}Iu3LeMTWsGpe4Ol2?@=&ZvmZ$P1ZFAsmRDSggq1=# zzM@j7{Epp57IBU|cTWuPYPY+C| zI~`;Cf~1GNM5JY{KcMA$m+r85P-gZFDEA1lko1J!iGD_~a)o*95V}xGHRIzNMYUTk zM?Y%XNI5P^SwT!np5H1e-s=*t~NAZHTW1Sg_Z6k}H=LfMnGrH>h?A6@v% zo7}nmZkVrthb*qh5-=;UDME+}tT`N{QGkv4QXpZ)cfHE8*3=e4y)=3(tv}ySjcc$2 zZFM66iSVu1fBE>$z}HzigjmrypHV2ndH`24I4@;;Wg*RKSy&!*isovGzUx}KZGoDU-*HA5YX0g zW91{23=~V0Rjfum`1Ef*erO}7-qr6VN`rJ&YDqM^Czxhw@w{ERCG(TATYp6b(-=y! z2CeP7`~kEi*{y^E3)`%@}_DwTUD{pG_qh*ff)5!Wvy(YU%1w&0p$T;!!z4A#;j-=u?on`(#v_M)0>;WtZtX zd@DGqi@+xTY|RxnuBl74%Dj(#6MD)X&V=i137d7bjkL0CK~z7a(`ynvq~TONzf< z8f3X{&6Fcp*~<*W@@GP6F4TWL6x|bMqJY949dyTBIw*k9snj#$^mCwbJ^%`M&JjP-_d**p@^Kkb<$;?0itm%on2}Ul=Lb1>{MQs`kxDtOtqfS z?3)9H>T~6eaw;SRr(2$tzS3{5y_#wT)Ei}2O>k#RmRG!A=CCT=pZCaG1d)Ivf`r z@iQ^349oq8;VC%4@=`p1aHyr3Ui662$y}q8c~anJd_M;@QKi&eREZoTsb#<(yA)`_ z8`#+-Q?T2;6<(x@3rBbelO`edXo5s8mch!8XxH3#C-bvjM&s0UlTE^nlP@V#ik><$ zw+dX{Y`OI!g}PNWCMU?1prtU`46r~VUX?;F!~?3 z9`XOc_5UAT{x4c@q-lx(m@qxPfGU8w(|6ILdGD$@yXMYpJW-5qlD)QDtjL_y#*0*x z%{eyQv5ZD{9c(lbjYb1{ z|MiU&(ABtzMuT{k2KY?nKlic!t9JME=noMv^6Ma|5B9cjfQ9}<{}cXje|6Mvf0vfr za~PC2_6^rJ3i5~Wr+ePFa1$xfi+=?FSM+sK?1wi5aQ(}7*VA+T7YFf6uU?+=_ZH-T zmlpq5XCUq1JO7(Uv9|Tyc?JKr@pV%87q)e<^#25vH)_be*sk}qfi(GkUfg}@i~4%H z=i7C*R{XR7e#0^DzK^Oe{ntC*zm`hN<@&vQ-zk0$w!ugDn06iM;pzG}|F(WbmG;qp zPwUOequg<=jlTfA3V0TARy-VBytHWEf6G3s9C`F+!4LiA$<5E&&mInc%QRr_u;$bG z=Hln@QK852WaP^i;h1#h_I!Orrmuc^|7d@&iwEzgqX!qf7(LG~V!Zs>_L=^SP z0fw3U^z&f#>FfSK-am&2M_Fd(j=A@*o7bvQ8^`tfJ)Uk(vdN==!}Ie>1O0u=R6n}{venuO6yEoK z(*AFJq9T36Pb^fwo)Oov-5qJ0np!`A;md^Cem%B&;yK$3&ek*X4Sz1e;xRCWdq=_h zXVLId6NAy&haX0XtP>3b2ln!L|Lg4ZdGKNS{_k_c=JR`hKi%SjzWr&3<;~goLD~I$ zy|}_1gr@Azlb`p5hLj8SJ?3}*p`&5NCA`+u$O4i2xg&Dh2dFJj(*BfgKP z+k2Oz&E@+z9`In`%^!*70nIQ%r$(Mn#xmmvJmbCM>~y11ZFcY3<@>y!Uys2p7s=T7CZ2uo zefhokhy2=WtSCx(IXJu%ALbmv=gkS%_lwJ;Cuw*-k9_(f0<5y0^y1U2u-{*|`mo?p zQF{-dU2506dN?qcU_Ndyp8~3T$Mi$|ErSncFxi*Qr-whmsDBUn;>pq2K7Z5yvVY$P z7h-$#Y4~BV*KePX<g1K zxvEYNv+VnPxPRrn`kJTIFH)YUk;jAjYp4DDD3VJLj4(rA{W&?m9NlgGJ=~1nQ?S?v zoQU7a{0s1X0^S;be>QGBA6}lj;K>>GoC=%b^lFRYFUKWYg9Lx#s2BU{bg0%34iC?h z{NRi8!?KD0cp~`sq5fL!_x(m8eBWmuA7niH-)>DE8NPp`%agG@AMhh6O^rJUCo;b$ z@JtsPaCPb+nRM}e(bufG`5_63vnrQHs*jn2 zC|JgwgcF&R;c>+W$=757s2(B#B}@LjxBBsIZ*vMzd@k~8#nG$xgQ}xclhQ})CM0(E zH`#dY8sdb@LWKgTxDQuUdH@M*R6z||A3G2|`0933y(rd-vDE6wE#^lou)y6`_3`$4 zU&-8@x~|)P2wUhY5FUaETf?{A_MO^ChIp>ci68vE8owy6IPppN zM+j>APq>p%pjfPPq#j-{5kYz=l%To zwR7$yQJk&s!YWP;u^@^OU(fj@**Tx79{!hRJC}psdqEvik{j~FC!OPFsSK$i! zzLM4oHYS}n*d<1ev;i05SZB%Wx)t2%`s^lvE_fzm773cfb{-vaWy)M6aVyewRp!<} zjFLd=fKe8zg|7+f9^}in5fZTBrCNbRI>UOy>nRO!SvXVixe|@2qfq-k@!Q9-H(ln_ zzUOuj0TIvyu;Ne>4G681FmsfyG)VF@+O=_z227zml&WDZFT2iwR5@i4qsh&05dadF z6Rx_|=<|^VW+B2m&FuO#ZZ%-4E4%QlH9+IvkIH@+atgVMtW#%L zr8*)MMR~#$@;^_Bp0J^Ob;-#$sBgY?V3k1PJd+D61AedTpNsT{zr)Fw`*v^6{+@3pT^X+AMXA1u zvjT`U2K6q+w?$yCg$I;qiz+m14jh>pTj2ny(#)g8UrDXw16JG_EDcx!$i z5E{7|;1}2~MqL5|!yQ%L9}!s66PFM2WpI#@_Y9#CM78Haj|OcJ|9R!s;=rR$w!at? zDUFdaOk{P_%{ES^6Ie`x8o8Dt*)*bI`-pkgTVhM`gN07tH% zY^g$^g~9W|a;VV`*xs^M09ygqU{fL|R&l05y@3n^a3-)-HyOPdOd2%tex8m_eEK3U z`pdMQvB}B$UC57LeLA}WiABcs$JSI1F)6ylx#Nm>r~kuLz+h;|B|O)9@89ZIl# z>XUP~2(V;==om;4k7n>DBgqSg;Z=9n^zRrZVn&d5j8F zCo!Z#vz?(eMV9<0K-=Ehj6tq=+&y|r_2a4Q(vTU|_gcB!^bK>q-$xEkE4?U+@2A&* zQi`bFsQSv0%11^ynlQtA*DPPLb8#G~8Q#2G#6`wZsO-@N%M8$_dkFaaGjSCf&pLHU zwJ?TcidT>{DVih?It3^g(Va3}k&F$N8ZCB(6hTScZp!!D zl+QF{jXvxvdGTVynPunZ$;qpaPdBe|D(gP5zY4U^8KqGACmxMi#)_JQ>><%eTqul? zr%PRvOu}X-klkOFf-^oXg)JpU%JK|{E?AH}$j?KeQ6vf=(5I3I(Bh8%D#8hSad?Mp1E*R8DY!ZwT=Vp3Jf zQM;6`a8I`ja1$+jvw^Y*mXA@!sR>&USC*BX49*0(iZ8Z8NYB1aI%n;1q?)f&aspf+ z1iK0}p0*riXAKOanB6;-C#&08m@Dt1tnbD_NrOze z1U+G^ux=e2$MOZ=1E)43x&_27q;21!#5@$45v=VqjapOEb&6|vfU5Fbwn7%D(V#h% zVn}Cf&~q-%I<`wJ<41CvW>Asq0~`)Aw(VYW0nFpp-53U=!Mtdln~8I8C#xSd4fJ`= zX5=S0jmz+zWwD<4^9LEkqE3)KL4a;p zxo}`S1uLlyor!T$R0Bq$CDEzfuQ}6{u&C>J%y)1R05eA~8If7rQdrK7YpYj^xphP2 zGNd_tZnkiG>$Xv5rurJn`@NA-8awg(O(m|iXPNAUaZ=3bcyc4W6A%@J%7)QvC_*04 z&vaLl4FOU%xw!7*f;fW3-pN4()}k}A-D0~fg@gq%<-P4TkjV1YP#hPQ7!DaiT!3u# zA9Eqk$;p-<%W*+&c2(EmQO$!SsAv4+V=QZ-ia0?rU3Wv1ccqhsqa2hV~}5#Asx}+GFO)`$DnaZk*9-UbdDKrFYV+ zd+>D=dkOD!0G)R#0jQBxRDP(eWeH*cxgNOyV2@!bRK&yd^M7N0 z)`&_+tle6n%Op1DHIG8h57|WG9ginIMR@m9rXg!Gei25QB3ZHAuNAm*>hR>@)ef33 z`8Vl0=W$6rfSPx$me7huf{(Evod}%^DHsN>*X)G z-J1BN(FU2O3lc^3=TT_;gFWy~?-xgvkajuJq83;Ij$S!b@-DGpM#DMrg@D!xIG>2h3g<(7W<`nHYtfzrU_1tmfg`*dx)9#(of>ZEloq$rYhWmKXm4nJ%wuF; zmP?;o!~6BjjJsjOKmX53+hy15$%z&qE#%9D4S)|R3aXC_NvdBk%x~I;{KE^fMjPk~5ryxyT(we~pA=mvadfIgVZIkQTRI&QZ9tRN$@n%|nD; zod8Ws$c+<2JWcfp&Y@xI5=IxYJWh{dQ}C;@J*?#Xk0$OqsrGOHOhj%VAest1J&c5d z^1fv#dnBBhO-a&-*Sips#iiw1dW}T5)zz;)X=|{uR@_=SsOp>U^_LjGP3sk5`6~}n zQb}2L%^X94QG#mC#9&O-hzlvCdl=1(#Q3mu!=xqQ<=%_8g#aAJBI_)G zY4`}(kfL8LL#2Hu_~d>IuIsgL}yt6tU$twEAOrG!mb5~gtG0x^i|Rw+ZEDlpe|twg>!ckCAhWm=&!j=GF?TJZh>iL^I~_5xSPb zlG>$yoI^-4i1O>~9@(mv=d+ZKJmMk7c$XOKR3L zI;`vm%AU&LCR1B=V@K>@nBDgbyV1kk7YojMglN`x(*lu$ zBGorqS*{I0==rWoX*Sgpb_;^sM{QzXgmQ5YaYW6k#Z<32s}>7_Sx4*U#T0m=`Lh)8Xm;)%5JIl5KW`?h}7k{iS`VF(HYfx zsoBU%dmmt9h?~froee^h=}Y**V#wddjdY|(uW2nf2`oslxCrovV^ls#nM0S9iNXW*=D>$kOyLTD@cY3rhKl$RTSXDFbv+bilqI*ld}eO z)|WoSy3A!xM)TmvWE)~Tpk6|_WjQ^C2E^-NC)s9o!-nR8vOo>YYH1t#%9bIesUsrV zx%BGc8=4q2vmB%FHXF|e6Qi;5yQh=kR!&XL6v;VV-*=#zfyQ*Jb;VaCVwX{#LWs-a z8RXThDsawvGN-rs;R^I>EL}o&=+?$kDH)63kIzPE?khD7>k&XnAWW`BK^af7jjm#< z*0DK=GE^LO9gsI{R2lsq!4Q& z1Ul28{tv5l))3^!uJ2KM)w<4Uhx>tBdxGT0?jH@-k2v#0brJf9ZIB z5$_5Au%kvyluflD0UaH*yKI}NY0J~Xrdg63t3vWDXzuO87Rdj@sas!6W|h9 zu@pcf=aKJ#?b@c*&3T+^eX)478Hs(NrZ6!WXB$UsP1^^BpkVQ7=8qh%(1XVtt>D9B`emIfk%57n~RuXGol}&CSkX9t`q#lF3Wu zFTA`G7~iW;S?*Y{jaY+z)?BL{%Fm9XzQ1hxY6nR2+vjL8j_3$L&hc_6_z7SXsU}L$QY`k#A$Z(D2okJ;57e)saErjCM<0Hb!)A!ww+V zUTd_fGpq#@%_H>mhfnZxlr}=DUfwuB4$09Df<#I;gf}eZBM;On^26hh%7YTk;T&c$ z5>VSBV+|I-Tt3PwyXgf%*y6&A-fa*Ox6H%D26Jv!lN9Tl_R>n2-z1+2J7`TZBixQ# zvppxnhMDKlCW6ROJUae-oH#r5;nh+4bkG%{R7bQYv1J;>#O!m?ZiQ#yW{tQ98$5my zTn6XjR;;g}*;cHDD`T;7#@JcISWY9)hd%R;?bM$6ig>4?@6H^*$bUR*9%}TG`btM* zTJmRf_{kEzpE7wPp5bhkFNP3`#fWuUmeSo4S5^qiJf@z-16_G+5oWtil1;`&Nl zCzOk|LN>s;s%J)OWxsSN|j^-?i| zo_E)Sc{{<6*Y6Fl!68ne7P}_zVMw+jax9Nbv`dzE;yl~;xiWC*?j%r95I!eGEdkmq zwHT{KQQW_l2zueCuEpAb0zG!f0i;`jl}29;-io7qBG9YVOK3wqrFxpUr}$d(rmka5 zNs{K29CzIonEH9e_36*rr*op%!3*MaTo^n?+$8Lmc5c5ouI11cMImJ2(exM%(+8-a z`U_`+6;!$+T)HE75jgA~hGH)~Gm0C7f!hL}E9)gIkxRG+HN@_w7YamfuaT zz9w-ZkZ_YrU|4FA*tl(e>d<%I0U+1MSw^_6qdH5OD!SCr%)nk{X$<+>dpQRopY(O1()ET0z|{x`3pyp>&}69ao~C6WvgZ%=0J=ka*nloI8k$c@ku2Q3JK)QqfBU4<(WLUE7BJ73~| z7|;j8GBe;bs^sF;vJ&hhMT&&rtfm)^!?x?RRtI2&ZvfCwmIy_K3O!Rvc=N$B_2gbD zJDuLUcb^icmL75+xZ+k)Rd?eN)PoF=lX&np9pHCBw}?XCs)5xVG+Lp`IwMvoRs?=l z7X++AsM)WQ9}=)RJV&q~vln{`^)Qt`W>BFnig@*I%4wcn zT*@vHu#AF=yp9wi;gllhEds{+Lde}(o4*+8izgT99>v?aIA>nU#{44| zfX^SWv>}mi$^VR06>!==77^g0CCKE;NtySj6d2~4<&B3a;|nTgsPOhCjAD98YcnK~ zK8SxGjU{ddTt^0~w^cy~;S?emo3EhvIeGsgyC!gS zb8+P2&A6E=pRTXNCPU+f>O&Ppe$7G}M4HUx&O<78e< z;_NR$>m-*o(d$;W9t?8sgoZ0pz*i5YSs$*QwRP^@(0+YwecU{$jh6X5*h7&vFn~iq zsc%}8o35kYv`)^#Yk_)KfD_ZznjF1b0hK!pkky~kRZG;1{|XJT2~dEHpcYz$YWQJ7 zgn4rbE*Tey!?MEFa~q<;oH&?VfRnSHR71@nxW7%Z;mc00z3=HX#z`elXuVwF(Kh(t zYllc}yaciO5#xgzz zUG*ZQ^o@)kF(R4{90W_RhOH56;Sa4&#d#)x4>oODdO4$Usr+;5+8a_coAtGD6h*i< z?M7YH#!48WxVDcj8V-oWJu8$1onDL9K^Br)mkYuj3ye*GD%K=JCz%FL(U7iqx=(oQ zfSZxc92@uxe58kO_W_f#^e^0T4pk$N7|p!{MzKPT@$$Qgm9z+ARf@h%-jKrp z*%VQj0o+Y%CzacI@yeB3d!HRC3{tG~K5P%Aosb)oY!x9-0o+QlYYvv0PQHZ-@X6*Z zOVH;LXVTt~@1SqJO(gNnzynK^93Y8S2Mm5WSO)?bNkapA%8EUA%cPanoaB1tgb>t( z`l))jBl6>txcxrDw+>ve`{A~-nhmQh8B1Gv808pZa;BGy_vF`#KVdL|>6w&skqO-i z!X#s-lMf`KOuYAG1DvRYJrjdKmP$mD!vO4E)R`K9m4=7WBCx=04O3UIqe$A{jFNg7 zytzYr3b^`}$8svLTC(^w<1}K8o+*fsX}XQl$Py%yI8wPEBJv<#H`*xWY*lJw8n(_a z(7NYstkVIx3*sE-#Nl~&jxa_N{*%2JL_&zfEVD<^HKr!ob7Xed&3i#xEdhM(XskJ$ z?)61v&wndixGC0Gav_-?-72&SA=w+*A4y1Ksg^91ALgKQ6aZt_I@h_|15pE7Zm|Fc zYM2q|4q6QH9M~ftYL;%C167Drm= z&Y0Xfj>|Ar&X}THH-t~g>&Xu_0z1QzM50SgO}B9AX27zQyJgbKg;RUoDQFAw+#?#( zTM_zP)pNHAzR3NkC)p*+P}s3{(l{7uxzwR$LCWQ`O`$-lA=o0i6554B;y+D2lFI+O>UBX5*K@h5(oYSF2aUf|7a{-I2shyN84yPnx$1S>n^Sq_>mxmGEnFd}xu;XJf~K zy&mq^b;leH&?^Y%m-1t(Cf87IGeJ7KfwsmGKmjgR&&|+a#@fR66s7`$!ivU-omJ$amut)xZr&5S1{g3s~wX|#>C9+q*ETOZ-OaL4DsT8K#E33 zA+Dy!qf$*Q{dy?Yd~y`(5cEljp-BtEE61wGV+Fbx#UO?WWJqtR&C-4k4 ziK=hq%9=O{pxTh+hGA>LB~>V?-bQcIb7IC-ySlwzs(vF}U^8K?n5v(NQOh+AK`E2- zqe`r#%TM8}1=g&}1dczoh2-(6AhcrV6bJ33i&7JShXqvq;LI zciuu_@YV9#tS<$8C&G?JStnPHNDv3B$3kp|;LrYU>*68Iq5l4=>cj#C8lw+(rI}02 zK2B=%37ME+do8hwe*;pywvqcVCz1H(UEGc@M#d;eCf{YZTx}c2lh^CX=JuSsf+HC| zufEY3nd2;uv-0SFg*5K(@?2c2@C?V&Mnls)#DRsak+O;AO;_r=IsH_H4s>Ahv1NT$zhrHaV9a6miXyWw2!Jq(RC-=u*ACJGcc*nk zD{sHE##d-{5NX$L5Ifn?X25_uK)OB@;@~n}RjRbv%A`W=&qzna$+}}iTYpx&MykH? zTVjkGnk!ARuVR0^k|W&a+7V@n$^u3zI5nId7Q-EiPL6@%={ld4?P$8DeW#xt4dO1H%O+U9Fw+;>2YPrZ!!5S31%5Qg!LU(!1?)5Ah zUFw7*cdAf_-iSE}9;{212c0r>+sr@2R5<)wHq;Y0>MK|U3Bmx#rpY7AtHX!&;LXXG z&-T5^#iks7zhqs~=MWN)H?y1dM-RbZmN7dR@i>oE%;7AJ0m|Vek;w-sqqMAg=BGU~ zZQ@sQ$1k@}OG8ep@6>Xl3m8c52~y@bhU%5*HWS9FuoUVa*IFp0g8@<4I~X2D9RmT7 zhe#73%$Xd>d<5pN1dp*;TL>{>tJp~q#GcH4QpJ02|MBgHd@XO+)%T&Vrp2l1dyRSr z79Tost`jpi**l1U;3-vVehrIKP_UNP$Oo2s_|2m%JJ+X0-67^LzJ{`-sO_hcTUqQc zP=U&0g$yD2NA#{GMxE~UD=^9Wqp?eh62_%;11G}g;Y&yYDv4RONQD$w5|Qx`sG>MZ zOs4v>^$R5xWE)U$Q2j(zSg?zd%JRkHb8e|cR_0lsR7c8*XRD@N4}|eLJq~+n5=zp! ztgk3FX`Iw1{aDZYBei{#qrX9YT^c#_@IsTF8L;wujvW_#j@;JxI{Xi{+jTg&hlE(_ zJ_T7GCr5>1rc96(z58ww2Pat@xnxk{#@2L0`nJx!p&fmD_3x<1Nj1tcwlcYT{PDot z5~)-e2JHnHu-3?iYPNZB5d8FE4hNYN>W*Q$W^eWtGiY1c&$)>V>bGb)O3&^!hR(N& z1KkMa=+QD5kv#>9)>A)Okl>LvN}ZR+FGPwKVSNtgBeiAD^>@Kn_TAn?b0sQx>l))* zHZ;9%R}fzLCsiRL^A*-H!D^oEammA|??-`w>dP6N_iIv*Y9KKgE^c_F$VtmDJy+$^ z%T1Z`#Z^!XjccgURA)luBYuc6#f{*-S*Ek-qN(J0Rn}n)fwgJy+Vy>8qPt=9Z5MEU zxZVuE`)T0M@b53v4}XAX5*EJ3tCh(Ow-xLP ztujmqKHdJU{99Y=)6MJcGe7yvU&8KWtls!x3)OpmgYZlqB;MC3bTzr=Qb2eIx;}=f z3b!%Q>H2phd;=nw_|}eR5F^Ug(QqAsP^g1V1q$3;Kmh@%RN#Ivwc;HW! z8uA^UuK{lrDEg%Vn?aox8peWRNNk2a`ytG@>f3-Dmx(GBfuoxhzm=Aj>hAr z2OvC3rDm;J2MW)iB3lz!gZ%*vdtY>gm?bnoVguL<(d!z}ZXN+XfQD+!b}gtaY;rrL zPM5O&GdZI71mD9zK)vwF880(r6i5kG?!Mf9SJ=ZrelvXN}}Q)ld<66 z>dC8ZY`rOB75mHUtR5$Kmq}GH)t;r~6oVJ&SX3PQKG-{~sh!eiCsZ&U;x;QP8M5lj zBHpyl?tFF7oAbR*Q0=Qzri|9sJH-ndM&?kE6LA2L6C6+@u|r5wJ5LihE-uou$!O5F z9xH0j2JtD&+co3X7%t;>zA!@gncD=x;(mwHX5EX2*MFVVJ%W*>S`D*UYXmDb(}som zdNFEpt8_O{Vu$a4R#jr0acGnX)M)z0KB|r`EcbQk7@>&f>HVMRslc(3W->1E*hdYhHlFMC) zRk#}-XJZ$Hb5=66HA={L?Md3F22khl&(%ddm83;SAjy;I9{&*4sP#2Fuy|qIy#9!4 z^;A>Rd8LLhIs0T+1Q(4YC^=6Lc|6gorFRI~>-2Az#%Pu1gIuR{@nSyOU?+HPN#=e` z-`hT3f6KTWN@lMD3=UIebcM`9= zqxFt|Pwo_4&0Z7oCLF)teupSVXQ9zmpN0jlFc`GgScl1oU@|=sK7&Bw_-@K{QsVEJ zs*%px$l%R+64&t_pJx{rX;A%iuMaCGDTVG9@Mi>XiQB`RA0@zJ`JI+<)le@8w=Rjv z1oc614(no(Rp_?FLgLgnu=+6!1&;kQM1|P|AJVW4Tt%ArL2-nXjLnleTy%hv;wxxd z^-!Te36EGW3`>CWv00h8z`_xfG6l9<$|7Kc9NXiy(zMq2aSYU}_q(DNGa8SCeM~F@ zGzVgG2qU%@HAw{AFKmxyU1b>^vsNj%vU4Hs66rgHpV8&J^;|VIP#m1JI;^W*f<*mC zoEDkfl<#1WQ}OY5+ACDP2L`Xx1xLX?*MbaVR;g_(Z@ggLxGY6SxYTzAifL9q6WGDL zL&ExVr1u#RqS z%dt9%t+}?NoQrVn2UiBS>Z+^J6PAylc&TmR!d?s_e3(nt_pn1b!J3{Bm?Fey!M7|D zWD(OBN3WIcPuFc&N}{v9HXEt9NdnUft~@HPJWG!W+ptKunAhV)%aT8?Z{9!qx~xM& zxxF?gYNG}MnEJMN1<~B=E?LFTzuB-!MZtLChDeOIs zRCx+SGE?37X5QHjq4m{j6!THNyn`m@@KwwjkI(*inQKv~KMzcdw@qna--p9H?9_T* zCi$ZX|1Y2aXg<&K-k#J;`}zK!#oqPwR8c5@ul_Uf<%Y#xtZ!oUc>P{~HWzksI$xHo z3G&VXLeGD&Sv*<2Or$LW5~?|mJ6JMMOELezEgB&v(E<`w|FPkK6?7=!3n~=5VRJwi zVK5Z_#5e$9j#EMy!+;xMk~k5tnTNSD*^IR+SVJjFpKLNzf%X$2Q}zM^ah5^$05Vye zr~=y!6+l!0sDh_{ykSbXnDr$(;`7woA&{sB*lc2F*5ZIHRBb3Fh|Q;23|&Y%!ec3Y zXEFfCQ>Fwm6u=h4B}^eKe5`f>KKU0dTkD)Nq%R?!)!uY^#yu@l8{X^5#J>H?~uV%1{uAuU!7k%lUVtvnU?kfI+jUuspQ$t2a`g`&}yAB$LYn+ z(1Msk!euIZJ!Lq|pzQJVvprA+wi-Hst&r4D?13<5hJ`3OnxRg&nK}ULA&jTl1z=2t zS7Z368A?Dad6=XUwX<^IIoOWCO)5UbJWe&$V7qy@s}0;I0)Jpxq#N(mH?SUTX7X?* z>^D<`Hmu-|1HE}CtfYN-vYc-!!FKa~RvWku2F|u9vzyt#OIf;{2)fO@;KjggB!xtl$_7y3P@S%YfoV()PA`O8f zDR#pVKo?{%7B}8wDIv@x8k{mMH=3WrTBTfFiuKAjNTL*5b6FYZ+LZ0G2b7OhA360W@eD0%T9zh_8o* zb0ig}@%EI$x|JTtSJDH3EDGo>o|*~#ZOt&Kp+mA1lmK7~2{I=^`9$6s*gASvWTIyS;@(KYDsr9xwXPBC3;Kx)l3BXON!3QVlI1D8e|iL}D(BFnDLv~v zPj$D;T}%05{}iN`dZdr=_-D`i6+TQ!pXZaAmHYBG0pv6Qke)>Vznqj1YxvQkTMA@L z_SVkW2<=8}@ed`PYKd8B2rWBXN=>xqj>D>c@s51zO}&(a0M!<=dyEXWnv5K`nw4)Z zCIuiaYv&)TvgrjOF)b&lcJlU^O!_& z^9^SKEoTyNBI`GEg8`8R!C5tPSxuDiEv(tk1l?xRcxJ+FYi1;?L*^lXpzgKxpzEyS z8XX97HQZ#r*p$1yXaPA+qyT#YpeO<p(wYuiY2Da*UfDXE$a7E@ijk23=F{uK=M0Hip4ts_QOY17q*)1k{b1t)>4qkEJm(iHP&jT3tLT0yWXiZ zCIJ&tU@H@Z7DL-)Qu$ig=3sIn;3A+t70N4{* zvLcPCFwak+1u_%qcJl>18k(Z{R9Q1`J*qAZc1AI}Ln|Mb0DbU=_c04)Om0E7kr00KT+n-hJNemWg9 z5da_n002Z&Z*^{DE-@}JE;BhZHZEuY@R0r`3>gg!%-hXDSHJK-@O=)@9F!)b;1<~< zq6*`VNX3n`8g9Vsv^bi2qgJj47X^}g-4Qh!;N3@3iN@Tb^xN3LYjl&jgq%fhjvYI= zaORVzN8e!?(SRQW-rg6p`@etx@row$C)3WQ!t|Sb+J@dA8h+dP!aBR<9=Dn=&ah+RW&YB$XS*kLE-sZ= ztyT!ke41fsPa-V3##8DaO#0jvy~pO+5rZUYZoL01OU zvr(<3+n$K#yN6CTA|#d)4&+%>=PmR?qISZ63dx{18%mBzOTy(fA4Tg8G8#$6SzxUV zP>$5)zsxDHd@8fc7MS>SJf-eOBUqsf=P<3%tP$0sLA5w1{>3O0e!|$fl)%2;rD0Yc z?8Gd{AT&|M+N#nh3Te_{qpNDbKp0&%@N?e7fL1Qzh1kD-4+bjlvFVVCGJi2*tLH8t zehZ+Pu;+ML6Og%T{hn|UV~*cJ415b)mJaQtQSiNdj0plQg58`w5Kyc)(7cVK#E9kf z8Owf^?^5AOeRvAqQMi&6 zB6C?>u1998vt`wr$YQs5nEAlAN0?>9qq|YyISl_S9%wDFnfjN{Zve0i6)}kgk||=P z9NjSr)v3mwHd`U9!Q8Mab!urTREd4?>?qjULAMj#69;H+dozxd1H?ZC0$5S0VX6TzA zI6?>Iq;LFSSWRbR2&i7Y^FmGYP&3i@2f}1#S6C9rx1e8F+PWin32->CxbxKrnl->XG.1.0.3911.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_3911_H +#define XG_1_0_3911_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_3911[]; +extern uint32 XG_1_0_3911_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.3911.inl new file mode 100644 index 000000000..9fbf9885e --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.3911.inl @@ -0,0 +1,239 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.3911.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGIsSwizzledFormat +// ****************************************************************** +SOOVPA<7> XGIsSwizzledFormat_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x7F }, + { 0x10, 0x7C }, + { 0x19, 0x0B }, + { 0x22, 0xF8 }, + { 0x2B, 0x83 }, + { 0x34, 0x0A }, + { 0x3D, 0x7F }, + } +}; + +// ****************************************************************** +// * XGSwizzleRect +// ****************************************************************** +SOOVPA<8> XGSwizzleRect_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x89 }, + { 0x5E, 0x83 }, + { 0x7E, 0x6C }, + { 0x9E, 0xFF }, + { 0xBE, 0xFF }, + { 0xDE, 0x89 }, + { 0xFE, 0x89 }, + } +}; + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +SOOVPA<8> XGSwizzleBox_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x75 }, + { 0x3E, 0x4D }, + { 0x5E, 0x48 }, + { 0x7E, 0x04 }, + { 0x9E, 0xD8 }, + { 0xC0, 0x83 }, + { 0xDE, 0xAF }, + { 0xFE, 0x45 }, + } +}; + +// ****************************************************************** +// * XGUnswizzleRect +// ****************************************************************** +SOOVPA<8> XGUnswizzleRect_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x00 }, + { 0x5E, 0xD2 }, + { 0x7E, 0x75 }, + { 0x9E, 0x70 }, + { 0xC1, 0xE9 }, + { 0xDE, 0x89 }, + { 0xFE, 0x60 }, + } +}; + +// ****************************************************************** +// * XGWriteSurfaceOrTextureToXPR +// ****************************************************************** +SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x3D }, + { 0x3E, 0xE0 }, + { 0x5E, 0x75 }, + { 0x7E, 0x33 }, + { 0x9E, 0xC2 }, + { 0xBE, 0xF0 }, + { 0xDE, 0xFC }, + } +}; + +// ****************************************************************** +// * XGSetTextureHeader +// ****************************************************************** +SOOVPA<7> XGSetTextureHeader_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x75 }, + { 0x0A, 0x00 }, + { 0x10, 0xFF }, + { 0x16, 0xFF }, + { 0x1C, 0x75 }, + { 0x26, 0x5D }, + { 0x28, 0x24 }, + } +}; + +// ****************************************************************** +// * XG_1_0_3911 +// ****************************************************************** +OOVPATable XG_1_0_3911[] = +{ + // XGIsSwizzledFormat + { + (OOVPA*)&XGIsSwizzledFormat_1_0_3911, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect + { + (OOVPA*)&XGSwizzleRect_1_0_3911, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleRect + { + (OOVPA*)&XGUnswizzleRect_1_0_3911, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGUnswizzleRect" + #endif + }, + // XGSwizzleBox + { + (OOVPA*)&XGSwizzleBox_1_0_3911, + + XTL::EmuXGSwizzleBox, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleBox" + #endif + }, + // XGWriteSurfaceOrTextureToXPR + { + (OOVPA*)&XGWriteSurfaceOrTextureToXPR_1_0_3911, + + XTL::EmuXGWriteSurfaceOrTextureToXPR, + + #ifdef _DEBUG_TRACE + "EmuXGWriteSurfaceOrTextureToXPR" + #endif + }, + // XGSetTextureHeader + { + (OOVPA*)&XGSetTextureHeader_1_0_3911, + XTL::EmuXGSetTextureHeader, + + #ifdef _DEBUG_TRACE + "XGSetTextureHeader" + #endif + }, +}; + +// ****************************************************************** +// * XG_1_0_3911_SIZE +// ****************************************************************** +uint32 XG_1_0_3911_SIZE = sizeof(XG_1_0_3911); \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.h b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.h new file mode 100644 index 000000000..ccb103244 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4034.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_4034_H +#define XG_1_0_4034_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_4034[]; +extern uint32 XG_1_0_4034_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.inl new file mode 100644 index 000000000..f8c8f13c5 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4034.inl @@ -0,0 +1,210 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4034.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +#if 0 +// ****************************************************************** +// * XGIsSwizzledFormat +// ****************************************************************** +SOOVPA<7> XGIsSwizzledFormat_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x7F }, + { 0x10, 0x7C }, + { 0x19, 0x0B }, + { 0x22, 0xF8 }, + { 0x2B, 0x83 }, + { 0x34, 0x0A }, + { 0x3D, 0x7F }, + } +}; + +// ****************************************************************** +// * XGSwizzleRect +// ****************************************************************** +SOOVPA<8> XGSwizzleRect_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x89 }, + { 0x5E, 0x83 }, + { 0x7E, 0x6C }, + { 0x9E, 0xFF }, + { 0xBE, 0xFF }, + { 0xDE, 0x89 }, + { 0xFE, 0x89 }, + } +}; + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +SOOVPA<8> XGSwizzleBox_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x75 }, + { 0x3E, 0x4D }, + { 0x5E, 0x48 }, + { 0x7E, 0x04 }, + { 0x9E, 0xD8 }, + { 0xC0, 0x83 }, + { 0xDE, 0xAF }, + { 0xFE, 0x45 }, + } +}; + +// ****************************************************************** +// * XGUnswizzleRect +// ****************************************************************** +SOOVPA<8> XGUnswizzleRect_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x00 }, + { 0x5E, 0xD2 }, + { 0x7E, 0x75 }, + { 0x9E, 0x70 }, + { 0xC1, 0xE9 }, + { 0xDE, 0x89 }, + { 0xFE, 0x60 }, + } +}; + +// ****************************************************************** +// * XGWriteSurfaceOrTextureToXPR +// ****************************************************************** +SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x3D }, + { 0x3E, 0xE0 }, + { 0x5E, 0x75 }, + { 0x7E, 0x33 }, + { 0x9E, 0xC2 }, + { 0xBE, 0xF0 }, + { 0xDE, 0xFC }, + } +}; +#endif + +// ****************************************************************** +// * XG_1_0_4034 +// ****************************************************************** +OOVPATable XG_1_0_4034[] = +{ + // XGIsSwizzledFormat + /*{ + (OOVPA*)&XGIsSwizzledFormat_1_0_3911, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + },*/ + // XGSwizzleRect (* unchanged since 3911 *) + { + (OOVPA*)&XGSwizzleRect_1_0_3911, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleRect + /*{ + (OOVPA*)&XGUnswizzleRect_1_0_3911, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGUnswizzleRect" + #endif + },*/ + // XGSwizzleBox (* unchanged since 3911 *) + { + (OOVPA*)&XGSwizzleBox_1_0_3911, + + XTL::EmuXGSwizzleBox, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleBox" + #endif + }, + // XGWriteSurfaceOrTextureToXPR + /*{ + (OOVPA*)&XGWriteSurfaceOrTextureToXPR_1_0_3911, + + XTL::EmuXGWriteSurfaceOrTextureToXPR, + + #ifdef _DEBUG_TRACE + "EmuXGWriteSurfaceOrTextureToXPR" + #endif + },*/ +}; + +// ****************************************************************** +// * XG_1_0_3911_SIZE +// ****************************************************************** +uint32 XG_1_0_4034_SIZE = sizeof(XG_1_0_4034); \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.h b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.h new file mode 100644 index 000000000..0dc740eea --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4361.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_4361_H +#define XG_1_0_4361_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_4361[]; +extern uint32 XG_1_0_4361_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.inl new file mode 100644 index 000000000..93784f174 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4361.inl @@ -0,0 +1,274 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4361.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGIsSwizzledFormat +// ****************************************************************** +SOOVPA<12> XGIsSwizzledFormat_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XGIsSwizzledFormat+0x04 : cmp eax, 0x2D + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 + { 0x06, 0x2D }, // (Offset,Value)-Pair #3 + + // XGIsSwizzledFormat+0x0C : jge +0x31 + { 0x0C, 0x7D }, // (Offset,Value)-Pair #4 + { 0x0D, 0x31 }, // (Offset,Value)-Pair #5 + + // XGIsSwizzledFormat+0x17 : cmp eax, 0x0B + { 0x17, 0x83 }, // (Offset,Value)-Pair #6 + { 0x18, 0xF8 }, // (Offset,Value)-Pair #7 + { 0x19, 0x0B }, // (Offset,Value)-Pair #8 + + // XGIsSwizzledFormat+0x1A : jz +0x23 + { 0x1A, 0x74 }, // (Offset,Value)-Pair #9 + { 0x1B, 0x23 }, // (Offset,Value)-Pair #10 + + // XGIsSwizzledFormat+0x42 : jmp +0xE4 + { 0x42, 0xEB }, // (Offset,Value)-Pair #11 + { 0x43, 0xE4 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XGSwizzleRect +// ****************************************************************** +SOOVPA<10> XGSwizzleRect_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XGSwizzleRect+0x2E : pop eax + { 0x2E, 0x58 }, // (Offset,Value)-Pair #1 + + // XGSwizzleRect+0x4A : cmp dword ptr [ebp+0x74], 1 + { 0x4A, 0x83 }, // (Offset,Value)-Pair #2 + { 0x4B, 0x7D }, // (Offset,Value)-Pair #3 + { 0x4C, 0x74 }, // (Offset,Value)-Pair #4 + { 0x4D, 0x01 }, // (Offset,Value)-Pair #5 + + // XGSwizzleRect+0xD8 : mov edx, [ebp+0x74] + { 0xD8, 0x8B }, // (Offset,Value)-Pair #6 + { 0xD9, 0x55 }, // (Offset,Value)-Pair #7 + { 0xDA, 0x74 }, // (Offset,Value)-Pair #8 + + // XGSwizzleRect+0xEC : jmp +0x0B + { 0xEC, 0xEB }, // (Offset,Value)-Pair #9 + { 0xED, 0x0B }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XGUnswizzleRect +// ****************************************************************** +SOOVPA<8> XGUnswizzleRect_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x00 }, + { 0x5E, 0xD2 }, + { 0x7E, 0x75 }, + { 0x9E, 0x70 }, + { 0xC1, 0xE9 }, + { 0xDE, 0x89 }, + { 0xFE, 0x60 }, + } +}; + +// ****************************************************************** +// * XGSetVertexBufferHeader +// ****************************************************************** +SOOVPA<8> XGSetVertexBufferHeader_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x18 }, + { 0x0A, 0x08 }, + { 0x0D, 0x00 }, + { 0x10, 0x00 }, + { 0x13, 0x48 }, + { 0x16, 0x18 }, + } +}; + +// ****************************************************************** +// * XGCompressRect +// ****************************************************************** +SOOVPA<8> XGCompressRect_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x00 }, + { 0x3E, 0xA8 }, + { 0x5E, 0x85 }, + { 0x80, 0x85 }, + { 0x9E, 0x07 }, + { 0xBE, 0x80 }, + { 0xDE, 0x74 }, + { 0xFE, 0x8B }, + } +}; + +// ****************************************************************** +// * XGSetIndexBufferHeader +// ****************************************************************** +SOOVPA<8> XGSetIndexBufferHeader_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x18 }, + { 0x0A, 0x08 }, + { 0x0D, 0x00 }, + { 0x10, 0x01 }, + { 0x13, 0x48 }, + { 0x16, 0x18 }, + } +}; + +// ****************************************************************** +// * XG_1_0_4361 +// ****************************************************************** +OOVPATable XG_1_0_4361[] = +{ + // XGIsSwizzledFormat + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "EmuXGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect + { + (OOVPA*)&XGSwizzleRect_1_0_4361, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleRect + { + (OOVPA*)&XGUnswizzleRect_1_0_4361, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGUnswizzleRect" + #endif + }, + // XGSetTextureHeader (* Unchanged since 3911 *) + { + (OOVPA*)&XGSetTextureHeader_1_0_3911, + XTL::EmuXGSetTextureHeader, + + #ifdef _DEBUG_TRACE + "XGSetTextureHeader" + #endif + }, + // XGSetVertexBufferHeader + { + (OOVPA*)&XGSetVertexBufferHeader_1_0_4361, + + 0, + + #ifdef _DEBUG_TRACE + "EmuXGSetVertexBufferHeader" + #endif + }, + // XGSetIndexBufferHeader + { + (OOVPA*)&XGSetIndexBufferHeader_1_0_4361, + + 0, + + #ifdef _DEBUG_TRACE + "EmuXGSetIndexBufferHeader" + #endif + }, + // XGCompressRect + { + (OOVPA*)&XGCompressRect_1_0_4361, + + 0, + + #ifdef _DEBUG_TRACE + "EmuXGCompressRect" + #endif + }, +}; + +// ****************************************************************** +// * XG_1_0_4361_SIZE +// ****************************************************************** +uint32 XG_1_0_4361_SIZE = sizeof(XG_1_0_4361); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.h b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.h new file mode 100644 index 000000000..0514da54a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4432.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_4432_H +#define XG_1_0_4432_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_4432[]; +extern uint32 XG_1_0_4432_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.inl new file mode 100644 index 000000000..698a3f6f0 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4432.inl @@ -0,0 +1,67 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4432.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + + + +// ****************************************************************** +// * XG_1_0_4432 +// ****************************************************************** +OOVPATable XG_1_0_4432[] = +{ + // XGIsSwizzledFormat (* unchanged since 4361 *) + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect (* unchanged since 4361 *) + { + (OOVPA*)&XGSwizzleRect_1_0_4361, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, +}; + +// ****************************************************************** +// * XG_1_0_4432_SIZE +// ****************************************************************** +uint32 XG_1_0_4432_SIZE = sizeof(XG_1_0_4432); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.h b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.h new file mode 100644 index 000000000..a86b742f3 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4627.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_4627_H +#define XG_1_0_4627_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_4627[]; +extern uint32 XG_1_0_4627_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.inl new file mode 100644 index 000000000..2c1965940 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.4627.inl @@ -0,0 +1,172 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4627.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +SOOVPA<10> XGSwizzleBox_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XGSwizzleBox+0x60 : sub ecx, [eax] + { 0x60, 0x2B }, // (Offset,Value)-Pair #1 + { 0x61, 0x08 }, // (Offset,Value)-Pair #2 + + // XGSwizzleBox+0x8E : lea ecx, [ebp+0xD8] + { 0x8E, 0x8D }, // (Offset,Value)-Pair #3 + { 0x8F, 0x4D }, // (Offset,Value)-Pair #4 + { 0x90, 0xD8 }, // (Offset,Value)-Pair #5 + + // XGSwizzleBox+0xD5 : shl eax, 2 + { 0xD5, 0xC1 }, // (Offset,Value)-Pair #6 + { 0xD6, 0xE0 }, // (Offset,Value)-Pair #7 + { 0xD7, 0x02 }, // (Offset,Value)-Pair #8 + + // XGSwizzleBox+0xE2 : test ebx, ebx + { 0xE2, 0x85 }, // (Offset,Value)-Pair #9 + { 0xE3, 0xDB }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XGWriteSurfaceOrTextureToXPR +// ****************************************************************** +SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x3D }, + { 0x3E, 0xE0 }, + { 0x5E, 0x75 }, + { 0x7E, 0x33 }, + { 0x9E, 0xC2 }, + { 0xBE, 0xF0 }, + { 0xE2, 0x8B }, + } +}; + +// ****************************************************************** +// * XGUnswizzleRect +// ****************************************************************** +SOOVPA<8> XGUnswizzleRect_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x00 }, + { 0x5E, 0xD2 }, + { 0x7E, 0x75 }, + { 0x9E, 0x70 }, + { 0xC1, 0xE9 }, + { 0xDE, 0x89 }, + { 0xFE, 0x60 }, + } +}; + +// ****************************************************************** +// * XG_1_0_4627 +// ****************************************************************** +OOVPATable XG_1_0_4627[] = +{ + // XGIsSwizzledFormat (* unchanged since 4361 *) + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect (* unchanged since 4361 *) + { + (OOVPA*)&XGSwizzleRect_1_0_4361, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleRect + { + (OOVPA*)&XGUnswizzleRect_1_0_4627, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGUnswizzleRect" + #endif + }, + // XGSwizzleBox + { + (OOVPA*)&XGSwizzleBox_1_0_4627, + + XTL::EmuXGSwizzleBox, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleBox" + #endif + }, + // XGWriteSurfaceOrTextureToXPR + { + (OOVPA*)&XGWriteSurfaceOrTextureToXPR_1_0_4627, + + XTL::EmuXGWriteSurfaceOrTextureToXPR, + + #ifdef _DEBUG_TRACE + "EmuXGWriteSurfaceOrTextureToXPR" + #endif + }, +}; + +// ****************************************************************** +// * XG_1_0_4627_SIZE +// ****************************************************************** +uint32 XG_1_0_4627_SIZE = sizeof(XG_1_0_4627); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.h b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.h new file mode 100644 index 000000000..d180f8cf9 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.5233.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_5233_H +#define XG_1_0_5233_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_5233[]; +extern uint32 XG_1_0_5233_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.inl new file mode 100644 index 000000000..8e4192ac9 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5233.inl @@ -0,0 +1,65 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.5233.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XG_1_0_5233 +// ****************************************************************** +OOVPATable XG_1_0_5233[] = +{ + // XGIsSwizzledFormat (* unchanged since 4361 *) + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect (* unchanged since 4361 *) + { + (OOVPA*)&XGSwizzleRect_1_0_4361, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, +}; + +// ****************************************************************** +// * XG_1_0_5233_SIZE +// ****************************************************************** +uint32 XG_1_0_5233_SIZE = sizeof(XG_1_0_5233); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.h b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.h new file mode 100644 index 000000000..ba7eb13e9 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.5558.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_5558_H +#define XG_1_0_5558_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_5558[]; +extern uint32 XG_1_0_5558_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.inl new file mode 100644 index 000000000..fa1f99483 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5558.inl @@ -0,0 +1,219 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.5558.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +SOOVPA<10> XGSwizzleBox_1_0_5558 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XGSwizzleBox+0x60 : sub ecx, [eax] + { 0x60, 0x2B }, // (Offset,Value)-Pair #1 + { 0x61, 0x08 }, // (Offset,Value)-Pair #2 + + // XGSwizzleBox+0x8E : lea ecx, [ebp+0xD8] + { 0x8E, 0x8D }, // (Offset,Value)-Pair #3 + { 0x8F, 0x4D }, // (Offset,Value)-Pair #4 + { 0x90, 0xD8 }, // (Offset,Value)-Pair #5 + + // XGSwizzleBox+0xD5 : shl eax, 2 + { 0xD5, 0xC1 }, // (Offset,Value)-Pair #6 + { 0xD6, 0xE0 }, // (Offset,Value)-Pair #7 + { 0xD7, 0x02 }, // (Offset,Value)-Pair #8 + + // XGSwizzleBox+0xE2 : test ebx, ebx + { 0xE2, 0x85 }, // (Offset,Value)-Pair #9 + { 0xE3, 0xDB }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XGSwizzleRect +// ****************************************************************** +SOOVPA<8> XGSwizzleRect_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x89 }, + { 0x5E, 0x83 }, + { 0x7E, 0x6C }, + { 0x9E, 0xFF }, + { 0xBE, 0xFF }, + { 0xDE, 0x89 }, + { 0xFE, 0x89 }, + } +}; + +// ****************************************************************** +// * XGUnswizzleRect +// ****************************************************************** +SOOVPA<8> XGUnswizzleRect_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x03 }, + { 0x3E, 0x00 }, + { 0x5E, 0xD2 }, + { 0x7E, 0x75 }, + { 0x9E, 0x70 }, + { 0xC1, 0xE9 }, + { 0xDE, 0x89 }, + { 0xFE, 0x60 }, + } +}; + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +//SOOVPA<8> XGSwizzleBox_1_0_5558 = +//{ +// 0, // Large == 0 +// 8, // Count == 8 +// +// XRefNotSaved, +// XRefNotUsed, +// +// { +// { 0x1E, 0x75 }, +// { 0x3E, 0x4D }, +// { 0x5E, 0x48 }, +// { 0x7E, 0x04 }, +// { 0x9E, 0xD8 }, +// { 0xC0, 0x83 }, +// { 0xDE, 0xAF }, +// { 0xFE, 0x45 }, +// } +//}; + +// ****************************************************************** +// * XGUnswizzleBox +// ****************************************************************** +SOOVPA<8> XGUnswizzleBox_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x26 }, + { 0x3E, 0x55 }, + { 0x5E, 0x58 }, + { 0x7E, 0x89 }, + { 0xA0, 0xFF }, + { 0xBE, 0x2C }, + { 0xDE, 0x24 }, + { 0xFE, 0x20 }, + } +}; + +// ****************************************************************** +// * XG_1_0_5558 +// ****************************************************************** +OOVPATable XG_1_0_5558[] = +{ + // XGIsSwizzledFormat (* unchanged since 4361 *) + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect + { + (OOVPA*)&XGSwizzleRect_1_0_5558, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGSwizzleBox (* UNTESTED *) + { + (OOVPA*)&XGSwizzleBox_1_0_5558, + + XTL::EmuXGSwizzleBox, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleBox" + #endif + }, + // XGUnswizzleRect + { + (OOVPA*)&XGUnswizzleRect_1_0_5558, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleBox (* UNTESTED *) + /*{ + (OOVPA*)&XGUnswizzleBox_1_0_5558, + + XTL::EmuXGUnswizzleBox, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleBox" + #endif + },*/ +}; + +// ****************************************************************** +// * XG_1_0_5558_SIZE +// ****************************************************************** +uint32 XG_1_0_5558_SIZE = sizeof(XG_1_0_5558); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.h b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.h new file mode 100644 index 000000000..a27d2b493 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.5849.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_5849_H +#define XG_1_0_5849_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_5849[]; +extern uint32 XG_1_0_5849_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.inl new file mode 100644 index 000000000..1ee0804a9 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XG.1.0.5849.inl @@ -0,0 +1,140 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.5849.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +SOOVPA<10> XGSwizzleBox_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XGSwizzleBox+0x60 : sub ecx, [eax] + { 0x60, 0x2B }, // (Offset,Value)-Pair #1 + { 0x61, 0x08 }, // (Offset,Value)-Pair #2 + + // XGSwizzleBox+0x8E : lea ecx, [ebp+0xD8] + { 0x8E, 0x8D }, // (Offset,Value)-Pair #3 + { 0x8F, 0x4D }, // (Offset,Value)-Pair #4 + { 0x90, 0xD8 }, // (Offset,Value)-Pair #5 + + // XGSwizzleBox+0xD5 : shl eax, 2 + { 0xD5, 0xC1 }, // (Offset,Value)-Pair #6 + { 0xD6, 0xE0 }, // (Offset,Value)-Pair #7 + { 0xD7, 0x02 }, // (Offset,Value)-Pair #8 + + // XGSwizzleBox+0xE2 : test ebx, ebx + { 0xE2, 0x85 }, // (Offset,Value)-Pair #9 + { 0xE3, 0xDB }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XFONT_OpenBitmapFontFromMemory +// ****************************************************************** +SOOVPA<8> XFONT_OpenBitmapFontFromMemory_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x75 }, + { 0x1A, 0x8B }, + { 0x28, 0x8B }, + { 0x32, 0x08 }, + { 0x3F, 0x8B }, + { 0x4C, 0x8B }, + { 0x59, 0x45 }, + { 0x66, 0x0C }, + } +}; + +// ****************************************************************** +// * XG_1_0_5849 +// ****************************************************************** +OOVPATable XG_1_0_5849[] = +{ + // XGIsSwizzledFormat (* unchanged since 4361 *) + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect (* unchanged since 5558 *) + { + (OOVPA*)&XGSwizzleRect_1_0_5558, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleRect (* unchanged since 5558 *) + { + (OOVPA*)&XGUnswizzleRect_1_0_5558, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGUnswizzleRect" + #endif + }, + // XFONT_OpenBitmapFontFromMemory + /*{ + (OOVPA*)&XFONT_OpenBitmapFontFromMemory_1_0_5849, + + XTL::EmuXFONT_OpenBitmapFontFromMemory, + + #ifdef _DEBUG_TRACE + "EmuXFONT_OpenBitmapFontFromMemory" + #endif + },*/ +}; + +// ****************************************************************** +// * XG_1_0_5849_SIZE +// ****************************************************************** +uint32 XG_1_0_5849_SIZE = sizeof(XG_1_0_5849); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.h b/src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.h new file mode 100644 index 000000000..f76dec59d --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XNet.1.0.3911.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XNET_1_0_4627_H +#define XNET_1_0_4627_H + +#include "OOVPA.h" + +extern OOVPATable XNet_1_0_3911[]; +extern uint32 XNet_1_0_3911_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.inl new file mode 100644 index 000000000..a9f6f0be2 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XNet.1.0.3911.inl @@ -0,0 +1,206 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XNet.1.0.3911.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XNetStartup +// ****************************************************************** +SOOVPA<9> XNetStartup_1_0_3911 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // XNetStartup+0x07 : call [XnInit] + { 0x07, XREF_XNINIT }, // (Offset,Value)-Pair #1 + + // XNetStartup+0x00 : push 0 + { 0x00, 0x6A }, // (Offset,Value)-Pair #2 + { 0x01, 0x00 }, // (Offset,Value)-Pair #3 + + // XNetStartup+0x02 : push [esp+0x08] + { 0x02, 0xFF }, // (Offset,Value)-Pair #4 + { 0x03, 0x74 }, // (Offset,Value)-Pair #5 + { 0x04, 0x24 }, // (Offset,Value)-Pair #6 + { 0x05, 0x08 }, // (Offset,Value)-Pair #7 + + // XNetStartup+0x0B : retn 0x04 + { 0x0B, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * WSAStartup +// ****************************************************************** +SOOVPA<11> WSAStartup_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + 1, // XRef Is Used + + { + // WSAStartup+0x07 : call [XnInit] + { 0x07, XREF_XNINIT }, // (Offset,Value)-Pair #1 + + // WSAStartup+0x01 : push 1; xor ebx, ebx + { 0x01, 0x6A }, // (Offset,Value)-Pair #2 + { 0x02, 0x01 }, // (Offset,Value)-Pair #3 + { 0x03, 0x33 }, // (Offset,Value)-Pair #4 + { 0x04, 0xDB }, // (Offset,Value)-Pair #5 + + // WSAStartup+0x1B : mov word ptr [ecx+2], 0x0202 + { 0x1B, 0x66 }, // (Offset,Value)-Pair #6 + { 0x1C, 0xC7 }, // (Offset,Value)-Pair #7 + { 0x1D, 0x41 }, // (Offset,Value)-Pair #8 + { 0x1E, 0x02 }, // (Offset,Value)-Pair #9 + { 0x1F, 0x02 }, // (Offset,Value)-Pair #10 + { 0x20, 0x02 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * XnInit +// ****************************************************************** +SOOVPA<11> XnInit_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_XNINIT, // XRef Is Saved + 0, // XRef Not Used + + { + // XnInit+0x31 : push 0x3554454E + { 0x31, 0x68 }, // (Offset,Value)-Pair #1 + { 0x32, 0x4E }, // (Offset,Value)-Pair #2 + { 0x33, 0x45 }, // (Offset,Value)-Pair #3 + { 0x34, 0x54 }, // (Offset,Value)-Pair #4 + { 0x35, 0x35 }, // (Offset,Value)-Pair #5 + + // XnInit+0xA4 : inc dword ptr [eax+0x2B4] + { 0xA4, 0xFF }, // (Offset,Value)-Pair #6 + { 0xA5, 0x80 }, // (Offset,Value)-Pair #7 + { 0xA6, 0xB4 }, // (Offset,Value)-Pair #8 + { 0xA7, 0x02 }, // (Offset,Value)-Pair #9 + + // XnInit+0xBD : retn 0x08 + { 0xBD, 0xC2 }, // (Offset,Value)-Pair #10 + { 0xBE, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +SOOVPA<8> XNetGetEthernetLinkStatus_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // XNetGetEthernetLinkStatus+0x12 : cmpxchg [ecx], edx + { 0x12, 0x0F }, // (Offset,Value)-Pair #1 + { 0x13, 0xB1 }, // (Offset,Value)-Pair #2 + { 0x14, 0x11 }, // (Offset,Value)-Pair #3 + + // XNetStartup+0x17 : jz +0x08 + { 0x17, 0x74 }, // (Offset,Value)-Pair #4 + { 0x18, 0x08 }, // (Offset,Value)-Pair #5 + + // XNetStartup+0x1F : jmp +0xE2 + { 0x1F, 0xEB }, // (Offset,Value)-Pair #6 + { 0x20, 0xE2 }, // (Offset,Value)-Pair #7 + + // XNetStartup+0x3F : retn + { 0x3F, 0xC3 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * XNet_1_0_3911 +// ****************************************************************** +OOVPATable XNet_1_0_3911[] = +{ + // XNetStartup + { + (OOVPA*)&XNetStartup_1_0_3911, + + XTL::EmuXNetStartup, + + #ifdef _DEBUG_TRACE + "EmuXNetStartup" + #endif + }, + // WSAStartup + { + (OOVPA*)&WSAStartup_1_0_3911, + + XTL::EmuWSAStartup, + + #ifdef _DEBUG_TRACE + "EmuWSAStartup" + #endif + }, + // XnInit (XREF) + { + (OOVPA*)&XnInit_1_0_3911, 0, + + #ifdef _DEBUG_TRACE + "XnInit (XRef)" + #endif + }, + // XNetGetEthernetLinkStatus + { + (OOVPA*)&XNetGetEthernetLinkStatus_1_0_3911, + + XTL::EmuXNetGetEthernetLinkStatus, + + #ifdef _DEBUG_TRACE + "EmuXNetGetEthernetLinkStatus" + #endif + }, +}; + +// ****************************************************************** +// * XNet_1_0_3911_SIZE +// ****************************************************************** +uint32 XNet_1_0_3911_SIZE = sizeof(XNet_1_0_3911); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.h b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.h new file mode 100644 index 000000000..bfb5d9059 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.4361.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XONLINE_1_0_4361_H +#define XONLINE_1_0_4361_H + +#include "OOVPA.h" + +extern OOVPATable XOnline_1_0_4361[]; +extern uint32 XOnline_1_0_4361_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.inl new file mode 100644 index 000000000..1eee0c2ca --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4361.inl @@ -0,0 +1,330 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.4361.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XNetStartup +// ****************************************************************** +SOOVPA<8> XNetStartup_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // XNetStartup+0x0F : call [XnInit] + { 0x10, XREF_XNINIT }, // (Offset,Value)-Pair #1 + + // XNetStartup+0x00 : xor eax, eax + { 0x00, 0x33 }, // (Offset,Value)-Pair #2 + { 0x01, 0xC0 }, // (Offset,Value)-Pair #3 + + // XNetStartup+0x02 : push eax + { 0x02, 0x50 }, // (Offset,Value)-Pair #4 + + // XNetStartup+0x03 : push eax + { 0x03, 0x50 }, // (Offset,Value)-Pair #5 + + // XNetStartup+0x04 : push eax + { 0x04, 0x50 }, // (Offset,Value)-Pair #6 + + // XNetStartup+0x14 : retn 0x04 + { 0x14, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x15, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * WSAStartup +// ****************************************************************** +SOOVPA<9> WSAStartup_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // XRef Is Used + + { + // WSAStartup+0x0F : call [XnInit] + { 0x14, XREF_XNINIT }, // (Offset,Value)-Pair #1 + + // WSAStartup+0x00 : push [esp+0x08] + { 0x00, 0xFF }, // (Offset,Value)-Pair #2 + { 0x01, 0x74 }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x08 }, // (Offset,Value)-Pair #5 + + // WSAStartup+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #6 + { 0x05, 0x74 }, // (Offset,Value)-Pair #7 + { 0x06, 0x24 }, // (Offset,Value)-Pair #8 + { 0x07, 0x08 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * XnInit +// ****************************************************************** +SOOVPA<10> XnInit_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_XNINIT, // XRef Is Saved + 0, // XRef Not Used + + { + // XnInit+0x03 : sub esp, 0x0214 + { 0x03, 0x81 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + { 0x06, 0x02 }, // (Offset,Value)-Pair #4 + + // XnInit+0x19 : cmpxchg [ecx], edx + { 0x19, 0x0F }, // (Offset,Value)-Pair #5 + { 0x1A, 0xB1 }, // (Offset,Value)-Pair #6 + { 0x1B, 0x11 }, // (Offset,Value)-Pair #7 + + // XnInit+0xBC : push 0x01EC + { 0xBC, 0x68 }, // (Offset,Value)-Pair #8 + { 0xBD, 0xEC }, // (Offset,Value)-Pair #9 + { 0xBE, 0x01 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * socket +// ****************************************************************** +SOOVPA<9> socket_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // socket+0x10 : push 0x276D + { 0x10, 0x68 }, // (Offset,Value)-Pair #1 + { 0x11, 0x6D }, // (Offset,Value)-Pair #2 + { 0x12, 0x27 }, // (Offset,Value)-Pair #3 + + // socket+0x52 : cmp eax, 0x11 + { 0x52, 0x83 }, // (Offset,Value)-Pair #4 + { 0x53, 0xF8 }, // (Offset,Value)-Pair #5 + { 0x54, 0x11 }, // (Offset,Value)-Pair #6 + + // socket+0xD9 : mov [esi+4], ecx + { 0xD9, 0x89 }, // (Offset,Value)-Pair #7 + { 0xDA, 0x4E }, // (Offset,Value)-Pair #8 + { 0xDB, 0x04 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * bind +// ****************************************************************** +SOOVPA<10> bind_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // bind+0x11 : push 0x276D + { 0x11, 0x68 }, // (Offset,Value)-Pair #1 + { 0x12, 0x6D }, // (Offset,Value)-Pair #2 + { 0x13, 0x27 }, // (Offset,Value)-Pair #3 + + // bind+0x4C : mov [eax], cx + { 0x4C, 0x66 }, // (Offset,Value)-Pair #4 + { 0x4D, 0x89 }, // (Offset,Value)-Pair #5 + { 0x4E, 0x08 }, // (Offset,Value)-Pair #6 + + // bind+0x5B : xor eax, eax + { 0x5B, 0x33 }, // (Offset,Value)-Pair #7 + { 0x5C, 0xC0 }, // (Offset,Value)-Pair #8 + + // bind+0x80 : retn 0x0C + { 0x80, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x81, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * listen +// ****************************************************************** +SOOVPA<9> listen_1_0_4361 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // listen+0x10 : push 0x276D + { 0x10, 0x68 }, // (Offset,Value)-Pair #1 + { 0x11, 0x6D }, // (Offset,Value)-Pair #2 + { 0x12, 0x27 }, // (Offset,Value)-Pair #3 + + // listen+0x42 : test al, 0x10 + { 0x42, 0xA8 }, // (Offset,Value)-Pair #4 + { 0x43, 0x10 }, // (Offset,Value)-Pair #5 + + // listen+0x51 : mov ecx, edi + { 0x51, 0x8B }, // (Offset,Value)-Pair #6 + { 0x52, 0xCF }, // (Offset,Value)-Pair #7 + + // listen+0x7F : retn 0x08 + { 0x7F, 0xC2 }, // (Offset,Value)-Pair #8 + { 0x80, 0x08 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * ioctlsocket +// ****************************************************************** +SOOVPA<10> ioctlsocket_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // ioctlsocket+0x12 : push 0x276D + { 0x12, 0x68 }, // (Offset,Value)-Pair #1 + { 0x13, 0x6D }, // (Offset,Value)-Pair #2 + { 0x14, 0x27 }, // (Offset,Value)-Pair #3 + + // ioctlsocket+0x61 : lea edx, [esi+0x24] + { 0x61, 0x8D }, // (Offset,Value)-Pair #4 + { 0x62, 0x56 }, // (Offset,Value)-Pair #5 + { 0x63, 0x24 }, // (Offset,Value)-Pair #6 + + // ioctlsocket+0x80 : mov cl, al + { 0x80, 0x8A }, // (Offset,Value)-Pair #7 + { 0x81, 0xC8 }, // (Offset,Value)-Pair #8 + + // ioctlsocket+0xC5 : retn 0x0C + { 0xC5, 0xC2 }, // (Offset,Value)-Pair #9 + { 0xC6, 0x0C }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XOnline_1_0_4361 +// ****************************************************************** +OOVPATable XOnline_1_0_4361[] = +{ + // XNetStartup + { + (OOVPA*)&XNetStartup_1_0_4361, + + XTL::EmuXNetStartup, + + #ifdef _DEBUG_TRACE + "EmuXNetStartup" + #endif + }, + // WSAStartup + { + (OOVPA*)&WSAStartup_1_0_4361, + + XTL::EmuWSAStartup, + + #ifdef _DEBUG_TRACE + "EmuWSAStartup" + #endif + }, + // XnInit (XREF) + { + (OOVPA*)&XnInit_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "XnInit (XRef)" + #endif + }, + // socket + { + (OOVPA*)&socket_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emusocket), + + #ifdef _DEBUG_TRACE + "Emusocket" + #endif + }, + // bind + { + (OOVPA*)&bind_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emubind), + + #ifdef _DEBUG_TRACE + "Emubind" + #endif + }, + // listen + { + (OOVPA*)&listen_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emulisten), + + #ifdef _DEBUG_TRACE + "Emulisten" + #endif + }, + // ioctlsocket + { + (OOVPA*)&ioctlsocket_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emuioctlsocket), + + #ifdef _DEBUG_TRACE + "Emuioctlsocket" + #endif + }, +}; + +// ****************************************************************** +// * XOnline_1_0_4361_SIZE +// ****************************************************************** +uint32 XOnline_1_0_4361_SIZE = sizeof(XOnline_1_0_4361); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.h b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.h new file mode 100644 index 000000000..61a8966ce --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.4627.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XONLINE_1_0_4627_H +#define XONLINE_1_0_4627_H + +#include "OOVPA.h" + +extern OOVPATable XOnline_1_0_4627[]; +extern uint32 XOnline_1_0_4627_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.inl new file mode 100644 index 000000000..f4a8d8a85 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.4627.inl @@ -0,0 +1,208 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.4627.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XnInit +// ****************************************************************** +SOOVPA<12> XnInit_1_0_4627 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XREF_XNINIT, // XRef Is Saved + 0, // XRef Not Used + + { + // XnInit+0x03 : sub esp, 0x0218 + { 0x03, 0x81 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x18 }, // (Offset,Value)-Pair #3 + { 0x06, 0x02 }, // (Offset,Value)-Pair #4 + + // XnInit+0x19 : cmpxchg [ecx], edx + { 0x19, 0x0F }, // (Offset,Value)-Pair #5 + { 0x1A, 0xB1 }, // (Offset,Value)-Pair #6 + { 0x1B, 0x11 }, // (Offset,Value)-Pair #7 + + // XnInit+0x3C : push 0x4454454E + { 0x3C, 0x68 }, // (Offset,Value)-Pair #8 + { 0x3D, 0x4E }, // (Offset,Value)-Pair #9 + { 0x3E, 0x45 }, // (Offset,Value)-Pair #10 + { 0x3F, 0x54 }, // (Offset,Value)-Pair #11 + { 0x40, 0x44 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +SOOVPA<8> XNetGetEthernetLinkStatus_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x33 }, + { 0x10, 0x8A }, + { 0x19, 0x00 }, + { 0x22, 0x56 }, + { 0x2B, 0xFF }, + { 0x34, 0xF0 }, + { 0x3D, 0x24 }, + { 0x46, 0x5B }, + } +}; + +// ****************************************************************** +// * XoUpdateLaunchNewImageInternal +// ****************************************************************** +SOOVPA<8> XoUpdateLaunchNewImageInternal_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XoUpdateLaunchNewImageInternal, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0xDB }, + { 0x3E, 0x1B }, + { 0x5E, 0xF6 }, + { 0x81, 0x83 }, + { 0x9E, 0xE8 }, + { 0xBE, 0x50 }, + { 0xDE, 0xE8 }, + { 0xFE, 0x15 }, + } +}; + +// ****************************************************************** +// * XOnline_1_0_4627 +// ****************************************************************** +OOVPATable XOnline_1_0_4627[] = +{ + // XNetStartup (* unchanged since 4361 *) + { + (OOVPA*)&XNetStartup_1_0_4361, + + XTL::EmuXNetStartup, + + #ifdef _DEBUG_TRACE + "EmuXNetStartup" + #endif + }, + // WSAStartup + { + (OOVPA*)&WSAStartup_1_0_4361, + + XTL::EmuWSAStartup, + + #ifdef _DEBUG_TRACE + "EmuWSAStartup" + #endif + }, + // XnInit (XREF) + { + (OOVPA*)&XnInit_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XnInit (XRef)" + #endif + }, + // socket + { + (OOVPA*)&socket_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emusocket), + + #ifdef _DEBUG_TRACE + "Emusocket" + #endif + }, + // bind (* unchanged since 4361 *) + { + (OOVPA*)&bind_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emubind), + + #ifdef _DEBUG_TRACE + "Emubind" + #endif + }, + // listen + { + (OOVPA*)&listen_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emulisten), + + #ifdef _DEBUG_TRACE + "Emulisten" + #endif + }, + // ioctlsocket (* unchanged since 4361 *) + { + (OOVPA*)&ioctlsocket_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emuioctlsocket), + + #ifdef _DEBUG_TRACE + "Emuioctlsocket" + #endif + }, + // XNetGetEthernetLinkStatus + { + (OOVPA*)&XNetGetEthernetLinkStatus_1_0_4627, + XTL::EmuXNetGetEthernetLinkStatus, + + #ifdef _DEBUG_TRACE + "XNetGetEthernetLinkStatus" + #endif + }, + // XoUpdateLaunchNewImageInternal (XREF) + { + (OOVPA*)&XoUpdateLaunchNewImageInternal_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XoUpdateLaunchNewImageInternal (XREF)" + #endif + }, +}; + +// ****************************************************************** +// * XOnline_1_0_4627_SIZE +// ****************************************************************** +uint32 XOnline_1_0_4627_SIZE = sizeof(XOnline_1_0_4627); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.h b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.h new file mode 100644 index 000000000..8f45f37e7 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5233.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XONLINE_1_0_5233_H +#define XONLINE_1_0_5233_H + +#include "OOVPA.h" + +extern OOVPATable XOnline_1_0_5233[]; +extern uint32 XOnline_1_0_5233_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.inl new file mode 100644 index 000000000..d23af66df --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5233.inl @@ -0,0 +1,233 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.4627.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XNetStartup +// ****************************************************************** +SOOVPA<8> XNetStartup_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0xC0 }, + { 0x04, 0x50 }, + { 0x07, 0x24 }, + { 0x0A, 0x68 }, + { 0x0F, 0xE8 }, + { 0x14, 0xC2 }, + { 0x15, 0x04 }, + { 0x16, 0x00 }, + } +}; + +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x33 }, + { 0x10, 0x8A }, + { 0x19, 0x00 }, + { 0x22, 0x56 }, + { 0x2B, 0xFF }, + { 0x34, 0xF0 }, + { 0x3D, 0x24 }, + { 0x46, 0x5B }, + } +}; + +// ****************************************************************** +// * CXo::XOnlineLogon +// ****************************************************************** +SOOVPA<8> CXo_XOnlineLogon_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_CXo_XOnlineLogon, // Xref Is Saved + XRefNotUsed, + + { + { 0x21, 0xA8 }, + { 0x3E, 0x80 }, + { 0x5E, 0x00 }, + { 0x7E, 0x04 }, + { 0xA2, 0x85 }, + { 0xBE, 0xEC }, + { 0xDE, 0xF9 }, + { 0xFE, 0x33 }, + } +}; + +// ****************************************************************** +// * XOnlineLogon +// ****************************************************************** +SOOVPA<8> XOnlineLogon_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x0B, XREF_CXo_XOnlineLogon }, + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x5D }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + { 0x0A, 0xE9 }, + } +}; + +// ****************************************************************** +// * XOnline_1_0_4627 +// ****************************************************************** +OOVPATable XOnline_1_0_5233[] = +{ + // XNetStartup + { + (OOVPA*)&XNetStartup_1_0_5344, + + XTL::EmuXNetStartup, + + #ifdef _DEBUG_TRACE + "EmuXNetStartup" + #endif + }, + // WSAStartup (* unchanged since 4361 *) + { + (OOVPA*)&WSAStartup_1_0_4361, + + XTL::EmuWSAStartup, + + #ifdef _DEBUG_TRACE + "EmuWSAStartup" + #endif + }, + // XnInit (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&XnInit_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XnInit (XRef)" + #endif + }, + // socket + /*{ + (OOVPA*)&socket_1_0_4361, + + MFPtoFP(XTL::EmuThis::Emusocket), + + #ifdef _DEBUG_TRACE + "Emusocket" + #endif + },*/ + // bind (* unchanged since 4361 *) + { + (OOVPA*)&bind_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emubind), + + #ifdef _DEBUG_TRACE + "Emubind" + #endif + }, + // listen + /*{ + (OOVPA*)&listen_1_0_4361, + + MFPtoFP(XTL::EmuThis::Emulisten), + + #ifdef _DEBUG_TRACE + "Emulisten" + #endif + },*/ + // ioctlsocket (* unchanged since 4361 *) + { + (OOVPA*)&ioctlsocket_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emuioctlsocket), + + #ifdef _DEBUG_TRACE + "Emuioctlsocket" + #endif + }, + // XNetGetEthernetLinkStatus + { + (OOVPA*)&XNetGetEthernetLinkStatus_1_0_5344, + XTL::EmuXNetGetEthernetLinkStatus, + + #ifdef _DEBUG_TRACE + "EmuXNetGetEthernetLinkStatus" + #endif + }, + // CXo::XOnlineLogon (XREF) + { + (OOVPA*)&CXo_XOnlineLogon_1_0_5344, + 0, + + #ifdef _DEBUG_TRACE + "CXo::XOnlineLogon (XREF) (5344)" + #endif + }, + // XOnlineLogon + { + (OOVPA*)&XOnlineLogon_1_0_5344, + XTL::EmuXOnlineLogon, + + #ifdef _DEBUG_TRACE + "EmuXOnlineLogon (5344)" + #endif + }, +}; + +// ****************************************************************** +// * XOnline_1_0_5233_SIZE +// ****************************************************************** +uint32 XOnline_1_0_5233_SIZE = sizeof(XOnline_1_0_5233); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.h b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.h new file mode 100644 index 000000000..2bf1a5a7a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5558.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XONLINE_1_0_5558_H +#define XONLINE_1_0_5558_H + +#include "OOVPA.h" + +extern OOVPATable XOnline_1_0_5558[]; +extern uint32 XOnline_1_0_5558_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.inl new file mode 100644 index 000000000..151b63733 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5558.inl @@ -0,0 +1,241 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5558.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +#if 0 +// ****************************************************************** +// * XNetStartup +// ****************************************************************** +SOOVPA<8> XNetStartup_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0xC0 }, + { 0x04, 0x50 }, + { 0x07, 0x24 }, + { 0x0A, 0x68 }, + { 0x0F, 0xE8 }, + { 0x14, 0xC2 }, + { 0x15, 0x04 }, + { 0x16, 0x00 }, + } +}; + +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x33 }, + { 0x10, 0x8A }, + { 0x19, 0x00 }, + { 0x22, 0x56 }, + { 0x2B, 0xFF }, + { 0x34, 0xF0 }, + { 0x3D, 0x24 }, + { 0x46, 0x5B }, + } +}; + +// ****************************************************************** +// * CXo::XOnlineLogon +// ****************************************************************** +SOOVPA<8> CXo_XOnlineLogon_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_CXo_XOnlineLogon, // Xref Is Saved + XRefNotUsed, + + { + { 0x21, 0xA8 }, + { 0x3E, 0x80 }, + { 0x5E, 0x00 }, + { 0x7E, 0x04 }, + { 0xA2, 0x85 }, + { 0xBE, 0xEC }, + { 0xDE, 0xF9 }, + { 0xFE, 0x33 }, + } +}; + +// ****************************************************************** +// * XOnlineLogon +// ****************************************************************** +SOOVPA<8> XOnlineLogon_1_0_5344 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x0B, XREF_CXo_XOnlineLogon }, + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x5D }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + { 0x0A, 0xE9 }, + } +}; +#endif + +// ****************************************************************** +// * WSAStartup +// ****************************************************************** +SOOVPA<7> WSAStartup_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x6A }, + { 0x0E, 0x68 }, + { 0x13, 0xE8 }, + { 0x18, 0xC2 }, + { 0x1A, 0x00 }, + } +}; + +// ****************************************************************** +// * XOnline_1_0_5558 +// ****************************************************************** +// * TODO: Verify all of these +// ****************************************************************** +OOVPATable XOnline_1_0_5558[] = +{ + // XNetStartup + { + (OOVPA*)&XNetStartup_1_0_5344, + + XTL::EmuXNetStartup, + + #ifdef _DEBUG_TRACE + "EmuXNetStartup (5344)" + #endif + }, + // WSAStartup + { + (OOVPA*)&WSAStartup_1_0_5558, + + XTL::EmuWSAStartup, + + #ifdef _DEBUG_TRACE + "EmuWSAStartup" + #endif + }, + // XnInit (XREF) (* unchanged since 4627 *) + { + (OOVPA*)&XnInit_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XnInit (XRef)" + #endif + }, + // socket + /*{ + (OOVPA*)&socket_1_0_4361, + + MFPtoFP(XTL::EmuThis::Emusocket), + + #ifdef _DEBUG_TRACE + "Emusocket" + #endif + },*/ + // bind (* unchanged since 4361 *) + { + (OOVPA*)&bind_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emubind), + + #ifdef _DEBUG_TRACE + "Emubind" + #endif + }, + // listen + /*{ + (OOVPA*)&listen_1_0_4361, + + MFPtoFP(XTL::EmuThis::Emulisten), + + #ifdef _DEBUG_TRACE + "Emulisten" + #endif + },*/ + // ioctlsocket (* unchanged since 4361 *) + { + (OOVPA*)&ioctlsocket_1_0_4361, + + MFPtoFP(&XTL::EmuThis::Emuioctlsocket), + + #ifdef _DEBUG_TRACE + "Emuioctlsocket" + #endif + }, + // XNetGetEthernetLinkStatus + { + (OOVPA*)&XNetGetEthernetLinkStatus_1_0_5344, + XTL::EmuXNetGetEthernetLinkStatus, + + #ifdef _DEBUG_TRACE + "EmuXNetGetEthernetLinkStatus (5344)" + #endif + }, +}; + +// ****************************************************************** +// * XOnline_1_0_5558_SIZE +// ****************************************************************** +uint32 XOnline_1_0_5558_SIZE = sizeof(XOnline_1_0_5558); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.h b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.h new file mode 100644 index 000000000..282e018db --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5849.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XONLINE_1_0_5849_H +#define XONLINE_1_0_5849_H + +#include "OOVPA.h" + +extern OOVPATable XOnline_1_0_5849[]; +extern uint32 XOnline_1_0_5849_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.inl new file mode 100644 index 000000000..fafbefb71 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XOnline.1.0.5849.inl @@ -0,0 +1,173 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5849.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XnInit +// ****************************************************************** +SOOVPA<8> XnInit_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XNINIT, // Xref Is Saved + XRefNotUsed, + + { + { 0x1E, 0x3B }, + { 0x3E, 0x45 }, + { 0x5E, 0x00 }, + { 0x81, 0x57 }, + { 0xA2, 0x57 }, + { 0xC0, 0x33 }, + { 0xDE, 0xFE }, + { 0xFE, 0x48 }, + } +}; + +// ****************************************************************** +// * XNetStartup +// ****************************************************************** +SOOVPA<8> XNetStartup_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0xC0 }, + { 0x04, 0x50 }, + { 0x07, 0x24 }, + { 0x0A, 0x68 }, + { 0x0F, 0xE8 }, + { 0x14, 0xC2 }, + { 0x15, 0x04 }, + { 0x16, 0x00 }, + } +}; + +// ****************************************************************** +// * WSAStartup +// ****************************************************************** +SOOVPA<7> WSAStartup_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x6A }, + { 0x0E, 0x68 }, + { 0x13, 0xE8 }, + { 0x18, 0xC2 }, + { 0x1A, 0x00 }, + } +}; + +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x33 }, + { 0x10, 0x8A }, + { 0x19, 0x00 }, + { 0x22, 0x56 }, + { 0x2B, 0xFF }, + { 0x34, 0xF0 }, + { 0x3D, 0x24 }, + { 0x46, 0x5B }, + } +}; + +// ****************************************************************** +// * XOnline_1_0_5849 +// ****************************************************************** +OOVPATable XOnline_1_0_5849[] = +{ + // XNetStartup + { + (OOVPA*)&XNetStartup_1_0_5849, + + XTL::EmuXNetStartup, + + #ifdef _DEBUG_TRACE + "EmuXNetStartup" + #endif + }, + // WSAStartup + { + (OOVPA*)&WSAStartup_1_0_5849, + + XTL::EmuWSAStartup, + + #ifdef _DEBUG_TRACE + "EmuWSAStartup" + #endif + }, + // XnInit (XREF) + { + (OOVPA*)&XnInit_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "XnInit (XRef)" + #endif + }, + // XNetGetEthernetLinkStatus + { + (OOVPA*)&XNetGetEthernetLinkStatus_1_0_5849, + XTL::EmuXNetGetEthernetLinkStatus, + + #ifdef _DEBUG_TRACE + "EmuXNetGetEthernetLinkStatus" + #endif + }, +}; + +// ****************************************************************** +// * XOnline_1_0_5849_SIZE +// ****************************************************************** +uint32 XOnline_1_0_5849_SIZE = sizeof(XOnline_1_0_5849); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.h b/src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.h new file mode 100644 index 000000000..041106a13 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.4627.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XACTENG_1_0_4627_H +#define XACTENG_1_0_4627_H + +#include "OOVPA.h" + +extern OOVPATable XactEng_1_0_4627[]; +extern uint32 XactEng_1_0_4627_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.inl new file mode 100644 index 000000000..a3d30820a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/XactEng.1.0.4627.inl @@ -0,0 +1,1006 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.4627.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XACTEngineCreate +// ****************************************************************** +SOOVPA<11> XACTEngineCreate_1_0_4627 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XACTEngineCreate+0x0C : movzx ebx, al + { 0x0C, 0x0F }, + { 0x0D, 0xB6 }, + { 0x0E, 0xD8 }, + + // XACTEngineCreate+0x30 : push edi + { 0x30, 0x57 }, + + // XACTEngineCreate+0x31 : push 0x108 + { 0x31, 0x68 }, + { 0x32, 0x08 }, + { 0x33, 0x01 }, + { 0x34, 0x00 }, + { 0x35, 0x00 }, + + // XACTEngineCreate+0x9A : retn 0x8 + { 0x9A, 0xC2 }, + { 0x9B, 0x08 }, + } +}; + +// ****************************************************************** +// * XACTEngineCreate +// ****************************************************************** +SOOVPA<11> XACTEngineCreate_1_0_4928 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XACTEngineCreate+0x09 : movzx ebx, al + { 0x09, 0x0F }, + { 0x0A, 0xB6 }, + { 0x0B, 0xD8 }, + + // XACTEngineCreate+0x2B : push edi + { 0x2B, 0x57 }, + + // XACTEngineCreate+0x2C : push 0x120 + { 0x2C, 0x68 }, + { 0x2D, 0x20 }, + { 0x2E, 0x01 }, + { 0x2F, 0x00 }, + { 0x30, 0x00 }, + + // XACTEngineCreate+0x9E : retn 0x8 + { 0x9E, 0xC2 }, + { 0x9F, 0x08 }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::RegisterWaveBank +// ****************************************************************** +SOOVPA<7> XACT_CEngine_RegisterWaveBank_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_XACT_CEngine_RegisterWaveBank, // Xref Is Saved + XRefNotUsed, + + { + { 0x11, 0x33 }, + { 0x24, 0xC6 }, + { 0x37, 0xE7 }, + { 0x4A, 0x75 }, + { 0x5D, 0x83 }, + { 0x70, 0x33 }, + { 0x84, 0xFF }, + } +}; + +// ****************************************************************** +// * IXACTEngine_RegisterWaveBank +// ****************************************************************** +SOOVPA<8> IXACTEngine_RegisterWaveBank_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_XACT_CEngine_RegisterWaveBank }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * XACTEngineDoWork +// ****************************************************************** +SOOVPA<7> XACTEngineDoWork_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0D, 0x85 }, + { 0x13, 0x0C }, + { 0x1A, 0xCE }, + { 0x21, 0xFF }, + { 0x29, 0xFF }, + { 0x2F, 0x5F }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::RegisterStreamedWaveBank +// ****************************************************************** +SOOVPA<8> XACT_CEngine_RegisterStreamedWaveBank_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XACT_CEngine_RegisterStreamedWaveBank, // Xref Is Saved + XRefNotUsed, + + { + { 0x10, 0x01 }, + { 0x23, 0x3B }, + { 0x34, 0x1B }, + { 0x46, 0x0C }, + { 0x58, 0x46 }, + { 0x6A, 0x41 }, + { 0x7C, 0x68 }, + { 0x8E, 0x0C }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::RegisterStreamedWaveBank +// ****************************************************************** +SOOVPA<13> XACT_CEngine_RegisterStreamedWaveBank_1_0_4928 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_XACT_CEngine_RegisterStreamedWaveBank, // Xref Is Saved + XRefNotUsed, + + { + // XACT_CEngine_RegisterStreamedWaveBank+0x07 : push 0x7C + { 0x07, 0x6A }, // (Offset,Value)-Pair #1 + { 0x08, 0x7C }, // (Offset,Value)-Pair #2 + // XACT_CEngine_RegisterStreamedWaveBank+0x30 : add esi, 0x8007000E + { 0x30, 0x81 }, // (Offset,Value)-Pair #3 + { 0x31, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x32, 0x0E }, // (Offset,Value)-Pair #5 + { 0x33, 0x00 }, // (Offset,Value)-Pair #6 + { 0x34, 0x07 }, // (Offset,Value)-Pair #7 + { 0x35, 0x80 }, // (Offset,Value)-Pair #8 + // XACT_CEngine_RegisterStreamedWaveBank+0x50 : add ecx, 0x44 + { 0x50, 0x83 }, // (Offset,Value)-Pair #9 + { 0x51, 0xC1 }, // (Offset,Value)-Pair #10 + { 0x52, 0x44 }, // (Offset,Value)-Pair #11 + // XACT_CEngine_RegisterStreamedWaveBank+0x71 : retn 0x0C + { 0x71, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x72, 0x0C }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IXACTEngine_RegisterStreamedWaveBank +// ****************************************************************** +SOOVPA<9> IXACTEngine_RegisterStreamedWaveBank_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_XACT_CEngine_RegisterStreamedWaveBank }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * IXACTEngine_RegisterStreamedWaveBank +// ****************************************************************** +SOOVPA<10> IXACTEngine_RegisterStreamedWaveBank_1_0_4928 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, + + { + // IXACTEngine_RegisterStreamedWaveBank+0x22 : call XACT::CEngine::RegisterStreamedWaveBank + { 0x23, XREF_XACT_CEngine_RegisterStreamedWaveBank }, + + // IXACTEngine_RegisterStreamedWaveBank+0x0B : movzx esi, al + { 0x0B, 0x0F }, + { 0x0C, 0xB6 }, + { 0x0D, 0xF0 }, + // IXACTEngine_RegisterStreamedWaveBank+0x0E : mov eax, [esp+0x0C+4] + { 0x0E, 0x8B }, + { 0x0F, 0x44 }, + { 0x10, 0x24 }, + { 0x11, 0x10 }, + // IXACTEngine_RegisterStreamedWaveBank+0x3C : retn 0x0C + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::CreateSoundBank +// ****************************************************************** +SOOVPA<8> XACT_CEngine_CreateSoundBank_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XACT_CEngine_CreateSoundBank, // Xref Is Saved + XRefNotUsed, + + { + { 0x0E, 0xA0 }, + { 0x1E, 0x8B }, + { 0x2E, 0xE6 }, + { 0x3E, 0x18 }, + { 0x4E, 0x7C }, + { 0x5E, 0xC7 }, + { 0x72, 0xFF }, + { 0x7E, 0x10 }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::CreateSoundBank +// ****************************************************************** +SOOVPA<13> XACT_CEngine_CreateSoundBank_1_0_4928 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XREF_XACT_CEngine_CreateSoundBank, // Xref Is Saved + XRefNotUsed, + + { + // XACT::CEngine::CreateSoundBank+0x02 : push 0x34 + { 0x02, 0x6A }, // (Offset,Value)-Pair #1 + { 0x03, 0x34 }, // (Offset,Value)-Pair #2 + // XACT::CEngine::CreateSoundBank+0x2B : add edi, 0x8007000E + { 0x2B, 0x81 }, // (Offset,Value)-Pair #3 + { 0x2C, 0xC7 }, // (Offset,Value)-Pair #4 + { 0x2D, 0x0E }, // (Offset,Value)-Pair #5 + { 0x2E, 0x00 }, // (Offset,Value)-Pair #6 + { 0x2F, 0x07 }, // (Offset,Value)-Pair #7 + { 0x30, 0x80 }, // (Offset,Value)-Pair #8 + // XACT::CEngine::CreateSoundBank+0x4F : add ecx, 0x4C + { 0x4F, 0x83 }, // (Offset,Value)-Pair #9 + { 0x50, 0xC1 }, // (Offset,Value)-Pair #10 + { 0x51, 0x4C }, // (Offset,Value)-Pair #11 + // XACT::CEngine::CreateSoundBank+0x73 : retn 0x10 + { 0x73, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x74, 0x10 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * IXACTEngine_CreateSoundBank +// ****************************************************************** +SOOVPA<8> IXACTEngine_CreateSoundBank_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x1D, XREF_XACT_CEngine_CreateSoundBank }, + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + } +}; + +// ****************************************************************** +// * IXACTEngine_CreateSoundBank +// ****************************************************************** +SOOVPA<10> IXACTEngine_CreateSoundBank_1_0_4928 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 1, + + { + { 0x27, XREF_XACT_CEngine_CreateSoundBank }, + + // IXACTEngine_CreateSoundBank+0x07 : push [ebp+8+0x10] + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x18 }, + // IXACTEngine_CreateSoundBank+0x0B : movzx esi, al + { 0x0B, 0x0F }, + { 0x0C, 0xB6 }, + { 0x0D, 0xF0 }, + // IXACTEngine_CreateSoundBank+0x40 : retn 0x10 + { 0x40, 0xC2 }, + { 0x41, 0x10 }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::DownloadEffectsImage +// ****************************************************************** +SOOVPA<7> XACT_CEngine_DownloadEffectsImage_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_XACT_CEngine_DownloadEffectsImage, // Xref Is Saved + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x12, 0xFF }, + { 0x1C, 0x46 }, + { 0x27, 0x85 }, + { 0x30, 0x89 }, + { 0x3A, 0x68 }, + { 0x45, 0x8B }, + } +}; + +// ****************************************************************** +// * IXACTEngine_DownloadEffectsImage +// ****************************************************************** +SOOVPA<9> IXACTEngine_DownloadEffectsImage_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x1F, XREF_XACT_CEngine_DownloadEffectsImage }, + + { 0x03, 0xFF }, + { 0x08, 0x08 }, + { 0x0D, 0xC8 }, + { 0x12, 0xC0 }, + { 0x17, 0xF7 }, + { 0x1C, 0xC8 }, + { 0x23, 0x5D }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::CreateSoundSource +// ****************************************************************** +SOOVPA<8> XACT_CEngine_CreateSoundSource_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XACT_CEngine_CreateSoundSource, // Xref Is Saved + XRefNotUsed, + + { + { 0x0A, 0x0F }, + { 0x14, 0x8B }, + { 0x1F, 0x50 }, + { 0x2A, 0x85 }, + { 0x35, 0x08 }, + { 0x40, 0x08 }, + { 0x4B, 0x15 }, + { 0x56, 0x0C }, + } +}; + +// ****************************************************************** +// * IXACTEngine_CreateSoundSource +// ****************************************************************** +SOOVPA<9> IXACTEngine_CreateSoundSource_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_XACT_CEngine_CreateSoundSource }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * XACT::CSoundBank::GetSoundCueIndexFromFriendlyName +// ****************************************************************** +SOOVPA<7> XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, // Xref Is Saved + XRefNotUsed, + + { + { 0x12, 0x8B }, + { 0x22, 0x46 }, + { 0x34, 0x68 }, + { 0x46, 0x0C }, + { 0x58, 0x39 }, + { 0x6A, 0x45 }, + { 0x7E, 0xFF }, + } +}; + +// ****************************************************************** +// * IXACTSoundBank_GetSoundCueIndexFromFriendlyName +// ****************************************************************** +SOOVPA<9> IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * IXACTSoundBank_Play +// ****************************************************************** +SOOVPA<8> IXACTSoundBank_Play_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0xFF }, + { 0x08, 0x08 }, + { 0x0D, 0xC8 }, + { 0x12, 0xC0 }, + { 0x17, 0xF7 }, + { 0x1C, 0xC8 }, + { 0x23, 0x5D }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::RegisterNotification +// ****************************************************************** +SOOVPA<7> XACT_CEngine_RegisterNotification_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_XACT_CEngine_RegisterNotification, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x0C, 0x01 }, + { 0x13, 0xF0 }, + { 0x1A, 0xF6 }, + { 0x24, 0xFF }, + { 0x2A, 0x8B }, + { 0x2F, 0x08 }, + } +}; + +// ****************************************************************** +// * IXACTEngine_RegisterNotification +// ****************************************************************** +SOOVPA<8> IXACTEngine_RegisterNotification_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_XACT_CEngine_RegisterNotification }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::GetNotification +// ****************************************************************** +SOOVPA<8> XACT_CEngine_GetNotification_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XACT_CEngine_GetNotification, // Xref Is Saved + XRefNotUsed, + + { + { 0x11, 0x8D }, + { 0x24, 0x5A }, + { 0x37, 0xC0 }, + { 0x4A, 0x8B }, + { 0x5D, 0x04 }, + { 0x74, 0x8B }, + { 0x83, 0x40 }, + { 0x96, 0x0C }, + } +}; + +// ****************************************************************** +// * IXACTEngine_GetNotification +// ****************************************************************** +SOOVPA<9> IXACTEngine_GetNotification_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, + + { + { 0x19, XREF_XACT_CEngine_GetNotification }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::UnRegisterWaveBank +// ****************************************************************** +SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XACT_CEngine_UnRegisterWaveBank, // Xref Is Saved + XRefNotUsed, + + { + { 0x07, 0x8B }, + { 0x10, 0x58 }, + { 0x19, 0x8B }, + { 0x22, 0x89 }, + { 0x2C, 0x8B }, + { 0x34, 0x5F }, + { 0x3D, 0xFF }, + { 0x46, 0x08 }, + } +}; + +// ****************************************************************** +// * XACT::CEngine::UnRegisterWaveBank +// ****************************************************************** +SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4928 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XACT_CEngine_UnRegisterWaveBank, // Xref Is Saved + XRefNotUsed, + + { + // XACT_CEngine_UnRegisterWaveBank+0x06 : lea eax, [ecx+0x58] + { 0x06, 0x8D }, + { 0x07, 0x41 }, + { 0x08, 0x58 }, + // XACT_CEngine_UnRegisterWaveBank+0x28 : lea edi, [ebx+0x4C] + { 0x28, 0x8D }, + { 0x29, 0x7B }, + { 0x2A, 0x4C }, + // XACT_CEngine_UnRegisterWaveBank+0xBF : retn 0x8 + { 0xBF, 0xC2 }, + { 0xC0, 0x08 }, + } +}; + + +// ****************************************************************** +// * IXACTEngine_UnRegisterWaveBank +// ****************************************************************** +SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + { 0x15, XREF_XACT_CEngine_UnRegisterWaveBank }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * IXACTEngine_UnRegisterWaveBank +// ****************************************************************** +SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4928 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + // IXACTEngine_UnRegisterWaveBank+0x1E : call XACT::CEngine::UnRegisterWaveBank + { 0x1F, XREF_XACT_CEngine_UnRegisterWaveBank }, + + { 0x07, 0xFF }, + { 0x0E, 0x8B }, + { 0x16, 0xF8 }, + { 0x1E, 0xE8 }, + { 0x26, 0xF8 }, + { 0x2E, 0xFF }, + { 0x36, 0x5F }, + } +}; + +// ****************************************************************** +// * XactEng_1_0_4627 +// ****************************************************************** +OOVPATable XactEng_1_0_4627[] = +{ + // XACTEngineCreate + { + (OOVPA*) &XACTEngineCreate_1_0_4627, + + XTL::EmuXACTEngineCreate, + + #ifdef _DEBUG_TRACE + "EmuXACTEngineCreate" + #endif + }, + // XACTEngineCreate + { + (OOVPA*) &XACTEngineCreate_1_0_4928, + + XTL::EmuXACTEngineCreate, + + #ifdef _DEBUG_TRACE + "EmuXACTEngineCreate_4928" + #endif + }, + // XACTEngineDoWork + { + (OOVPA*) &XACTEngineDoWork_1_0_4627, + + XTL::EmuXACTEngineDoWork, + + #ifdef _DEBUG_TRACE + "EmuXACTEngineDoWork" + #endif + }, + // XACT_CEngine_RegisterWaveBank + { + (OOVPA*)&XACT_CEngine_RegisterWaveBank_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::RegisterWaveBank (XREF)" + #endif + }, + // IXACTEngine_RegisterWaveBank + { + (OOVPA*)&IXACTEngine_RegisterWaveBank_1_0_4627, + + XTL::EmuIXACTEngine_RegisterWaveBank, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_ResiterWaveBank" + #endif + }, + // XACT::CEngine::RegisterStreamedWaveBank (XREF) + { + (OOVPA*)&XACT_CEngine_RegisterStreamedWaveBank_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::RegisterStreamedWaveBank (XREF)" + #endif + }, + // XACT::CEngine::RegisterStreamedWaveBank (XREF) + { + (OOVPA*)&XACT_CEngine_RegisterStreamedWaveBank_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::RegisterStreamedWaveBank_4928 (XREF)" + #endif + }, + // IXACTEngine_RegisterStreamedWaveBank + { + (OOVPA*)&IXACTEngine_RegisterStreamedWaveBank_1_0_4627, + XTL::EmuIXACTEngine_RegisterStreamedWaveBank, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_RegisterStreamedWaveBank" + #endif + }, + // IXACTEngine_RegisterStreamedWaveBank + { + (OOVPA*)&IXACTEngine_RegisterStreamedWaveBank_1_0_4928, + XTL::EmuIXACTEngine_RegisterStreamedWaveBank, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_RegisterStreamedWaveBank_4928" + #endif + }, + // XACT::CEngine::CreateSoundBank (XREF) + { + (OOVPA*)&XACT_CEngine_CreateSoundBank_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::CreateSoundBank (XREF)" + #endif + }, + // XACT::CEngine::CreateSoundBank (XREF) + { + (OOVPA*)&XACT_CEngine_CreateSoundBank_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::CreateSoundBank_4928 (XREF)" + #endif + }, + // IXACTEngine_CreateSoundBank + { + (OOVPA*)&IXACTEngine_CreateSoundBank_1_0_4627, + XTL::EmuIXACTEngine_CreateSoundBank, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_CreateSoundBank" + #endif + }, + // IXACTEngine_CreateSoundBank + { + (OOVPA*)&IXACTEngine_CreateSoundBank_1_0_4928, + XTL::EmuIXACTEngine_CreateSoundBank, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_CreateSoundBank_4928" + #endif + }, + // XACT::CEngine::DownloadEffectsImage (XREF) + { + (OOVPA*)&XACT_CEngine_DownloadEffectsImage_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::DownloadEffectsImage (XREF)" + #endif + }, + // IXACTEngine_DownloadEffectsImage + { + (OOVPA*)&IXACTEngine_DownloadEffectsImage_1_0_4627, + XTL::EmuIXACTEngine_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_DownloadEffectsImage" + #endif + }, + // XACT::CEngine::CreateSoundSource (XREF) + { + (OOVPA*)&XACT_CEngine_CreateSoundSource_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::CreateSoundSource (XREF)" + #endif + }, + // IXACTEngine_CreateSoundSource + { + (OOVPA*)&IXACTEngine_CreateSoundSource_1_0_4627, + XTL::EmuIXACTEngine_CreateSoundSource, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_CreateSoundSource" + #endif + }, + // XACT::CSoundBank::GetSoundCueIndexFromFriendlyName (XREF) + { + (OOVPA*)&XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "XACT::CSoundBank::GetSoundCueIndexFromFriendlyName (XREF)" + #endif + }, + // IXACTSoundBank_GetSoundCueIndexFromFriendlyName + { + (OOVPA*)&IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627, + XTL::EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName, + + #ifdef _DEBUG_TRACE + "EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName" + #endif + }, + // IXACTSoundBank_Play + { + (OOVPA*)&IXACTSoundBank_Play_1_0_4627, + XTL::EmuIXACTSoundBank_Play, + + #ifdef _DEBUG_TRACE + "EmuIXACTSoundBank_Play" + #endif + }, + // XACT::CEngine::RegisterNotification + { + (OOVPA*)&XACT_CEngine_RegisterNotification_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::RegisterNotification (XREF)" + #endif + }, + // IXACTEngine_RegisterNotification + { + (OOVPA*)&IXACTEngine_RegisterNotification_1_0_4627, + + XTL::EmuIXACTEngine_RegisterNotification, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_RegisterNotification (XREF)" + #endif + }, + // XACT::CEngine::GetNotification + { + (OOVPA*)&XACT_CEngine_GetNotification_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::GetNotification (XREF)" + #endif + }, + // IXACTEngine_GetNotification + { + (OOVPA*)&IXACTEngine_GetNotification_1_0_4627, + XTL::EmuIXACTEngine_GetNotification, + + #ifdef _DEBUG_TRACE + "EmuIXACTEngine_GetNotification" + #endif + }, + // XACT::CEngine::UnRegisterWaveBank (XREF) + { + (OOVPA*)&XACT_CEngine_UnRegisterWaveBank_1_0_4627, + 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::UnRegisterWaveBank (XREF)" + #endif + }, + // XACT::CEngine::UnRegisterWaveBank (XREF) + { + (OOVPA*)&XACT_CEngine_UnRegisterWaveBank_1_0_4928, + 0, + + #ifdef _DEBUG_TRACE + "XACT::CEngine::UnRegisterWaveBank_4928 (XREF)" + #endif + }, + // IXACTEngine_UnRegisterWaveBank + { + (OOVPA*)&IXACTEngine_UnRegisterWaveBank_1_0_4627, + XTL::EmuIXACTEngine_UnRegisterWaveBank, + + #ifdef _DEBUG_TRACE + "IXACTEngine_UnRegisterWaveBank" + #endif + }, + // IXACTEngine_UnRegisterWaveBank + { + (OOVPA*)&IXACTEngine_UnRegisterWaveBank_1_0_4928, + XTL::EmuIXACTEngine_UnRegisterWaveBank, + + #ifdef _DEBUG_TRACE + "IXACTEngine_UnRegisterWaveBank_4928" + #endif + }, +}; + +// ****************************************************************** +// * XACTENG_1_0_4627_SIZE +// ****************************************************************** +uint32 XactEng_1_0_4627_SIZE = sizeof(XactEng_1_0_4627); \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.h new file mode 100644 index 000000000..696ebc956 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.3911.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_3911_H +#define XAPI_1_0_3911_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_3911[]; +extern uint32 XAPI_1_0_3911_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.inl new file mode 100644 index 000000000..128b6fc60 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.3911.inl @@ -0,0 +1,2020 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.3911.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * GetExitCodeThread +// ****************************************************************** +SOOVPA<11> GetExitCodeThread_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // GetExitCodeThread+0x03 : lea eax, [ebp+0x08] + { 0x03, 0x8D }, // (Offset,Value)-Pair #1 + { 0x04, 0x45 }, // (Offset,Value)-Pair #2 + { 0x05, 0x08 }, // (Offset,Value)-Pair #3 + + // GetExitCodeThread+0x1A : mov ecx, dword ptr [ebp+0x08] + { 0x1A, 0x8B }, // (Offset,Value)-Pair #4 + { 0x1B, 0x4D }, // (Offset,Value)-Pair #5 + { 0x1C, 0x08 }, // (Offset,Value)-Pair #6 + + // GetExitCodeThread+0x2B : mov eax, 0x0103 + { 0x2B, 0xB8 }, // (Offset,Value)-Pair #7 + { 0x2C, 0x03 }, // (Offset,Value)-Pair #8 + { 0x2D, 0x01 }, // (Offset,Value)-Pair #9 + + // GetExitCodeThread+0x49 : retn 0x08 + { 0x49, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x4A, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * RtlCreateHeap +// ****************************************************************** +SOOVPA<10> RtlCreateHeap_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlCreateHeap+0x13 : push 0x0C + { 0x13, 0x6A }, // (Offset,Value)-Pair #1 + { 0x14, 0x0C }, // (Offset,Value)-Pair #2 + + // RtlCreateHeap+0x1B : rep stosd + { 0x1B, 0xF3 }, // (Offset,Value)-Pair #3 + { 0x1C, 0xAB }, // (Offset,Value)-Pair #4 + + // RtlCreateHeap+0x4E : retn + { 0x4E, 0xC3 }, // (Offset,Value)-Pair #5 + + // RtlCreateHeap+0x8D : jnz +0x08 + { 0x8D, 0x75 }, // (Offset,Value)-Pair #6 + { 0x8E, 0x08 }, // (Offset,Value)-Pair #7 + + // RtlCreateHeap+0xA4 : cmp [ebp-38h], esi + { 0xA4, 0x39 }, // (Offset,Value)-Pair #8 + { 0xA5, 0x75 }, // (Offset,Value)-Pair #9 + { 0xA6, 0xC8 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * RtlAllocateHeap +// ****************************************************************** +SOOVPA<11> RtlAllocateHeap_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlAllocateHeap+0x1E : or ecx, [esi+0x18] + { 0x1E, 0x0B }, // (Offset,Value)-Pair #1 + { 0x1F, 0x4E }, // (Offset,Value)-Pair #2 + { 0x20, 0x18 }, // (Offset,Value)-Pair #3 + + // RtlAllocateHeap+0x29 : jnz +0x01 + { 0x29, 0x75 }, // (Offset,Value)-Pair #4 + { 0x2A, 0x01 }, // (Offset,Value)-Pair #5 + + // RtlAllocateHeap+0x2B : inc eax + { 0x2B, 0x40 }, // (Offset,Value)-Pair #6 + + // RtlAllocateHeap+0x73 : sub eax, 0x08 + { 0x73, 0x83 }, // (Offset,Value)-Pair #7 + { 0x74, 0xE8 }, // (Offset,Value)-Pair #8 + { 0x75, 0x08 }, // (Offset,Value)-Pair #9 + + // RtlAllocateHeap+0xA5 : shl edi, cl + { 0xA5, 0xD3 }, // (Offset,Value)-Pair #10 + { 0xA6, 0xE7 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * RtlFreeHeap +// ****************************************************************** +SOOVPA<10> RtlFreeHeap_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlFreeHeap+0x1F : test ecx, ecx + { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 + { 0x20, 0xC9 }, // (Offset,Value)-Pair #2 + + // RtlFreeHeap+0x23 : mov al, 1 + { 0x23, 0xB0 }, // (Offset,Value)-Pair #3 + { 0x24, 0x01 }, // (Offset,Value)-Pair #4 + + // RtlFreeHeap+0x30 : lea edi, [ecx-0x10] + { 0x30, 0x8D }, // (Offset,Value)-Pair #5 + { 0x31, 0x79 }, // (Offset,Value)-Pair #6 + { 0x32, 0xF0 }, // (Offset,Value)-Pair #7 + + // RtlFreeHeap+0x7B : and ecx, 0x10 + { 0x7B, 0x83 }, // (Offset,Value)-Pair #8 + { 0x7C, 0xE1 }, // (Offset,Value)-Pair #9 + { 0x7D, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * RtlReAllocateHeap +// ****************************************************************** +SOOVPA<10> RtlReAllocateHeap_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlReAllocateHeap+0x1C : test esi, esi + { 0x1C, 0x85 }, // (Offset,Value)-Pair #1 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #2 + + // RtlReAllocateHeap+0x26 : mov edx, [ebp+0x14] + { 0x26, 0x8B }, // (Offset,Value)-Pair #3 + { 0x27, 0x55 }, // (Offset,Value)-Pair #4 + { 0x28, 0x14 }, // (Offset,Value)-Pair #5 + + // RtlReAllocateHeap+0x5E : jz +0x06; add ecx, 0x10 + { 0x5E, 0x74 }, // (Offset,Value)-Pair #6 + { 0x5F, 0x06 }, // (Offset,Value)-Pair #7 + { 0x60, 0x83 }, // (Offset,Value)-Pair #8 + { 0x61, 0xC1 }, // (Offset,Value)-Pair #9 + { 0x62, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * RtlSizeHeap +// ****************************************************************** +SOOVPA<11> RtlSizeHeap_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlSizeHeap+0x04 : mov al, [ecx-0x0B] + { 0x04, 0x8A }, // (Offset,Value)-Pair #1 + { 0x05, 0x41 }, // (Offset,Value)-Pair #2 + { 0x06, 0xF5 }, // (Offset,Value)-Pair #3 + + // RtlSizeHeap+0x07 : test al, 1 + { 0x07, 0xA8 }, // (Offset,Value)-Pair #4 + { 0x08, 0x01 }, // (Offset,Value)-Pair #5 + + // RtlSizeHeap+0x14 : movzx edx, word ptr [ecx-0x10] + { 0x14, 0x0F }, // (Offset,Value)-Pair #6 + { 0x15, 0xB7 }, // (Offset,Value)-Pair #7 + { 0x16, 0x51 }, // (Offset,Value)-Pair #8 + { 0x17, 0xF0 }, // (Offset,Value)-Pair #9 + + // RtlSizeHeap+0x2A : sub eax, ecx + { 0x2A, 0x2B }, // (Offset,Value)-Pair #10 + { 0x2B, 0xC1 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * XInitDevices +// ****************************************************************** +// * NOTE: We are actually intercepting USBD_Init, because +// * XInitDevices Simply redirects to that function +// ****************************************************************** +SOOVPA<10> XInitDevices_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XInitDevices+0x03 : push 0xB4 + { 0x03, 0x68 }, // (Offset,Value)-Pair #1 + { 0x04, 0xB4 }, // (Offset,Value)-Pair #2 + + // XInitDevices+0x10 : jmp +0x13 + { 0x10, 0x74 }, // (Offset,Value)-Pair #3 + { 0x11, 0x13 }, // (Offset,Value)-Pair #4 + + // XInitDevices+0x5B : movzx eax, byte ptr [esi+0xA1] + { 0x5B, 0x0F }, // (Offset,Value)-Pair #5 + { 0x5C, 0xB6 }, // (Offset,Value)-Pair #6 + { 0x5D, 0x86 }, // (Offset,Value)-Pair #7 + { 0x5E, 0xA1 }, // (Offset,Value)-Pair #8 + + // XInitDevices+0x8B : retn 8 + { 0x8B, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x8C, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * CreateMutex +// ****************************************************************** +SOOVPA<13> CreateMutex_1_0_3911 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // CreateMutex+0x03 : sub esp, 0x14 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + + // CreateMutex+0x32 : cmp eax, 0x40000000 + { 0x32, 0x3D }, // (Offset,Value)-Pair #4 + { 0x33, 0x00 }, // (Offset,Value)-Pair #5 + { 0x34, 0x00 }, // (Offset,Value)-Pair #6 + { 0x35, 0x00 }, // (Offset,Value)-Pair #7 + { 0x36, 0x40 }, // (Offset,Value)-Pair #8 + + // CreateMutex+0x39 : push 0xB7 + { 0x39, 0x68 }, // (Offset,Value)-Pair #9 + { 0x3A, 0xB7 }, // (Offset,Value)-Pair #10 + + // CreateMutex+0x47 : mov eax, [ebp+0x10] + { 0x47, 0x8B }, // (Offset,Value)-Pair #11 + { 0x48, 0x45 }, // (Offset,Value)-Pair #12 + { 0x49, 0x10 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * CreateThread +// ****************************************************************** +SOOVPA<8> CreateThread_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // CreateThread+0x0A : mov eax, ds:10130h + { 0x0A, 0xA1 }, // (Offset,Value)-Pair #1 + { 0x0B, 0x30 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x01 }, // (Offset,Value)-Pair #3 + + // CreateThread+0x1C : and ecx, 0xFFFFFF01 + { 0x1C, 0x81 }, // (Offset,Value)-Pair #4 + { 0x1D, 0xE1 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x01 }, // (Offset,Value)-Pair #6 + + // CreateThread+0x51 : retn 0x18 + { 0x51, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x52, 0x18 } // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * SetThreadPriority +// ****************************************************************** +SOOVPA<10> SetThreadPriority_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // SetThreadPriority+0x0D : push [ebp+0x08] + { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x08 }, // (Offset,Value)-Pair #3 + + // SetThreadPriority+0x18 : jl +0x2C + { 0x18, 0x7C }, // (Offset,Value)-Pair #4 + { 0x19, 0x2C }, // (Offset,Value)-Pair #5 + + // SetThreadPriority+0x22 : push 0x10 + { 0x22, 0x6A }, // (Offset,Value)-Pair #6 + { 0x23, 0x10 }, // (Offset,Value)-Pair #7 + + // SetThreadPriority+0x26 : cmp eax, 0xFFFFFFF1 + { 0x26, 0x83 }, // (Offset,Value)-Pair #8 + { 0x27, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x28, 0xF1 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +SOOVPA<7> XapiInitProcess_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiInitProcess+0x03 : sub esp, 30h + { 0x05, 0x30 }, // (Offset,Value)-Pair #1 + + // XapiInitProcess+0x0F : push 0x0C + { 0x0F, 0x6A }, // (Offset,Value)-Pair #2 + { 0x10, 0x0C }, // (Offset,Value)-Pair #3 + + // XapiInitProcess+0x17 : repe stosd + { 0x17, 0xF3 }, // (Offset,Value)-Pair #4 + { 0x18, 0xAB }, // (Offset,Value)-Pair #5 + + // XapiInitProcess+0x42 : jnz +0x0A + { 0x42, 0x75 }, // (Offset,Value)-Pair #6 + { 0x43, 0x0A }, // (Offset,Value)-Pair #7 + } +}; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +SOOVPA<7> XapiInitProcess_1_0_3950 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiInitProcess+0x03 : sub esp, 30h + { 0x05, 0x30 }, // (Offset,Value)-Pair #1 + + // XapiInitProcess+0x0F : push 0x0C + { 0x10, 0x6A }, // (Offset,Value)-Pair #2 + { 0x11, 0x0C }, // (Offset,Value)-Pair #3 + + // XapiInitProcess+0x17 : repe stosd + { 0x18, 0xF3 }, // (Offset,Value)-Pair #4 + { 0x19, 0xAB }, // (Offset,Value)-Pair #5 + + // XapiInitProcess+0x42 : jnz +0x0A + { 0x43, 0x75 }, // (Offset,Value)-Pair #6 + { 0x44, 0x0A }, // (Offset,Value)-Pair #7 + } +}; + +// ****************************************************************** +// * XapiBootDash +// ****************************************************************** +SOOVPA<11> XapiBootDash_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiBootDash+0x03 : sub esp, 0x0C00 + { 0x03, 0x81 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x06, 0x0C }, // (Offset,Value)-Pair #3 + + // XapiBootDash+0x09 : mov eax, ds:0x10118 + { 0x09, 0xA1 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x18 }, // (Offset,Value)-Pair #5 + { 0x0B, 0x01 }, // (Offset,Value)-Pair #6 + { 0x0C, 0x01 }, // (Offset,Value)-Pair #7 + + // XapiBootDash+0x25 : repe stosd + { 0x25, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x26, 0xAB }, // (Offset,Value)-Pair #9 + + // XapiBootDash+0x59 : retn 0x0C + { 0x59, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x5A, 0x0C }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * XRegisterThreadNotifyRoutine +// ****************************************************************** +SOOVPA<11> XRegisterThreadNotifyRoutine_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XRegisterThreadNotifyRoutine+0x0D : cmp [esp+0x0C], 0 + { 0x0D, 0x83 }, // (Offset,Value)-Pair #1 + { 0x0E, 0x7C }, // (Offset,Value)-Pair #2 + { 0x0F, 0x24 }, // (Offset,Value)-Pair #3 + { 0x10, 0x0C }, // (Offset,Value)-Pair #4 + + // XRegisterThreadNotifyRoutine+0x12 : jz +0x1C + { 0x12, 0x74 }, // (Offset,Value)-Pair #5 + { 0x13, 0x1C }, // (Offset,Value)-Pair #6 + + // XRegisterThreadNotifyRoutine+0x24 : mov [eax+4], ecx + { 0x24, 0x89 }, // (Offset,Value)-Pair #7 + { 0x25, 0x48 }, // (Offset,Value)-Pair #8 + { 0x26, 0x04 }, // (Offset,Value)-Pair #9 + + // XRegisterThreadNotifyRoutine+0x46 : retn 0x08 + { 0x46, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x47, 0x08 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * GetTimeZoneInformation +// ****************************************************************** +SOOVPA<7> GetTimeZoneInformation_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x28 }, + { 0x2E, 0x28 }, + { 0x4F, 0x59 }, + { 0x56, 0xAB }, + { 0x8C, 0xC0 }, + { 0xB9, 0x80 }, + { 0xF7, 0x99 }, + } +}; + +/* not necessary? +// ****************************************************************** +// * XCalculateSignatureBegin +// ****************************************************************** +SOOVPA<10> XCalculateSignatureBegin_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XCalculateSignatureBegin+0x01 : push 0x7C; push 0 + { 0x01, 0x6A }, // (Offset,Value)-Pair #1 + { 0x02, 0x7C }, // (Offset,Value)-Pair #2 + { 0x03, 0x6A }, // (Offset,Value)-Pair #3 + { 0x04, 0x00 }, // (Offset,Value)-Pair #4 + + // XCalculateSignatureBegin+0x10 : push 0x08 + { 0x10, 0x6A }, // (Offset,Value)-Pair #5 + { 0x11, 0x08 }, // (Offset,Value)-Pair #6 + + // XCalculateSignatureBegin+0x2E : push 0x10 + { 0x2E, 0x6A }, // (Offset,Value)-Pair #7 + { 0x2F, 0x10 }, // (Offset,Value)-Pair #8 + + // XCalculateSignatureBegin+0x3B : retn 0x04 + { 0x3B, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x3C, 0x04 }, // (Offset,Value)-Pair #10 + } +}; +*/ + +// ****************************************************************** +// * XGetDevices +// ****************************************************************** +SOOVPA<14> XGetDevices_1_0_3911 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // XGetDevices+0x07 : mov edx, [esp+arg_0] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x54 }, // (Offset,Value)-Pair #2 + { 0x09, 0x24 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x08 }, // (Offset,Value)-Pair #4 + + // XGetDevices+0x0D : and [edx+4], 0 + { 0x0D, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0E, 0x62 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #7 + { 0x10, 0x00 }, // (Offset,Value)-Pair #8 + + // XGetDevices+0x11 : mov cl, al + { 0x11, 0x8A }, // (Offset,Value)-Pair #9 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #10 + + // XGetDevices+0x16 : call KfLowerIrql + { 0x16, 0xFF }, // (Offset,Value)-Pair #11 + { 0x17, 0x15 }, // (Offset,Value)-Pair #12 + + // XGetDevices+0x1F : retn 4 + { 0x1F, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x20, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * XGetDeviceChanges +// ****************************************************************** +SOOVPA<8> XGetDeviceChanges_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // XGetDeviceChanges+0x07 : xor eax, eax + { 0x07, 0x33 }, // (Offset,Value)-Pair #1 + { 0x08, 0xC0 }, // (Offset,Value)-Pair #2 + + // XGetDeviceChanges+0x33 : not edx + { 0x33, 0xF7 }, // (Offset,Value)-Pair #3 + { 0x34, 0xD2 }, // (Offset,Value)-Pair #4 + + // XGetDeviceChanges+0x42 : or edx, edi + { 0x42, 0x0B }, // (Offset,Value)-Pair #5 + { 0x43, 0xD7 }, // (Offset,Value)-Pair #6 + + // XGetDeviceChanges+0x51 : mov cl, al + { 0x51, 0x8A }, // (Offset,Value)-Pair #7 + { 0x52, 0xC8 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * XInputOpen +// ****************************************************************** +SOOVPA<11> XInputOpen_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputOpen+0x20 : jmp +0x0B + { 0x20, 0xEB }, // (Offset,Value)-Pair #1 + { 0x21, 0x0B }, // (Offset,Value)-Pair #2 + + // XInputOpen+0x29 : jnz +0x3D + { 0x29, 0x75 }, // (Offset,Value)-Pair #3 + { 0x2A, 0x3D }, // (Offset,Value)-Pair #4 + + // XInputOpen+0x4A : add edx, 0x10 + { 0x4A, 0x83 }, // (Offset,Value)-Pair #5 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #6 + { 0x4C, 0x10 }, // (Offset,Value)-Pair #7 + + // XInputOpen+0x66 : jmp +0x09 + { 0x66, 0xEB }, // (Offset,Value)-Pair #8 + { 0x67, 0x09 }, // (Offset,Value)-Pair #9 + + // XInputOpen+0x68 : push 0x57 + { 0x68, 0x6A }, // (Offset,Value)-Pair #10 + { 0x69, 0x57 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +SOOVPA<10> XID_fCloseDevice_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XREF_FCLOSEDEVICE, // XRef Is Saved + 0, // XRef Not Used + + { + // XID_fCloseDevice+0x19 : jz +0x5C + { 0x19, 0x74 }, // (Offset,Value)-Pair #1 + { 0x1A, 0x5C }, // (Offset,Value)-Pair #2 + + // XID_fCloseDevice+0x1B : cmp [esi+0x00A3], 1 + { 0x1B, 0x80 }, // (Offset,Value)-Pair #3 + { 0x1D, 0xA3 }, // (Offset,Value)-Pair #4 + { 0x21, 0x01 }, // (Offset,Value)-Pair #5 + + // XID_fCloseDevice+0x91 : mov [esi+0x00A4], eax + { 0x95, 0x89 }, // (Offset,Value)-Pair #6 + { 0x96, 0x86 }, // (Offset,Value)-Pair #7 + { 0x97, 0xA4 }, // (Offset,Value)-Pair #8 + + // XID_fCloseDevice+0xA3 : leave; retn + { 0xA3, 0xC9 }, // (Offset,Value)-Pair #9 + { 0xA4, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XInputClose +// ****************************************************************** +SOOVPA<8> XInputClose_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, + + { + // XInputClose+0x05 : call [fCloseDevice] + { 0x05, XREF_FCLOSEDEVICE }, // (Offset,Value)-Pair #1 + + // XInputClose+0x00 : mov ecx, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x4C }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // XInputClose+0x04 : call [fCloseDevice] + { 0x04, 0xE8 }, // (Offset,Value)-Pair #6 + + // XInputClose+0x09 : retn 0x04 + { 0x09, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +SOOVPA<14> XInputGetCapabilities_1_0_3911 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputGetCapabilities+0x03 : sub esp, 0x48 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x48 }, // (Offset,Value)-Pair #3 + + // XInputGetCapabilities+0x24 : test byte ptr [esi+4], 2 + { 0x24, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x25, 0x46 }, // (Offset,Value)-Pair #5 + { 0x26, 0x04 }, // (Offset,Value)-Pair #6 + { 0x27, 0x02 }, // (Offset,Value)-Pair #7 + + // XInputGetCapabilities+0x3A : stosb + { 0x3A, 0xAA }, // (Offset,Value)-Pair #8 + + // XInputGetCapabilities+0x8A : mov [ebp+var_48], 0x30 + { 0x8A, 0xC6 }, // (Offset,Value)-Pair #9 + { 0x8B, 0x45 }, // (Offset,Value)-Pair #10 + { 0x8C, 0xB8 }, // (Offset,Value)-Pair #11 + { 0x8D, 0x30 }, // (Offset,Value)-Pair #12 + + // XInputGetCapabilities+0xFB : cmp [eax], ebx + { 0xFB, 0x39 }, // (Offset,Value)-Pair #13 + { 0xFC, 0x18 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +SOOVPA<13> XInputGetState_1_0_3911 = +{ + 0, // Large == 0 + 13, // Count == 13 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputGetState+0x0E : cmp byte ptr [edx+0x0A3], 1 + { 0x0E, 0x80 }, // (Offset,Value)-Pair #1 + { 0x0F, 0xBA }, // (Offset,Value)-Pair #2 + { 0x10, 0xA3 }, // (Offset,Value)-Pair #3 + { 0x14, 0x01 }, // (Offset,Value)-Pair #4 + + // XInputGetState+0x17 : push 0x57 + { 0x17, 0x6A }, // (Offset,Value)-Pair #5 + { 0x18, 0x57 }, // (Offset,Value)-Pair #6 + + // XInputGetState+0x1A : jmp +0x46 + { 0x1A, 0xEB }, // (Offset,Value)-Pair #7 + { 0x1B, 0x46 }, // (Offset,Value)-Pair #8 + + // XInputGetState+0x28 : mov ebx, 0x048F + { 0x28, 0xBB }, // (Offset,Value)-Pair #9 + { 0x29, 0x8F }, // (Offset,Value)-Pair #10 + { 0x2A, 0x04 }, // (Offset,Value)-Pair #11 + + // XInputGetState+0x6E : retn 8 + { 0x6E, 0xC2 }, // (Offset,Value)-Pair #12 + { 0x6F, 0x08 }, // (Offset,Value)-Pair #13 + } +}; + +// ****************************************************************** +// * XInputSetState +// ****************************************************************** +SOOVPA<12> XInputSetState_1_0_3911 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputSetState+0x04 : lea eax, [ecx+0x0A3] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x81 }, // (Offset,Value)-Pair #2 + { 0x06, 0xA3 }, // (Offset,Value)-Pair #3 + + // XInputSetState+0x0F : push 0x57 + { 0x0F, 0x6A }, // (Offset,Value)-Pair #4 + { 0x10, 0x57 }, // (Offset,Value)-Pair #5 + + // XInputSetState+0x12 : jmp +0x21 + { 0x12, 0xEB }, // (Offset,Value)-Pair #6 + { 0x13, 0x21 }, // (Offset,Value)-Pair #7 + + // XInputSetState+0x2D : mov [edx+0x41], al + { 0x2D, 0x88 }, // (Offset,Value)-Pair #8 + { 0x2E, 0x42 }, // (Offset,Value)-Pair #9 + { 0x2F, 0x41 }, // (Offset,Value)-Pair #10 + + // XInputSetState+0x35 : retn 0x08 + { 0x35, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x36, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * SetThreadPriorityBoost +// ****************************************************************** +SOOVPA<10> SetThreadPriorityBoost_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // SetThreadPriorityBoost+0x0D : push [ebp+0x08] + { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x08 }, // (Offset,Value)-Pair #3 + + // SetThreadPriorityBoost+0x18 : jl +0x20 + { 0x18, 0x7C }, // (Offset,Value)-Pair #4 + { 0x19, 0x20 }, // (Offset,Value)-Pair #5 + + // SetThreadPriorityBoost+0x1F : setnz al + { 0x1F, 0x0F }, // (Offset,Value)-Pair #6 + { 0x20, 0x95 }, // (Offset,Value)-Pair #7 + { 0x21, 0xC0 }, // (Offset,Value)-Pair #8 + + // SetThreadPriorityBoost+0x2C : mov ecx, [ebp+0x08] + { 0x2C, 0x8B }, // (Offset,Value)-Pair #9 + { 0x2D, 0x4D }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * GetThreadPriority +// ****************************************************************** +SOOVPA<10> GetThreadPriority_1_0_3911 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // GetThreadPriority+0x0D : push [ebp+0x08] + { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x08 }, // (Offset,Value)-Pair #3 + + // GetThreadPriority+0x18 : jl +0x2B + { 0x18, 0x7C }, // (Offset,Value)-Pair #4 + { 0x19, 0x2B }, // (Offset,Value)-Pair #5 + + // GetThreadPriority+0x2F : cmp esi, 0xFFFFFFF0 + { 0x2F, 0x83 }, // (Offset,Value)-Pair #6 + { 0x30, 0xFE }, // (Offset,Value)-Pair #7 + { 0x31, 0xF0 }, // (Offset,Value)-Pair #8 + + // GetThreadPriority+0x37 : mov ecx, [ebp+0x08] + { 0x37, 0x8B }, // (Offset,Value)-Pair #9 + { 0x38, 0x4D }, // (Offset,Value)-Pair #10 + } +}; + +//// ****************************************************************** +//// * XGetDevices +//// ****************************************************************** +//SOOVPA<14> XGetDevices_1_0_3911 = +//{ +// 0, // Large == 0 +// 14, // Count == 14 +// +// XRefNotSaved, +// XRefNotUsed, +// +// { +// // XGetDevices+0x07 : mov edx, [esp+arg_0] +// { 0x07, 0x8B }, // (Offset,Value)-Pair #1 +// { 0x08, 0x54 }, // (Offset,Value)-Pair #2 +// { 0x09, 0x24 }, // (Offset,Value)-Pair #3 +// { 0x0A, 0x08 }, // (Offset,Value)-Pair #4 +// +// // XGetDevices+0x0D : and [edx+4], 0 +// { 0x0D, 0x83 }, // (Offset,Value)-Pair #5 +// { 0x0E, 0x62 }, // (Offset,Value)-Pair #6 +// { 0x0F, 0x04 }, // (Offset,Value)-Pair #7 +// { 0x10, 0x00 }, // (Offset,Value)-Pair #8 +// +// // XGetDevices+0x11 : mov cl, al +// { 0x11, 0x8A }, // (Offset,Value)-Pair #9 +// { 0x12, 0xC8 }, // (Offset,Value)-Pair #10 +// +// // XGetDevices+0x16 : call KfLowerIrql +// { 0x16, 0xFF }, // (Offset,Value)-Pair #11 +// { 0x17, 0x15 }, // (Offset,Value)-Pair #12 +// +// // XGetDevices+0x1F : retn 4 +// { 0x1F, 0xC2 }, // (Offset,Value)-Pair #13 +// { 0x20, 0x04 }, // (Offset,Value)-Pair #14 +// } +//}; + +// ****************************************************************** +// * CreateFiber +// ****************************************************************** +SOOVPA<11> CreateFiber_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // CreateFiber+0x11 : mov ecx, 0x3000 + { 0x11, 0xB9 }, + { 0x12, 0x00 }, + { 0x13, 0x30 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + + // CreateFiber+0x2A : call ds:MmCreateKernelStack + { 0x2A, 0xFF }, + { 0x2B, 0x15 }, + { 0x2C, 0xF8 }, + { 0x2D, 0xD1 }, + { 0x2E, 0x1E }, + { 0x2F, 0x00 } + } +}; + +// ****************************************************************** +// * DeleteFiber +// ****************************************************************** +SOOVPA<9> DeleteFiber_1_0_3911 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // DeleteFiber+0x0A : call ds:MmDeleteKernelStack + { 0x0A, 0xFF }, + { 0x0B, 0x15 }, + { 0x0C, 0xFC }, + { 0x0D, 0xD1 }, + { 0x0E, 0x1E }, + { 0x0F, 0x00 }, + + // DeleteFiber+0x10 : retn 4 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, + { 0x12, 0x00 }, + } +}; + +// ****************************************************************** +// * SwitchToFiber +// ****************************************************************** +SOOVPA<8> SwitchToFiber_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x64 }, + { 0x0E, 0x44 }, + { 0x16, 0xFF }, + { 0x1E, 0x91 }, + { 0x26, 0x61 }, + { 0x31, 0x64 }, + { 0x36, 0x00 }, + { 0x3E, 0x00 }, + } +}; + +// ****************************************************************** +// * ConvertThreadToFiber +// ****************************************************************** +SOOVPA<7> ConvertThreadToFiber_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x64 }, + { 0x0C, 0x8B }, + { 0x13, 0x8D }, + { 0x1A, 0x01 }, + { 0x21, 0x8B }, + { 0x28, 0x89 }, + { 0x31, 0x8B }, + } +}; + +//// ****************************************************************** +//// * XInputGetCapabilities +//// ****************************************************************** +//SOOVPA<14> XInputGetCapabilities_1_0_3911 = +//{ +// 0, // Large == 0 +// 14, // Count == 14 +// +// XRefNotSaved, +// XRefNotUsed, +// +// { +// // XInputGetCapabilities+0x03 : sub esp, 0x48 +// { 0x03, 0x83 }, // (Offset,Value)-Pair #1 +// { 0x04, 0xEC }, // (Offset,Value)-Pair #2 +// { 0x05, 0x48 }, // (Offset,Value)-Pair #3 +// +// // XInputGetCapabilities+0x24 : test byte ptr [esi+4], 2 +// { 0x24, 0xF6 }, // (Offset,Value)-Pair #4 +// { 0x25, 0x46 }, // (Offset,Value)-Pair #5 +// { 0x26, 0x04 }, // (Offset,Value)-Pair #6 +// { 0x27, 0x02 }, // (Offset,Value)-Pair #7 +// +// // XInputGetCapabilities+0x3A : stosb +// { 0x3A, 0xAA }, // (Offset,Value)-Pair #8 +// +// // XInputGetCapabilities+0x8A : mov [ebp+var_48], 0x30 +// { 0x8A, 0xC6 }, // (Offset,Value)-Pair #9 +// { 0x8B, 0x45 }, // (Offset,Value)-Pair #10 +// { 0x8C, 0xB8 }, // (Offset,Value)-Pair #11 +// { 0x8D, 0x30 }, // (Offset,Value)-Pair #12 +// +// // XInputGetCapabilities+0xFB : cmp [eax], ebx +// { 0xFB, 0x39 }, // (Offset,Value)-Pair #13 +// { 0xFC, 0x18 }, // (Offset,Value)-Pair #14 +// } +//}; + + +// ****************************************************************** +// * SignalObjectAndWait +// ****************************************************************** +SOOVPA<8> SignalObjectAndWait_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x75 }, + { 0x12, 0x8B }, + { 0x19, 0x01 }, + { 0x26, 0x85 }, + { 0x2B, 0x7D }, + { 0x34, 0x00 }, + { 0x3F, 0x83 }, + { 0x46, 0x00 }, + } +}; + +// ****************************************************************** +// * PulseEvent +// ****************************************************************** +SOOVPA<11> PulseEvent_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // PulseEvent+0x00 : push 0 + { 0x00, 0x6A }, + { 0x01, 0x00 }, + // PulseEvent+0x02 : push [esp+8] + { 0x02, 0xFF }, + { 0x03, 0x74 }, + { 0x04, 0x24 }, + { 0x05, 0x08 }, + // PulseEvent+0x06 : call ds:NtPulseEvent + { 0x06, 0xFF }, + { 0x07, 0x15 }, + { 0x08, 0x54 }, + // PulseEvent+0x12 : test eax, eax + { 0x0C, 0x85 }, + { 0x0D, 0xC0 }, + } +}; + +// ****************************************************************** +// * QueueUserAPC +// ****************************************************************** +SOOVPA<7> QueueUserAPC_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x74 }, + { 0x08, 0x24 }, + { 0x0F, 0xFF }, + { 0x12, 0x18 }, + { 0x19, 0x33 }, + { 0x1C, 0xC0 }, + { 0x21, 0xC1 }, + } +}; + +// ****************************************************************** +// * lstrcmpiW +// ****************************************************************** +SOOVPA<8> lstrcmpiW_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x56 }, + { 0x0F, 0x01 }, + { 0x10, 0xE8 }, + { 0x19, 0x39 }, + { 0x22, 0x0E }, + { 0x2D, 0x59 }, + { 0x34, 0xEB }, + { 0x3D, 0x03 }, + } +}; + +// ****************************************************************** +// * XMountAlternateTitleA +// ****************************************************************** +SOOVPA<7> XMountAlternateTitleA_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x0F }, + { 0x3E, 0x56 }, + { 0x5E, 0xFF }, + { 0x7E, 0x8D }, + { 0x9E, 0x50 }, + { 0xBE, 0x66 }, + { 0xDE, 0xF0 }, + } +}; + +// ****************************************************************** +// * XUnmountAlternateTitleA +// ****************************************************************** +SOOVPA<7> XUnmountAlternateTitleA_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x65 }, + { 0x16, 0xFF }, + { 0x23, 0x83 }, + { 0x2E, 0x45 }, + { 0x3A, 0x50 }, + { 0x46, 0x0B }, + { 0x52, 0x50 }, + } +}; + +// ****************************************************************** +// * XMountMUA +// ****************************************************************** +SOOVPA<7> XMountMUA_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x0C }, + { 0x3E, 0x66 }, + { 0x61, 0x85 }, + { 0x7E, 0x8D }, + { 0xA2, 0x0F }, + { 0xBE, 0x50 }, + { 0xDE, 0x74 }, + } +}; + +// ****************************************************************** +// * CloseHandle +// ****************************************************************** +SOOVPA<8> CloseHandle_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x0A, 0x85 }, + { 0x0B, 0xC0 }, + { 0x0E, 0x33 }, + { 0x12, 0x08 }, + { 0x19, 0x33 }, + { 0x1A, 0xC0 }, + } +}; + +// ****************************************************************** +// * ExitThread +// ****************************************************************** +SOOVPA<5> ExitThread_1_0_3911 = +{ + 0, // Large == 0 + 5, // Count == 5 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x00 }, + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x0A, 0x04 }, + { 0x11, 0xCC }, + } +}; + +// ****************************************************************** +// * VirtualAlloc +// ****************************************************************** +SOOVPA<7> VirtualAlloc_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x75 }, + { 0x0A, 0x75 }, + { 0x10, 0x45 }, + { 0x19, 0x85 }, + { 0x1C, 0x05 }, + { 0x22, 0x50 }, + { 0x28, 0x33 }, + } +}; + +// ****************************************************************** +// * VirtualFree +// ****************************************************************** +SOOVPA<7> VirtualFree_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x80 }, + { 0x0E, 0x07 }, + { 0x16, 0xFF }, + { 0x1E, 0x45 }, + { 0x27, 0x85 }, + { 0x2E, 0xEB }, + { 0x36, 0x33 }, + } +}; + +// ****************************************************************** +// * XLaunchNewImageA +// ****************************************************************** +SOOVPA<8> XLaunchNewImageA_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x80 }, + { 0x3E, 0xC0 }, + { 0x5E, 0xFF }, + { 0x7E, 0xFC }, + { 0x9E, 0x08 }, + { 0xBE, 0x50 }, + { 0xDE, 0x05 }, + { 0xFE, 0x85 }, + } +}; + +// ****************************************************************** +// * XGetLaunchInfo +// ****************************************************************** +SOOVPA<7> XGetLaunchInfo_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x18, 0x15 }, + { 0x25, 0x8B }, + { 0x32, 0x30 }, + { 0x3F, 0x00 }, + { 0x4C, 0x83 }, + { 0x59, 0x5E }, + } +}; + +// ****************************************************************** +// * XGetSectionHandleA +// 558BEC83EC10538B1D........5657FF75088D45F050FFD38B351C0101008B3D +// ****************************************************************** +SOOVPA<12> XGetSectionHandleA_1_0_3911 = +{ + 0, // Large == 0 + 12, // Count == 0 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x10 }, + { 0x06, 0x53 }, + { 0x07, 0x8B }, + { 0x08, 0x1D }, + + { 0x0D, 0x56 }, + { 0x0E, 0x57 }, + { 0x0F, 0xFF } + } +}; + +// ****************************************************************** +// * XLoadSectionByHandle +// 568B74240856FF15........85C07D0A50E8........33C0EB038B46045EC204 +// ****************************************************************** +SOOVPA<11> XLoadSectionByHandle_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XLoadSectionByHandle+0x01 : mov esi, [esp+4+arg_0] + { 0x01, 0x8B }, + { 0x02, 0x74 }, + { 0x03, 0x24 }, + { 0x04, 0x08 }, + + // XLoadSectionByHandle+0x0C : test eax, eax + { 0x0C, 0x85 }, + { 0x0D, 0xC0 }, + + // XLoadSectionByHandle+0x1A : mov eax, [esi+4] + { 0x1A, 0x8B }, + { 0x1B, 0x46 }, + { 0x1C, 0x04 }, + + // XLoadSectionByHandle+0x1E : retn 4 + { 0x1E, 0xC2 }, + { 0x1F, 0x04 } + } +}; + +// ****************************************************************** +// * XFreeSectionByHandle +// FF742404FF15........85C07D0A50E8........33C0EB0333C040C20400.... +// ****************************************************************** +SOOVPA<11> XFreeSectionByHandle_1_0_3911 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XRefNotSaved, + XRefNotUsed, + + { + // XFreeSectionByHandle+0x00 : push esp + { 0x00, 0xFF }, + { 0x01, 0x74 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // XFreeSectionByHandle+0x0A : test eax, eax + { 0x0A, 0x85 }, + { 0x0B, 0xC0 }, + + // XFreeSectionByHandle+0x18 : xor eax, eax + { 0x18, 0x33 }, + { 0x19, 0xC0 }, + + // XFreeSectionByHandle+0x1A : inc eax + { 0x1A, 0x40 }, + + // XFreeSectionByHandle+0x1B : retn 4 + { 0x1B, 0xC2 }, + { 0x1C, 0x04 } + } +}; + +// ****************************************************************** +// * XAutoPowerDownResetTimer +// ****************************************************************** +SOOVPA<6> XAutoPowerDownResetTimer_1_0_3911 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x02, 0x59 }, + { 0x08, 0x51 }, + { 0x0A, 0x00 }, + { 0x0E, 0x50 }, + { 0x14, 0xFF }, + { 0x1A, 0xC3 }, + } +}; + +// ****************************************************************** +// * XMountMURootA +// ****************************************************************** +SOOVPA<7> XMountMURootA_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x0C }, + { 0x3E, 0x00 }, + { 0x61, 0x8B }, + { 0x7E, 0x00 }, + { 0x9E, 0x00 }, + { 0xBE, 0xFF }, + { 0xDE, 0xFF }, + } +}; + +// ****************************************************************** +// * XMountUtilityDrive +// ****************************************************************** +SOOVPA<7> XMountUtilityDrive_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1C, 0x85 }, + { 0x3A, 0x8D }, + { 0x58, 0x10 }, + { 0x76, 0xF8 }, + { 0x94, 0xF8 }, + { 0xB3, 0x8B }, + { 0xD0, 0xC0 }, + } +}; + +// ****************************************************************** +// * GetFileAttributesA +// ****************************************************************** +SOOVPA<7> GetFileAttributesA_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x08 }, + { 0x13, 0x8D }, + { 0x1C, 0x50 }, + { 0x26, 0xFF }, + { 0x30, 0x15 }, + { 0x3A, 0x45 }, + { 0x44, 0x83 }, + } +}; + +// ****************************************************************** +// * ReadFileEx@20 +// ****************************************************************** +SOOVPA<8> ReadFileEx_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x48 }, + { 0x14, 0x8D }, + { 0x1F, 0xFF }, + { 0x2A, 0xFF }, + { 0x2F, 0x00 }, + { 0x35, 0x00 }, + { 0x40, 0x50 }, + { 0x4B, 0xC0 }, + } +}; + +// ****************************************************************** +// * WriteFileEx +// ****************************************************************** +SOOVPA<8> WriteFileEx_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x48 }, + { 0x14, 0x8D }, + { 0x1F, 0xFF }, + { 0x2A, 0xFF }, + { 0x2F, 0xFC }, + { 0x35, 0x00 }, + { 0x40, 0x50 }, + { 0x4B, 0xC0 }, + } +}; + +// ****************************************************************** +// * XAPI_1_0_3911 +// ****************************************************************** +OOVPATable XAPI_1_0_3911[] = +{ + // GetExitCodeThread + { + (OOVPA*)&GetExitCodeThread_1_0_3911, + + XTL::EmuGetExitCodeThread, + + #ifdef _DEBUG_TRACE + "EmuGetExitCodeThread" + #endif + }, + //*/ + // XInitDevices + { + (OOVPA*)&XInitDevices_1_0_3911, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + /* Too High Level + // CreateMutex + { + (OOVPA*)&CreateMutex_1_0_3911, + + XTL::EmuCreateMutex, + + #ifdef _DEBUG_TRACE + "EmuCreateMutex" + #endif + }, + //*/ + /* Too High Level */ + // CreateThread + /* { + (OOVPA*)&CreateThread_1_0_3911, + + XTL::EmuCreateThread, + + #ifdef _DEBUG_TRACE + "EmuCreateThread" + #endif + },*/ + // SetThreadPriority + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + //*/ + // GetTimeZoneInformation + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // XRegisterThreadNotifyRoutine + { + (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, + + XTL::EmuXRegisterThreadNotifyRoutine, + + #ifdef _DEBUG_TRACE + "EmuXRegisterThreadNotifyRoutine" + #endif + }, + /* + // XCalculateSignatureBegin + { + (OOVPA*)&XCalculateSignatureBegin_1_0_3911, + + XTL::EmuXCalculateSignatureBegin, + + #ifdef _DEBUG_TRACE + "EmuXCalculateSignatureBegin" + #endif + }, + */ + // XGetDevices + { + (OOVPA*)&XGetDevices_1_0_3911, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XGetDeviceChanges + { + (OOVPA*)&XGetDeviceChanges_1_0_3911, + + XTL::EmuXGetDeviceChanges, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceChanges" + #endif + }, + // XInputOpen + { + (OOVPA*)&XInputOpen_1_0_3911, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XID_fCloseDevice + { + (OOVPA*)&XID_fCloseDevice_1_0_3911, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose + { + (OOVPA*)&XInputClose_1_0_3911, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_3911, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetState + { + (OOVPA*)&XInputGetState_1_0_3911, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputSetState + { + (OOVPA*)&XInputSetState_1_0_3911, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + // SetThreadPriorityBoost + { + (OOVPA*)&SetThreadPriorityBoost_1_0_3911, + + XTL::EmuSetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriorityBoost" + #endif + }, + // GetThreadPriority + { + (OOVPA*)&GetThreadPriority_1_0_3911, + + XTL::EmuGetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuGetThreadPriority" + #endif + }, + // XGetDevices + { + (OOVPA*)&XGetDevices_1_0_3911, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // CreateFiber + { + (OOVPA*)&CreateFiber_1_0_3911, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber + { + (OOVPA*)&DeleteFiber_1_0_3911, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // SwitchToFiber + { + (OOVPA*)&SwitchToFiber_1_0_3911, + + XTL::EmuSwitchToFiber, + + #ifdef _DEBUG_TRACE + "EmuSwitchToFiber" + #endif + }, + // ConvertThreadToFiber + { + (OOVPA*)&ConvertThreadToFiber_1_0_3911, + + XTL::EmuConvertThreadToFiber, + + #ifdef _DEBUG_TRACE + "EmuConvertThreadToFiber" + #endif + }, + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_3911, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // SignalObjectAndWait + { + (OOVPA*)&SignalObjectAndWait_1_0_3911, + + XTL::EmuSignalObjectAndWait, + + #ifdef _DEBUG_TRACE + "EmuSignalObjectAndWait" + #endif + }, + // PulseEvent + { + (OOVPA*)&PulseEvent_1_0_3911, + + XTL::EmuPulseEvent, + + #ifdef _DEBUG_TRACE + "EmuPulseEvent" + #endif + }, + // QueueUserAPC + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // lstrcmpiW + /*{ + (OOVPA*)&lstrcmpiW_1_0_3911, + + XTL::EmulstrcmpiW, + + #ifdef _DEBUG_TRACE + "EmulstrcmpiW" + #endif + },*/ + // XMountAlternateTitleA + { + (OOVPA*)&XMountAlternateTitleA_1_0_3911, + XTL::EmuXMountAlternateTitle, + + #ifdef _DEBUG_TRACE + "XMountAlternateTitleA" + #endif + }, + // XUnmountAlternateTitleA + { + (OOVPA*)&XUnmountAlternateTitleA_1_0_3911, + XTL::EmuXUnmountAlternateTitle, + + #ifdef _DEBUG_TRACE + "XUnmountAlternateTitleA" + #endif + }, + // XMountMUA + { + (OOVPA*)&XMountMUA_1_0_3911, + XTL::EmuXMountMUA, + + #ifdef _DEBUG_TRACE + "EmuXMountMUA" + #endif + }, + // XLaunchNewImageA + { + (OOVPA*)&XLaunchNewImageA_1_0_3911, + XTL::EmuXLaunchNewImage, + + #ifdef _DEBUG_TRACE + "EmuXLaunchNewImageA" + #endif + }, + // XGetLaunchInfo + { + (OOVPA*)&XGetLaunchInfo_1_0_3911, + XTL::EmuXGetLaunchInfo, + + #ifdef _DEBUG_TRACE + "EmuXGetLaunchInfo" + #endif + }, + // XAutoPowerDownResetTimer + { + (OOVPA*)&XAutoPowerDownResetTimer_1_0_3911, + + XTL::EmuXAutoPowerDownResetTimer, + + #ifdef _DEBUG_TRACE + "EmuXAutoPowerDownResetTimer" + #endif + }, + // XMountMURootA + { + (OOVPA*)&XMountMURootA_1_0_3911, + XTL::EmuXMountMURootA, + + #ifdef _DEBUG_TRACE + "EmuXMountMURootA" + #endif + }, + // XMountUtilityDrive + { + (OOVPA*)&XMountUtilityDrive_1_0_3911, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive" + #endif + }, + // GetFileAttributesA + { + (OOVPA*)&GetFileAttributesA_1_0_3911, + XTL::EmuGetFileAttributesA, + + #ifdef _DEBUG_TRACE + "EmuGetFileAttributesA" + #endif + }, + // ReadFileEx + /*{ + (OOVPA*)&ReadFileEx_1_0_3911, + XTL::EmuReadFileEx, + + #ifdef _DEBUG_TRACE + "EmuReadFileEx" + #endif + }, + // WriteFileEx + { + (OOVPA*)&WriteFileEx_1_0_3911, + XTL::EmuWriteFileEx, + + #ifdef _DEBUG_TRACE + "EmuWriteFileEx" + #endif + },*/ + // CloseHandle + /*{ + (OOVPA*)&CloseHandle_1_0_3911, + XTL::EmuCloseHandle, + + #ifdef _DEBUG_TRACE + "CloseHandle" + #endif + },*/ + // ExitThread + /*{ + (OOVPA*)&ExitThread_1_0_3911, + XTL::EmuExitThread, + + #ifdef _DEBUG_TRACE + "ExitThread" + #endif + },*/ + // VirtualAlloc@16 + //{ + // (OOVPA*)&VirtualAlloc_1_0_3911, + // XTL::EmuVirtualAlloc, + + // #ifdef _DEBUG_TRACE + // "EmuVirtualAlloc" + // #endif + //}, + //// VirtualFree@12 + //{ + // (OOVPA*)&VirtualFree_1_0_3911, + // XTL::EmuVirtualFree, + + // #ifdef _DEBUG_TRACE + // "EmuVirtualFree" + // #endif + //}, +}; + +// ****************************************************************** +// * XAPI_1_0_3911_SIZE +// ****************************************************************** +uint32 XAPI_1_0_3911_SIZE = sizeof(XAPI_1_0_3911); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.h new file mode 100644 index 000000000..359eeef03 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4034.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_4034_H +#define XAPI_1_0_4034_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_4034[]; +extern uint32 XAPI_1_0_4034_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.inl new file mode 100644 index 000000000..80f6c5aa5 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4034.inl @@ -0,0 +1,437 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4034.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +/* + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +SOOVPA<14> XInputGetCapabilities_1_0_4361 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputGetCapabilities+0x03 : sub esp, 0x48 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x48 }, // (Offset,Value)-Pair #3 + + // XInputGetCapabilities+0x24 : test byte ptr [esi+4], 2 + { 0x24, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x25, 0x46 }, // (Offset,Value)-Pair #5 + { 0x26, 0x04 }, // (Offset,Value)-Pair #6 + { 0x27, 0x02 }, // (Offset,Value)-Pair #7 + + // XInputGetCapabilities+0x3A : stosb + { 0x3A, 0xAA }, // (Offset,Value)-Pair #8 + + // XInputGetCapabilities+0x7D : mov [ebp+var_48], 0x30 + { 0x7D, 0xC6 }, // (Offset,Value)-Pair #9 + { 0x7E, 0x45 }, // (Offset,Value)-Pair #10 + { 0x7F, 0xB8 }, // (Offset,Value)-Pair #11 + { 0x80, 0x30 }, // (Offset,Value)-Pair #12 + + // XInputGetCapabilities+0xEE : cmp [eax], ebx + { 0xEE, 0x39 }, // (Offset,Value)-Pair #13 + { 0xEF, 0x18 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +SOOVPA<12> XInputGetState_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputGetState+0x0E : mov ecx, [edx+0x0A3] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x8A }, // (Offset,Value)-Pair #2 + { 0x10, 0xA3 }, // (Offset,Value)-Pair #3 + + // XInputGetState+0x1D : push 0x57 + { 0x1D, 0x6A }, // (Offset,Value)-Pair #4 + { 0x1E, 0x57 }, // (Offset,Value)-Pair #5 + + // XInputGetState+0x20 : jmp +0x3E + { 0x20, 0xEB }, // (Offset,Value)-Pair #6 + { 0x21, 0x3E }, // (Offset,Value)-Pair #7 + + // XInputGetState+0x2E : mov ebx, 0x048F + { 0x2E, 0xBB }, // (Offset,Value)-Pair #8 + { 0x2F, 0x8F }, // (Offset,Value)-Pair #9 + { 0x30, 0x04 }, // (Offset,Value)-Pair #10 + + // XInputGetState+0x6C : retn 8 + { 0x6C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x6D, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CreateThread +// ****************************************************************** +SOOVPA<8> CreateThread_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // CreateThread+0x0A : mov eax, ds:10130h + { 0x0A, 0xA1 }, // (Offset,Value)-Pair #1 + { 0x0B, 0x30 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x01 }, // (Offset,Value)-Pair #3 + + // CreateThread+0x1C : and ecx, 0xFFFFFF01 + { 0x1C, 0x81 }, // (Offset,Value)-Pair #4 + { 0x1D, 0xE1 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x01 }, // (Offset,Value)-Pair #6 + + // CreateThread+0x6B : retn 0x18 + { 0x6B, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x6C, 0x18 } // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CloseHandle +// ****************************************************************** +SOOVPA<10> CloseHandle_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // CloseHandle+0x00 : push [esp+4] + { 0x00, 0xFF }, // (Offset,Value)-Pair #1 + { 0x01, 0x74 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // CloseHandle+0x04 : call ds:[addr] + { 0x04, 0xFF }, // (Offset,Value)-Pair #5 + { 0x05, 0x15 }, // (Offset,Value)-Pair #6 + + // CloseHandle+0x11 : jmp +0x08 + { 0x11, 0xEB }, // (Offset,Value)-Pair #7 + { 0x12, 0x08 }, // (Offset,Value)-Pair #8 + + // CloseHandle+0x1B : retn 4 + { 0x1B, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1C, 0x04 } // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +SOOVPA<7> XapiInitProcess_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiInitProcess+0x00 : sub esp, 30h + { 0x05, 0x30 }, // (Offset,Value)-Pair #1 + + // XapiInitProcess+0x0F : push 0x0C + { 0x0F, 0x6A }, // (Offset,Value)-Pair #2 + { 0x10, 0x0C }, // (Offset,Value)-Pair #3 + + // XapiInitProcess+0x17 : repe stosd + { 0x17, 0xF3 }, // (Offset,Value)-Pair #4 + { 0x18, 0xAB }, // (Offset,Value)-Pair #5 + + // XapiInitProcess+0x42 : jnz +0x0B + { 0x42, 0x75 }, // (Offset,Value)-Pair #6 + { 0x43, 0x0B }, // (Offset,Value)-Pair #7 + } +}; +*/ + +// ****************************************************************** +// * XAPI_1_0_4034 +// ****************************************************************** +OOVPATable XAPI_1_0_4034[] = +{ + // XInitDevices (* unchanged since 3911 *) + { + (OOVPA*)&XInitDevices_1_0_3911, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + // XGetDevices (* unchanged since 3911 *) + { + (OOVPA*)&XGetDevices_1_0_3911, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, +/* These functions havent been rev'd yet (may be same as new/old) + // XInputOpen + { + (OOVPA*)&XInputOpen_1_0_4034, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_4361, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetState + { + (OOVPA*)&XInputGetState_1_0_4361, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + */ + /* Too High Level + // CreateThread (* unchanged since 1.0.3911 *) + { + (OOVPA*)&CreateThread_1_0_3911, + + XTL::EmuCreateThread, + + #ifdef _DEBUG_TRACE + "EmuCreateThread" + #endif + }, + */ + /* + // CloseHandle (*???*) + { + (OOVPA*)&CloseHandle_1_0_(???), + + XTL::EmuCloseHandle, + + #ifdef _DEBUG_TRACE + "EmuCloseHandle" + #endif + }, + */ + //*/ + // CreateFiber (* unchanged since 3911 *) + { + (OOVPA*)&CreateFiber_1_0_3911, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber (* unchanged since 3911 *) + { + (OOVPA*)&DeleteFiber_1_0_3911, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // GetTimeZoneInformation (* unchanged since 3911 *) + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // SignalObjectAndWait (* unchanged since 3911 *) + { + (OOVPA*)&SignalObjectAndWait_1_0_3911, + + XTL::EmuSignalObjectAndWait, + + #ifdef _DEBUG_TRACE + "EmuSignalObjectAndWait" + #endif + }, + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // XInputSetState (* unchanged since 3911 *) + { + (OOVPA*)&XInputSetState_1_0_3911, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + + // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) + { + (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, + + XTL::EmuXRegisterThreadNotifyRoutine, + + #ifdef _DEBUG_TRACE + "EmuXRegisterThreadNotifyRoutine" + #endif + }, + // XGetDeviceChanges (* unchanged since 3911 *) + { + (OOVPA*)&XGetDeviceChanges_1_0_3911, + + XTL::EmuXGetDeviceChanges, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceChanges" + #endif + }, + // XID_fCloseDevice (* unchanged since 3911 *) + { + (OOVPA*)&XID_fCloseDevice_1_0_3911, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose (* unchanged since 3911 *) + { + (OOVPA*)&XInputClose_1_0_3911, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, + // XInputGetCapabilities (* unchanged since 3911 *) + { + (OOVPA*)&XInputGetCapabilities_1_0_3911, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // GetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&GetThreadPriority_1_0_3911, + + XTL::EmuGetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuGetThreadPriority" + #endif + }, + // XInputOpen (* unchanged since 3911 *) + { + (OOVPA*)&XInputOpen_1_0_3911, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XInputGetState (* unchanged since 3911 *) + { + (OOVPA*)&XInputGetState_1_0_3911, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, +}; + +// ****************************************************************** +// * XAPI_1_0_4034_SIZE +// ****************************************************************** +uint32 XAPI_1_0_4034_SIZE = sizeof(XAPI_1_0_4034); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.h new file mode 100644 index 000000000..a46cb8dfe --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4134.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_4134_H +#define XAPI_1_0_4134_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_4134[]; +extern uint32 XAPI_1_0_4134_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.inl new file mode 100644 index 000000000..7131bbf6c --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4134.inl @@ -0,0 +1,678 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4134.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGetDevices +// ****************************************************************** +SOOVPA<14> XGetDevices_1_0_4134 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // XGetDevices+0x07 : mov edx, [esp+arg_0] + { 0x07, 0x8B }, // (Offset,Value)-Pair #1 + { 0x08, 0x54 }, // (Offset,Value)-Pair #2 + { 0x09, 0x24 }, // (Offset,Value)-Pair #3 + { 0x0A, 0x08 }, // (Offset,Value)-Pair #4 + + // XGetDevices+0x0D : and [edx+4], 0 + { 0x0D, 0x83 }, // (Offset,Value)-Pair #5 + { 0x0E, 0x62 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #7 + { 0x10, 0x00 }, // (Offset,Value)-Pair #8 + + // XGetDevices+0x11 : mov cl, al + { 0x11, 0x8A }, // (Offset,Value)-Pair #9 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #10 + + // XGetDevices+0x16 : call KfLowerIrql + { 0x16, 0xFF }, // (Offset,Value)-Pair #11 + { 0x17, 0x15 }, // (Offset,Value)-Pair #12 + + // XGetDevices+0x1F : retn 4 + { 0x1F, 0xC2 }, // (Offset,Value)-Pair #13 + { 0x20, 0x04 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * XInputOpen +// ****************************************************************** +SOOVPA<12> XInputOpen_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputOpen+0x13 : jmp +0x18 + { 0x13, 0xEB }, // (Offset,Value)-Pair #1 + { 0x14, 0x18 }, // (Offset,Value)-Pair #2 + + // XInputOpen+0x4A : add edx, 0x10 + { 0x4A, 0x83 }, // (Offset,Value)-Pair #3 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #4 + { 0x4C, 0x10 }, // (Offset,Value)-Pair #5 + + // XInputOpen+0x5B : jnz +0x06 + { 0x5B, 0x75 }, // (Offset,Value)-Pair #6 + { 0x5C, 0x06 }, // (Offset,Value)-Pair #7 + + // XInputOpen+0x68 : push 0x57 + { 0x68, 0x6A }, // (Offset,Value)-Pair #8 + { 0x69, 0x57 }, // (Offset,Value)-Pair #9 + + // XInputOpen+0x71 : leave + { 0x71, 0xC9 }, // (Offset,Value)-Pair #10 + + // XInputOpen+0x72 : retn 0x10 + { 0x72, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x73, 0x10 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +SOOVPA<12> XInputGetState_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputGetState+0x0E : cmp byte ptr [edx+0xA3], 1 + { 0x0E, 0x80 }, // (Offset,Value)-Pair #1 + { 0x0F, 0xBA }, // (Offset,Value)-Pair #2 + { 0x10, 0xA3 }, // (Offset,Value)-Pair #3 + + // XInputGetState+0x17 : push 0x57 + { 0x17, 0x6A }, // (Offset,Value)-Pair #4 + { 0x18, 0x57 }, // (Offset,Value)-Pair #5 + + // XInputGetState+0x1A : jmp +0x46 + { 0x1A, 0xEB }, // (Offset,Value)-Pair #6 + { 0x1B, 0x46 }, // (Offset,Value)-Pair #7 + + // XInputGetState+0x28 : mov ebx, 0x048F + { 0x28, 0xBB }, // (Offset,Value)-Pair #8 + { 0x29, 0x8F }, // (Offset,Value)-Pair #9 + { 0x2A, 0x04 }, // (Offset,Value)-Pair #10 + + // XInputGetState+0x6E : retn 8 + { 0x6E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x6F, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XMountUtilityDrive +// ****************************************************************** +SOOVPA<10> XMountUtilityDrive_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XMountUtilityDrive+0x03 : sub esp, 0x0114 + { 0x03, 0x81 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x14 }, // (Offset,Value)-Pair #3 + { 0x06, 0x01 }, // (Offset,Value)-Pair #4 + + // XMountUtilityDrive+0x45 : push 0x0104 + { 0x45, 0x68 }, // (Offset,Value)-Pair #5 + { 0x46, 0x04 }, // (Offset,Value)-Pair #6 + { 0x47, 0x01 }, // (Offset,Value)-Pair #7 + + // XMountUtilityDrive+0xAA : lea eax, [ebp-0x10] + { 0xAA, 0x8D }, // (Offset,Value)-Pair #8 + { 0xAB, 0x45 }, // (Offset,Value)-Pair #9 + { 0xAC, 0xF0 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * QueryPerformanceCounter +// ****************************************************************** +SOOVPA<12> QueryPerformanceCounter_1_0_4134 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // QueryPerformanceCounter+0x04 : rdtsc + { 0x04, 0x0F }, // (Offset,Value)-Pair #1 + { 0x05, 0x31 }, // (Offset,Value)-Pair #2 + + // QueryPerformanceCounter+0x06 : mov [ecx], eax + { 0x06, 0x89 }, // (Offset,Value)-Pair #3 + { 0x07, 0x01 }, // (Offset,Value)-Pair #4 + + // QueryPerformanceCounter+0x08 : mov [ecx+4], eax + { 0x08, 0x89 }, // (Offset,Value)-Pair #5 + { 0x09, 0x51 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + + // QueryPerformanceCounter+0x0B : xor eax, eax + { 0x0B, 0x33 }, // (Offset,Value)-Pair #8 + { 0x0C, 0xC0 }, // (Offset,Value)-Pair #9 + + // QueryPerformanceCounter+0x0D : inc eax + { 0x0D, 0x40 }, // (Offset,Value)-Pair #10 + + // QueryPerformanceCounter+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * QueryPerformanceFrequency +// ****************************************************************** +SOOVPA<15> QueryPerformanceFrequency_1_0_4134 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x60 }, // (Offset,Value)-Pair #2 + { 0x06, 0x04 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + + // QueryPerformanceFrequency+0x06 : mov dword ptr [eax], 0x2BB5C755 + { 0x08, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x55 }, // (Offset,Value)-Pair #7 + { 0x0B, 0xC7 }, // (Offset,Value)-Pair #8 + { 0x0C, 0xB5 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x2B }, // (Offset,Value)-Pair #10 + + // QueryPerformanceFrequency+0x0E : xor eax, eax + { 0x0E, 0x33 }, // (Offset,Value)-Pair #11 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #12 + + // QueryPerformanceFrequency+0x10 : inc eax + { 0x10, 0x40 }, // (Offset,Value)-Pair #13 + + // QueryPerformanceFrequency+0x11 : retn 0x04 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x12, 0x04 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * XInputPoll +// ****************************************************************** +SOOVPA<10> XInputPoll_1_0_4134 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + 0, // XRef Is Used + + { + { 0x16, 0xF6 }, // (Offset,Value)-Pair #1 + { 0x17, 0x41 }, // (Offset,Value)-Pair #2 + { 0x18, 0x04 }, // (Offset,Value)-Pair #3 + { 0x19, 0x02 }, // (Offset,Value)-Pair #4 + + { 0x25, 0x39 }, // (Offset,Value)-Pair #5 + { 0x26, 0x70 }, // (Offset,Value)-Pair #6 + { 0x27, 0x04 }, // (Offset,Value)-Pair #7 + + { 0x3A, 0x83 }, // (Offset,Value)-Pair #8 + { 0x3B, 0xC0 }, // (Offset,Value)-Pair #9 + { 0x3C, 0x52 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * RtlDestroyHeap +// ****************************************************************** +SOOVPA<8> RtlDestroyHeap_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x10, 0x56 }, + { 0x22, 0x75 }, + { 0x34, 0xE0 }, + { 0x46, 0x67 }, + { 0x58, 0x75 }, + { 0x6A, 0xE0 }, + { 0x7C, 0x06 }, + { 0x8E, 0x00 }, + } +}; + +// ****************************************************************** +// * XMountMUA +// ****************************************************************** +SOOVPA<8> XMountMUA_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x22, 0x8A }, + { 0x3E, 0x89 }, + { 0x5E, 0x5C }, + { 0x7E, 0xF4 }, + { 0x9E, 0x50 }, + { 0xBE, 0xF8 }, + { 0xDE, 0x8D }, + { 0xFE, 0x09 }, + } +}; + +// ****************************************************************** +// * GetFileAttributesA +// ****************************************************************** +SOOVPA<7> GetFileAttributesA_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x08 }, + { 0x13, 0x8D }, + { 0x1C, 0x50 }, + { 0x26, 0xFF }, + { 0x30, 0x15 }, + { 0x3A, 0x45 }, + { 0x44, 0x83 }, + } +}; + +// ****************************************************************** +// * timeSetEvent +// ****************************************************************** +SOOVPA<7> timeSetEvent_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x8D }, + { 0x3E, 0x89 }, + { 0x5E, 0x15 }, + { 0x7E, 0x3F }, + { 0x9E, 0x03 }, + { 0xBE, 0x32 }, + { 0xDE, 0x89 }, + } +}; + +// ****************************************************************** +// * timeKillEvent +// ****************************************************************** +SOOVPA<8> timeKillEvent_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x8B }, + { 0x1A, 0xC2 }, + { 0x28, 0x8D }, + { 0x36, 0x56 }, + { 0x44, 0x00 }, + { 0x52, 0x00 }, + { 0x60, 0x5E }, + { 0x6E, 0x00 }, + } +}; + +// ****************************************************************** +// * XAPI_1_0_4134 +// ****************************************************************** +OOVPATable XAPI_1_0_4134[] = +{ + // XInitDevices (* unchanged since 3911 *) + { + (OOVPA*)&XInitDevices_1_0_3911, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + //*/ + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // GetExitCodeThread (* unchanged since 3911 *) + { + (OOVPA*)&GetExitCodeThread_1_0_3911, + + XTL::EmuGetExitCodeThread, + + #ifdef _DEBUG_TRACE + "EmuGetExitCodeThread" + #endif + }, + // XGetDevices + { + (OOVPA*)&XGetDevices_1_0_4134, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XInputOpen + { + (OOVPA*)&XInputOpen_1_0_4134, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XInputGetState + { + (OOVPA*)&XInputGetState_1_0_4134, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputSetState (* unchanged since 3911 *) + { + (OOVPA*)&XInputSetState_1_0_3911, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + // XMountUtilityDrive + { + (OOVPA*)&XMountUtilityDrive_1_0_4134, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive" + #endif + }, + // CreateFiber (* unchanged since 3911 *) + { + (OOVPA*)&CreateFiber_1_0_3911, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber (* unchanged since 3911 *) + { + (OOVPA*)&DeleteFiber_1_0_3911, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // GetTimeZoneInformation (* unchanged since 3911 *) + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) + { + (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, + + XTL::EmuXRegisterThreadNotifyRoutine, + + #ifdef _DEBUG_TRACE + "EmuXRegisterThreadNotifyRoutine" + #endif + }, + // XGetDeviceChanges (* unchanged since 3911 *) + { + (OOVPA*)&XGetDeviceChanges_1_0_3911, + + XTL::EmuXGetDeviceChanges, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceChanges" + #endif + }, + // XID_fCloseDevice (* unchanged since 3911 *) + { + (OOVPA*)&XID_fCloseDevice_1_0_3911, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose (* unchanged since 3911 *) + { + (OOVPA*)&XInputClose_1_0_3911, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, + // XInputGetCapabilities (* unchanged since 3911 *) + { + (OOVPA*)&XInputGetCapabilities_1_0_3911, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // GetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&GetThreadPriority_1_0_3911, + + XTL::EmuGetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuGetThreadPriority" + #endif + }, + // QueryPerformanceCounter + { + (OOVPA*)&QueryPerformanceCounter_1_0_4134, + + XTL::EmuQueryPerformanceCounter, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceCounter" + #endif + }, + // QueryPerformanceFrequency + { + (OOVPA*)&QueryPerformanceFrequency_1_0_4134, + + XTL::EmuQueryPerformanceFrequency, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceFrequency" + #endif + }, + // XInputPoll + { + (OOVPA*)&XInputPoll_1_0_4134, + + XTL::EmuXInputPoll, + + #ifdef _DEBUG_TRACE + "EmuXInputPoll" + #endif + }, + // SetThreadPriorityBoost (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriorityBoost_1_0_3911, + + XTL::EmuSetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriorityBoost" + #endif + }, + // SignalObjectAndWait (* unchanged since 3911 *) + { + (OOVPA*)&SignalObjectAndWait_1_0_3911, + + XTL::EmuSignalObjectAndWait, + + #ifdef _DEBUG_TRACE + "EmuSignalObjectAndWait" + #endif + }, + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // XMountMUA + { + (OOVPA*)&XMountMUA_1_0_4134, + XTL::EmuXMountMUA, + + #ifdef _DEBUG_TRACE + "EmuXMountMUA" + #endif + }, + // GetFileAttributesA + { + (OOVPA*)&GetFileAttributesA_1_0_4134, + XTL::EmuGetFileAttributesA, + + #ifdef _DEBUG_TRACE + "EmuGetFileAttributesA" + #endif + }, + // timeSetEvent + { + (OOVPA*)&timeSetEvent_1_0_4134, + XTL::EmutimeSetEvent, + + #ifdef _DEBUG_TRACE + "EmutimeSetEvent" + #endif + }, + // timeKillEvent + { + (OOVPA*)&timeKillEvent_1_0_4134, + XTL::EmutimeKillEvent, + + #ifdef _DEBUG_TRACE + "EmutimeKillEvent" + #endif + }, + // XLaunchNewImageA + { + (OOVPA*)&XLaunchNewImageA_1_0_3911, + XTL::EmuXLaunchNewImage, + + #ifdef _DEBUG_TRACE + "EmuXLaunchNewImageA" + #endif + }, +}; + +// ****************************************************************** +// * XAPI_1_0_4134_SIZE +// ****************************************************************** +uint32 XAPI_1_0_4134_SIZE = sizeof(XAPI_1_0_4134); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.h new file mode 100644 index 000000000..944c78bbe --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4361.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_4361_H +#define XAPI_1_0_4361_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_4361[]; +extern uint32 XAPI_1_0_4361_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.inl new file mode 100644 index 000000000..56fb14e2f --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4361.inl @@ -0,0 +1,846 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4361.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * RtlFreeHeap +// ****************************************************************** +SOOVPA<12> RtlFreeHeap_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlFreeHeap+0x1F : test ecx, ecx + { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 + { 0x20, 0xC9 }, // (Offset,Value)-Pair #2 + + // RtlFreeHeap+0x4B : test byte ptr [edi+5], 0x08 + { 0x4B, 0xF6 }, // (Offset,Value)-Pair #3 + { 0x4C, 0x47 }, // (Offset,Value)-Pair #4 + { 0x4D, 0x05 }, // (Offset,Value)-Pair #5 + { 0x4E, 0x08 }, // (Offset,Value)-Pair #6 + + // RtlFreeHeap+0x5B : push 0 + { 0x5B, 0x6A }, // (Offset,Value)-Pair #7 + { 0x5C, 0x00 }, // (Offset,Value)-Pair #8 + + // RtlFreeHeap+0x8F : cmp [edx], edx + { 0x8F, 0x39 }, // (Offset,Value)-Pair #9 + { 0x90, 0x12 }, // (Offset,Value)-Pair #10 + + // RtlFreeHeap+0xA4 : shl ebx, cl + { 0xA4, 0xD3 }, // (Offset,Value)-Pair #11 + { 0xA5, 0xE3 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * QueryPerformanceCounter +// ****************************************************************** +SOOVPA<12> QueryPerformanceCounter_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // QueryPerformanceCounter+0x04 : rdtsc + { 0x04, 0x0F }, // (Offset,Value)-Pair #1 + { 0x05, 0x31 }, // (Offset,Value)-Pair #2 + + // QueryPerformanceCounter+0x06 : mov [ecx], eax + { 0x06, 0x89 }, // (Offset,Value)-Pair #3 + { 0x07, 0x01 }, // (Offset,Value)-Pair #4 + + // QueryPerformanceCounter+0x08 : mov [ecx+4], eax + { 0x08, 0x89 }, // (Offset,Value)-Pair #5 + { 0x09, 0x51 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + + // QueryPerformanceCounter+0x0B : xor eax, eax + { 0x0B, 0x33 }, // (Offset,Value)-Pair #8 + { 0x0C, 0xC0 }, // (Offset,Value)-Pair #9 + + // QueryPerformanceCounter+0x0D : inc eax + { 0x0D, 0x40 }, // (Offset,Value)-Pair #10 + + // QueryPerformanceCounter+0x0E : retn 0x04 + { 0x0E, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x0F, 0x04 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * QueryPerformanceFrequency +// ****************************************************************** +SOOVPA<15> QueryPerformanceFrequency_1_0_4361 = +{ + 0, // Large == 0 + 15, // Count == 15 + + XRefNotSaved, + XRefNotUsed, + + { + // QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0 + { 0x04, 0x83 }, // (Offset,Value)-Pair #1 + { 0x05, 0x60 }, // (Offset,Value)-Pair #2 + { 0x06, 0x04 }, // (Offset,Value)-Pair #3 + { 0x07, 0x00 }, // (Offset,Value)-Pair #4 + + // QueryPerformanceFrequency+0x06 : mov dword ptr [eax], 0x2BB5C755 + { 0x08, 0xC7 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x55 }, // (Offset,Value)-Pair #7 + { 0x0B, 0xC7 }, // (Offset,Value)-Pair #8 + { 0x0C, 0xB5 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x2B }, // (Offset,Value)-Pair #10 + + // QueryPerformanceFrequency+0x0E : xor eax, eax + { 0x0E, 0x33 }, // (Offset,Value)-Pair #11 + { 0x0F, 0xC0 }, // (Offset,Value)-Pair #12 + + // QueryPerformanceFrequency+0x10 : inc eax + { 0x10, 0x40 }, // (Offset,Value)-Pair #13 + + // QueryPerformanceFrequency+0x11 : retn 0x04 + { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x12, 0x04 }, // (Offset,Value)-Pair #15 + } +}; + +// ****************************************************************** +// * XInputOpen +// ****************************************************************** +SOOVPA<12> XInputOpen_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputOpen+0x14 : push 0x57 + { 0x14, 0x6A }, // (Offset,Value)-Pair #1 + { 0x15, 0x57 }, // (Offset,Value)-Pair #2 + + // XInputOpen+0x1D : jmp +0x33 + { 0x1D, 0xEB }, // (Offset,Value)-Pair #3 + { 0x1E, 0x33 }, // (Offset,Value)-Pair #4 + + // XInputOpen+0x33 : add edx, 0x10 + { 0x33, 0x83 }, // (Offset,Value)-Pair #5 + { 0x34, 0xC2 }, // (Offset,Value)-Pair #6 + { 0x35, 0x10 }, // (Offset,Value)-Pair #7 + + // XInputOpen+0x47 : jmp +0x06 + { 0x47, 0x75 }, // (Offset,Value)-Pair #8 + { 0x48, 0x06 }, // (Offset,Value)-Pair #9 + + // XInputOpen+0x52 : leave + { 0x52, 0xC9 }, // (Offset,Value)-Pair #10 + + // XInputOpen+0x53 : retn 0x10 + { 0x53, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x54, 0x10 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +SOOVPA<11> XID_fCloseDevice_1_0_4361 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_FCLOSEDEVICE, // XRef Is Saved + 0, // XRef Not Used + + { + // XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3] + { 0x1B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x1C, 0x86 }, // (Offset,Value)-Pair #2 + { 0x1D, 0xA3 }, // (Offset,Value)-Pair #3 + + // XID_fCloseDevice+0x91 : mov [esi+0x00A7], eax + { 0x91, 0x89 }, // (Offset,Value)-Pair #4 + { 0x92, 0x86 }, // (Offset,Value)-Pair #5 + { 0x93, 0xA7 }, // (Offset,Value)-Pair #6 + + // XID_fCloseDevice+0x91 : mov [esi+0x00A7], eax // FIXME: Same instruction repeated. + { 0x91, 0x89 }, // (Offset,Value)-Pair #7 + { 0x92, 0x86 }, // (Offset,Value)-Pair #8 + { 0x93, 0xA7 }, // (Offset,Value)-Pair #9 + + // XID_fCloseDevice+0x9F : leave; retn + { 0x9F, 0xC9 }, // (Offset,Value)-Pair #10 + { 0xA0, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +SOOVPA<14> XInputGetCapabilities_1_0_4361 = +{ + 0, // Large == 0 + 14, // Count == 14 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputGetCapabilities+0x03 : sub esp, 0x48 + { 0x03, 0x83 }, // (Offset,Value)-Pair #1 + { 0x04, 0xEC }, // (Offset,Value)-Pair #2 + { 0x05, 0x48 }, // (Offset,Value)-Pair #3 + + // XInputGetCapabilities+0x24 : test byte ptr [esi+4], 2 + { 0x24, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x25, 0x46 }, // (Offset,Value)-Pair #5 + { 0x26, 0x04 }, // (Offset,Value)-Pair #6 + { 0x27, 0x02 }, // (Offset,Value)-Pair #7 + + // XInputGetCapabilities+0x3A : stosb + { 0x3A, 0xAA }, // (Offset,Value)-Pair #8 + + // XInputGetCapabilities+0x7D : mov [ebp+var_48], 0x30 + { 0x7D, 0xC6 }, // (Offset,Value)-Pair #9 + { 0x7E, 0x45 }, // (Offset,Value)-Pair #10 + { 0x7F, 0xB8 }, // (Offset,Value)-Pair #11 + { 0x80, 0x30 }, // (Offset,Value)-Pair #12 + + // XInputGetCapabilities+0xEE : cmp [eax], ebx + { 0xEE, 0x39 }, // (Offset,Value)-Pair #13 + { 0xEF, 0x18 }, // (Offset,Value)-Pair #14 + } +}; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +SOOVPA<12> XInputGetState_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputGetState+0x0E : mov ecx, [edx+0x0A3] + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x8A }, // (Offset,Value)-Pair #2 + { 0x10, 0xA3 }, // (Offset,Value)-Pair #3 + + // XInputGetState+0x1D : push 0x57 + { 0x1D, 0x6A }, // (Offset,Value)-Pair #4 + { 0x1E, 0x57 }, // (Offset,Value)-Pair #5 + + // XInputGetState+0x20 : jmp +0x3E + { 0x20, 0xEB }, // (Offset,Value)-Pair #6 + { 0x21, 0x3E }, // (Offset,Value)-Pair #7 + + // XInputGetState+0x2E : mov ebx, 0x048F + { 0x2E, 0xBB }, // (Offset,Value)-Pair #8 + { 0x2F, 0x8F }, // (Offset,Value)-Pair #9 + { 0x30, 0x04 }, // (Offset,Value)-Pair #10 + + // XInputGetState+0x6C : retn 8 + { 0x6C, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x6D, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputSetState +// ****************************************************************** +SOOVPA<12> XInputSetState_1_0_4361 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputSetState+0x04 : lea eax, [ecx+0x0A3] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x81 }, // (Offset,Value)-Pair #2 + { 0x06, 0xA3 }, // (Offset,Value)-Pair #3 + + // XInputSetState+0x15 : push 0x57 + { 0x15, 0x6A }, // (Offset,Value)-Pair #4 + { 0x16, 0x57 }, // (Offset,Value)-Pair #5 + + // XInputSetState+0x18 : jmp +0x19 + { 0x18, 0xEB }, // (Offset,Value)-Pair #6 + { 0x19, 0x19 }, // (Offset,Value)-Pair #7 + + // XInputSetState+0x2B : mov [edx+0x41], al + { 0x2B, 0x88 }, // (Offset,Value)-Pair #8 + { 0x2C, 0x42 }, // (Offset,Value)-Pair #9 + { 0x2D, 0x41 }, // (Offset,Value)-Pair #10 + + // XInputSetState+0x33 : retn 0x08 + { 0x33, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x34, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputSetState +// ****************************************************************** +SOOVPA<12> XInputSetState_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XInputSetState+0x04 : lea eax, [ecx+0x0A3] + { 0x04, 0x8D }, // (Offset,Value)-Pair #1 + { 0x05, 0x81 }, // (Offset,Value)-Pair #2 + { 0x06, 0xA3 }, // (Offset,Value)-Pair #3 + + // XInputSetState+0x12 : push 0x57 + { 0x12, 0x6A }, // (Offset,Value)-Pair #4 + { 0x13, 0x57 }, // (Offset,Value)-Pair #5 + + // XInputSetState+0x15 : jmp +0x19 + { 0x15, 0xEB }, // (Offset,Value)-Pair #6 + { 0x16, 0x19 }, // (Offset,Value)-Pair #7 + + // XInputSetState+0x28 : mov [edx+0x41], al + { 0x28, 0x88 }, // (Offset,Value)-Pair #8 + { 0x29, 0x42 }, // (Offset,Value)-Pair #9 + { 0x2A, 0x41 }, // (Offset,Value)-Pair #10 + + // XInputSetState+0x30 : retn 0x08 + { 0x30, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x31, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * CreateThread +// ****************************************************************** +SOOVPA<8> CreateThread_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // CreateThread+0x0A : mov eax, ds:10130h + { 0x0A, 0xA1 }, // (Offset,Value)-Pair #1 + { 0x0B, 0x30 }, // (Offset,Value)-Pair #2 + { 0x0C, 0x01 }, // (Offset,Value)-Pair #3 + + // CreateThread+0x1C : and ecx, 0xFFFFFF01 + { 0x1C, 0x81 }, // (Offset,Value)-Pair #4 + { 0x1D, 0xE1 }, // (Offset,Value)-Pair #5 + { 0x1E, 0x01 }, // (Offset,Value)-Pair #6 + + // CreateThread+0x6B : retn 0x18 + { 0x6B, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x6C, 0x18 } // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * CloseHandle +// ****************************************************************** +SOOVPA<10> CloseHandle_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // CloseHandle+0x00 : push [esp+4] + { 0x00, 0xFF }, // (Offset,Value)-Pair #1 + { 0x01, 0x74 }, // (Offset,Value)-Pair #2 + { 0x02, 0x24 }, // (Offset,Value)-Pair #3 + { 0x03, 0x04 }, // (Offset,Value)-Pair #4 + + // CloseHandle+0x04 : call ds:[addr] + { 0x04, 0xFF }, // (Offset,Value)-Pair #5 + { 0x05, 0x15 }, // (Offset,Value)-Pair #6 + + // CloseHandle+0x11 : jmp +0x08 + { 0x11, 0xEB }, // (Offset,Value)-Pair #7 + { 0x12, 0x08 }, // (Offset,Value)-Pair #8 + + // CloseHandle+0x1B : retn 4 + { 0x1B, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x1C, 0x04 } // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +SOOVPA<7> XapiInitProcess_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiInitProcess+0x03 : sub esp, 30h + { 0x05, 0x30 }, // (Offset,Value)-Pair #1 + + // XapiInitProcess+0x0F : push 0x0C + { 0x0F, 0x6A }, // (Offset,Value)-Pair #2 + { 0x10, 0x0C }, // (Offset,Value)-Pair #3 + + // XapiInitProcess+0x17 : repe stosd + { 0x17, 0xF3 }, // (Offset,Value)-Pair #4 + { 0x18, 0xAB }, // (Offset,Value)-Pair #5 + + // XapiInitProcess+0x42 : jnz +0x0B + { 0x42, 0x75 }, // (Offset,Value)-Pair #6 + { 0x43, 0x0B }, // (Offset,Value)-Pair #7 + } +}; + +// ****************************************************************** +// * XapiThreadStartup +// ****************************************************************** +SOOVPA<10> XapiThreadStartup_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiThreadStartup+0x00 : push 0x18 + { 0x00, 0x6A }, // (Offset,Value)-Pair #1 + { 0x01, 0x18 }, // (Offset,Value)-Pair #2 + + // XapiThreadStartup+0x10 : mov eax, fs:[0x28] + { 0x10, 0x64 }, // (Offset,Value)-Pair #3 + { 0x11, 0xA1 }, // (Offset,Value)-Pair #4 + { 0x12, 0x28 }, // (Offset,Value)-Pair #5 + + // XapiThreadStartup+0x3F : repe movsd + { 0x3F, 0xF3 }, // (Offset,Value)-Pair #6 + { 0x40, 0xA5 }, // (Offset,Value)-Pair #7 + + // XapiThreadStartup+0x7C : jmp +0x0C + { 0x7C, 0xEB }, // (Offset,Value)-Pair #8 + { 0x7D, 0x0C }, // (Offset,Value)-Pair #9 + + // XapiThreadStartup+0x86 : retn + { 0x86, 0xC3 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XapiSetupPerTitleDriveLetters +// ****************************************************************** +SOOVPA<10> XapiSetupPerTitleDriveLetters_1_0_4361 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiSetupPerTitleDriveLetters+0x09 : lea eax, [ebp-0x0C] + { 0x09, 0x8D }, // (Offset,Value)-Pair #1 + { 0x0A, 0x45 }, // (Offset,Value)-Pair #2 + { 0x0B, 0xF4 }, // (Offset,Value)-Pair #3 + + // XapiSetupPerTitleDriveLetters+0x17 : edd esp, 0x0C + { 0x17, 0x83 }, // (Offset,Value)-Pair #4 + { 0x18, 0xC4 }, // (Offset,Value)-Pair #5 + { 0x19, 0x0C }, // (Offset,Value)-Pair #6 + + // XapiSetupPerTitleDriveLetters+0x35 : jl 0x1A + { 0x35, 0x7C }, // (Offset,Value)-Pair #7 + { 0x36, 0x1A }, // (Offset,Value)-Pair #8 + + // XapiSetupPerTitleDriveLetters+0x52 : retn 0x08 + { 0x52, 0xC2 }, // (Offset,Value)-Pair #9 + { 0x53, 0x08 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XMountMUA +// ****************************************************************** +SOOVPA<8> XMountMUA_1_0_4361 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x22, 0x8A }, + { 0x3E, 0x89 }, + { 0x5E, 0x5C }, + { 0x7E, 0xF4 }, + { 0x9E, 0x50 }, + { 0xBE, 0xF8 }, + { 0xDE, 0x8D }, + { 0xFE, 0x09 }, + } +}; + +// ****************************************************************** +// * CreateWaitableTimerA +// ****************************************************************** +SOOVPA<7> CreateWaitableTimerA_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x74 }, + { 0x16, 0x50 }, + { 0x22, 0x39 }, + { 0x2E, 0xFF }, + { 0x3A, 0x00 }, + { 0x46, 0x6A }, + { 0x52, 0x50 }, + } +}; + +// ****************************************************************** +// * SetWaitableTimer +// ****************************************************************** +SOOVPA<7> SetWaitableTimer_1_0_4361 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0x10 }, + { 0x10, 0xFF }, + { 0x19, 0xFF }, + { 0x22, 0x0A }, + { 0x2B, 0xEB }, + { 0x34, 0x6A }, + { 0x3F, 0x33 }, + } +}; + +// ****************************************************************** +// * XAPI_1_0_4361 +// ****************************************************************** +OOVPATable XAPI_1_0_4361[] = +{ + + // QueryPerformanceCounter + { + (OOVPA*)&QueryPerformanceCounter_1_0_4361, + + XTL::EmuQueryPerformanceCounter, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceCounter" + #endif + }, + // QueryPerformanceFrequency + { + (OOVPA*)&QueryPerformanceFrequency_1_0_4361, + + XTL::EmuQueryPerformanceFrequency, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceFrequency" + #endif + }, + // XInitDevices (* unchanged since 1.0.3911 *) + { + (OOVPA*)&XInitDevices_1_0_3911, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + // XGetDevices (* unchanged since 4134 *) + { + (OOVPA*)&XGetDevices_1_0_4134, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XGetDeviceChanges (* unchanged since 3911 *) + { + (OOVPA*)&XGetDeviceChanges_1_0_3911, + + XTL::EmuXGetDeviceChanges, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceChanges" + #endif + }, + // XInputOpen + { + (OOVPA*)&XInputOpen_1_0_4361, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XID_fCloseDevice + { + (OOVPA*)&XID_fCloseDevice_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose (* unchanged since 3911 *) + { + (OOVPA*)&XInputClose_1_0_3911, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_4361, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetState + { + (OOVPA*)&XInputGetState_1_0_4361, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputSetState + { + (OOVPA*)&XInputSetState_1_0_4361, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + //*/ + /* + // XapiThreadStartup + { + (OOVPA*)&XapiThreadStartup_1_0_4361, + + XTL::EmuXapiThreadStartup, + + #ifdef _DEBUG_TRACE + "XapiThreadStartup" + #endif + }, + //*/ + // XMountUtilityDrive + // TODO: This needs to be verified on 4361, not just 4242! + { + (OOVPA*)&XMountUtilityDrive_1_0_4134, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive_4242" + #endif + }, + // CreateFiber (* unchanged since 3911 *) + { + (OOVPA*)&CreateFiber_1_0_3911, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber (* unchanged since 3911 *) + { + (OOVPA*)&DeleteFiber_1_0_3911, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // GetTimeZoneInformation (* unchanged since 3911 *) + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // GetExitCodeThread (* unchanged since 3911 *) + { + (OOVPA*)&GetExitCodeThread_1_0_3911, + + XTL::EmuGetExitCodeThread, + + #ifdef _DEBUG_TRACE + "EmuGetExitCodeThread" + #endif + }, + // SetThreadPriorityBoost (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriorityBoost_1_0_3911, + + XTL::EmuSetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriorityBoost" + #endif + }, + // SignalObjectAndWait (* unchanged since 3911 *) + { + (OOVPA*)&SignalObjectAndWait_1_0_3911, + + XTL::EmuSignalObjectAndWait, + + #ifdef _DEBUG_TRACE + "EmuSignalObjectAndWait" + #endif + }, + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // GetFileAttributesA (* unchanged since 4134 *) + { + (OOVPA*)&GetFileAttributesA_1_0_4134, + XTL::EmuGetFileAttributesA, + + #ifdef _DEBUG_TRACE + "EmuGetFileAttributesA" + #endif + }, + // XMountMUA + { + (OOVPA*)&XMountMUA_1_0_4361, + XTL::EmuXMountMUA, + + #ifdef _DEBUG_TRACE + "EmuXMountMUA" + #endif + }, + // CreateWaitableTimerA + { + (OOVPA*)&CreateWaitableTimerA_1_0_4361, + XTL::EmuCreateWaitableTimerA, + + #ifdef _DEBUG_TRACE + "EmuCreateWaitableTimerA" + #endif + }, + // SetWaitableTimer + { + (OOVPA*)&SetWaitableTimer_1_0_4361, + XTL::EmuSetWaitableTimer, + + #ifdef _DEBUG_TRACE + "EmuSetWaitableTimer" + #endif + }, +}; + +// ****************************************************************** +// * XAPI_1_0_4361_SIZE +// ****************************************************************** +uint32 XAPI_1_0_4361_SIZE = sizeof(XAPI_1_0_4361); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.h new file mode 100644 index 000000000..4b0bb192f --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4432.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_4432_H +#define XAPI_1_0_4432_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_4432[]; +extern uint32 XAPI_1_0_4432_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.inl new file mode 100644 index 000000000..608bf07e4 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4432.inl @@ -0,0 +1,314 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4432.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * RtlFreeHeap +// ****************************************************************** +SOOVPA<9> RtlFreeHeap_1_0_4432 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlFreeHeap+0x1F : test ecx, ecx + { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 + { 0x20, 0xC9 }, // (Offset,Value)-Pair #2 + + // RtlFreeHeap+0x23 : mov al, 1 + { 0x23, 0xB0 }, // (Offset,Value)-Pair #3 + { 0x24, 0x01 }, // (Offset,Value)-Pair #4 + + // RtlFreeHeap+0x4B : test byte ptr [edi+5], 8 + { 0x4B, 0xF6 }, // (Offset,Value)-Pair #5 + { 0x4C, 0x47 }, // (Offset,Value)-Pair #6 + { 0x4D, 0x05 }, // (Offset,Value)-Pair #7 + + // RtlFreeHeap+0x6E : cmp ecx, 0x80 + { 0x6E, 0x81 }, // (Offset,Value)-Pair #8 + { 0x6F, 0xF9 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * XMountUtilityDrive +// ****************************************************************** +SOOVPA<8> XMountUtilityDrive_1_0_4432 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + // XapiUnknownBad1+0x51 : push 0x0104 + { 0x51, 0x68 }, // (Offset,Value)-Pair #1 + { 0x52, 0x04 }, // (Offset,Value)-Pair #2 + { 0x53, 0x01 }, // (Offset,Value)-Pair #3 + + // XapiUnknownBad1+0xB3 : jnz +0x1A + { 0xB3, 0x75 }, // (Offset,Value)-Pair #4 + { 0xB4, 0x1A }, // (Offset,Value)-Pair #5 + + // XapiUnknownBad1+0xE8 : setnl al + { 0xE8, 0x0F }, // (Offset,Value)-Pair #6 + { 0xE9, 0x9D }, // (Offset,Value)-Pair #7 + { 0xEA, 0xC0 }, // (Offset,Value)-Pair #8 + + // TODO: Finish signature, toss out function call basically + } +}; + +// ****************************************************************** +// * XAPI_1_0_4432 +// ****************************************************************** +OOVPATable XAPI_1_0_4432[] = +{ + + // XMountUtilityDrive + { + (OOVPA*)&XMountUtilityDrive_1_0_4432, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive" + #endif + }, + // XInitDevices (* unchanged since 1.0.3911 *) + { + (OOVPA*)&XInitDevices_1_0_3911, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + // XGetDevices (* unchanged since 1.0.4134 *) + { + (OOVPA*)&XGetDevices_1_0_4134, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XInputOpen (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputOpen_1_0_4361, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XID_fCloseDevice + { + (OOVPA*)&XID_fCloseDevice_1_0_4361, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose (* unchanged since 1.0.3911 *) + { + (OOVPA*)&XInputClose_1_0_3911, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, + // XInputGetCapabilities (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputGetCapabilities_1_0_4361, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetState (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputGetState_1_0_4361, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputSetState (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputSetState_1_0_4361, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + /* + // XapiThreadStartup (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XapiThreadStartup_1_0_4361, + + XTL::EmuXapiThreadStartup, + + #ifdef _DEBUG_TRACE + "EmuXapiThreadStartup" + #endif + }, + //*/ + //*/ + // GetExitCodeThread (* unchanged since 3911 *) + { + (OOVPA*)&GetExitCodeThread_1_0_3911, + + XTL::EmuGetExitCodeThread, + + #ifdef _DEBUG_TRACE + "EmuGetExitCodeThread" + #endif + }, + // GetTimeZoneInformation (* unchanged since 3911 *) + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // SignalObjectAndWait (* unchanged since 3911 *) + { + (OOVPA*)&SignalObjectAndWait_1_0_3911, + + XTL::EmuSignalObjectAndWait, + + #ifdef _DEBUG_TRACE + "EmuSignalObjectAndWait" + #endif + }, + // CreateFiber (* unchanged since 3911 *) + { + (OOVPA*)&CreateFiber_1_0_3911, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber (* unchanged since 3911 *) + { + (OOVPA*)&DeleteFiber_1_0_3911, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // GetFileAttributesA (* unchanged since 4134 *) + { + (OOVPA*)&GetFileAttributesA_1_0_4134, + XTL::EmuGetFileAttributesA, + + #ifdef _DEBUG_TRACE + "EmuGetFileAttributesA" + #endif + }, + // timeSetEvent + { + (OOVPA*)&timeSetEvent_1_0_4134, + XTL::EmutimeSetEvent, + + #ifdef _DEBUG_TRACE + "EmutimeSetEvent" + #endif + }, + // timeKillEvent + { + (OOVPA*)&timeKillEvent_1_0_4134, + XTL::EmutimeKillEvent, + + #ifdef _DEBUG_TRACE + "EmutimeKillEvent" + #endif + }, + // XLaunchNewImageA + { + (OOVPA*)&XLaunchNewImageA_1_0_3911, + XTL::EmuXLaunchNewImage, + + #ifdef _DEBUG_TRACE + "EmuXLaunchNewImageA" + #endif + }, +}; + +// ****************************************************************** +// * XAPI_1_0_4432_SIZE +// ****************************************************************** +uint32 XAPI_1_0_4432_SIZE = sizeof(XAPI_1_0_4432); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.h new file mode 100644 index 000000000..f571aaba6 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4627.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_4627_H +#define XAPI_1_0_4627_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_4627[]; +extern uint32 XAPI_1_0_4627_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.inl new file mode 100644 index 000000000..14e355a70 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.4627.inl @@ -0,0 +1,1592 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4627.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XFormatUtilityDrive +// ****************************************************************** +SOOVPA<7> XFormatUtilityDrive_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x10, 0x50 }, + { 0x23, 0xFF }, + { 0x34, 0xC0 }, + { 0x46, 0x45 }, + { 0x58, 0xFF }, + { 0x6D, 0x33 }, + { 0x7C, 0x40 }, + } +}; + +// ****************************************************************** +// * SetThreadPriorityBoost +// ****************************************************************** +SOOVPA<10> SetThreadPriorityBoost_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // SetThreadPriorityBoost+0x0D : push [ebp+0x08] + { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x08 }, // (Offset,Value)-Pair #3 + + // SetThreadPriorityBoost+0x18 : jl +0x20 + { 0x18, 0x7C }, // (Offset,Value)-Pair #4 + { 0x19, 0x20 }, // (Offset,Value)-Pair #5 + + // SetThreadPriorityBoost+0x1F : setnz al + { 0x1F, 0x0F }, // (Offset,Value)-Pair #6 + { 0x20, 0x95 }, // (Offset,Value)-Pair #7 + { 0x21, 0xC0 }, // (Offset,Value)-Pair #8 + + // SetThreadPriorityBoost+0x2C : mov ecx, [ebp+0x08] + { 0x2C, 0x8B }, // (Offset,Value)-Pair #9 + { 0x2D, 0x4D }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * GetThreadPriority +// ****************************************************************** +SOOVPA<10> GetThreadPriority_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // GetThreadPriority+0x0D : push [ebp+0x08] + { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 + { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x08 }, // (Offset,Value)-Pair #3 + + // GetThreadPriority+0x18 : jl +0x2B + { 0x18, 0x7C }, // (Offset,Value)-Pair #4 + { 0x19, 0x2B }, // (Offset,Value)-Pair #5 + + // GetThreadPriority+0x2F : cmp esi, 0xFFFFFFF0 + { 0x2F, 0x83 }, // (Offset,Value)-Pair #6 + { 0x30, 0xFE }, // (Offset,Value)-Pair #7 + { 0x31, 0xF0 }, // (Offset,Value)-Pair #8 + + // GetThreadPriority+0x37 : mov ecx, [ebp+0x08] + { 0x37, 0x8B }, // (Offset,Value)-Pair #9 + { 0x38, 0x4D }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * RtlFreeHeap +// ****************************************************************** +SOOVPA<9> RtlFreeHeap_1_0_4627 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlFreeHeap+0x1F : test edi, edi + { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 + { 0x20, 0xFF }, // (Offset,Value)-Pair #2 + + // RtlFreeHeap+0x23 : mov al, 1 + { 0x23, 0xB0 }, // (Offset,Value)-Pair #3 + { 0x24, 0x01 }, // (Offset,Value)-Pair #4 + + // RtlFreeHeap+0x35 : mov eax, fs:[0x20] + { 0x35, 0x64 }, // (Offset,Value)-Pair #5 + { 0x36, 0xA1 }, // (Offset,Value)-Pair #6 + { 0x37, 0x20 }, // (Offset,Value)-Pair #7 + + // RtlFreeHeap+0x49 : push 0x0B + { 0x49, 0x6A }, // (Offset,Value)-Pair #8 + { 0x4A, 0x0B }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * RtlReAllocateHeap +// ****************************************************************** +SOOVPA<10> RtlReAllocateHeap_1_0_4627 = +{ + 0, // Large == 0 + 10, // Count == 10 + + XRefNotSaved, + XRefNotUsed, + + { + // RtlReAllocateHeap+0x1C : test esi, esi + { 0x1C, 0x85 }, // (Offset,Value)-Pair #1 + { 0x1D, 0xF6 }, // (Offset,Value)-Pair #2 + + // RtlReAllocateHeap+0x26 : or [ebp+0x0C], ecx + { 0x26, 0x09 }, // (Offset,Value)-Pair #3 + { 0x27, 0x4D }, // (Offset,Value)-Pair #4 + { 0x28, 0x0C }, // (Offset,Value)-Pair #5 + + // RtlReAllocateHeap+0x61 : jz +0x06; add ecx, 0x10 + { 0x61, 0x74 }, // (Offset,Value)-Pair #6 + { 0x62, 0x06 }, // (Offset,Value)-Pair #7 + { 0x63, 0x83 }, // (Offset,Value)-Pair #8 + { 0x64, 0xC1 }, // (Offset,Value)-Pair #9 + { 0x65, 0x10 }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +SOOVPA<7> XID_fCloseDevice_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_FCLOSEDEVICE, // Xref Is Saved + XRefNotUsed, + + { + { 0x13, 0x1E }, + { 0x28, 0x75 }, + { 0x3D, 0x01 }, + { 0x52, 0xC6 }, + { 0x67, 0xFF }, + { 0x7C, 0x06 }, + { 0x91, 0x89 }, + } +}; + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +SOOVPA<11> XID_fCloseDevice_1_0_4928 = +{ + 0, // Large == 0 + 11, // Count == 11 + + XREF_FCLOSEDEVICE, // XRef Is Saved + 0, // XRef Not Used + + { + { 0x13, 0x8B }, // (Offset,Value)-Pair #1 + { 0x14, 0x86 }, // (Offset,Value)-Pair #2 + { 0x15, 0xA3 }, // (Offset,Value)-Pair #3 + + { 0x4C, 0x89 }, // (Offset,Value)-Pair #4 + { 0x4D, 0x86 }, // (Offset,Value)-Pair #5 + { 0x4E, 0x9E }, // (Offset,Value)-Pair #6 + + { 0x87, 0x89 }, // (Offset,Value)-Pair #7 + { 0x88, 0x86 }, // (Offset,Value)-Pair #8 + { 0x89, 0xA7 }, // (Offset,Value)-Pair #9 + + { 0x95, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x96, 0xC3 }, // (Offset,Value)-Pair #11 + } +}; + +// ****************************************************************** +// * XInputClose +// ****************************************************************** +SOOVPA<8> XInputClose_1_0_4928 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + 1, // XRef Is Used + + { + // XInputClose+0x05 : call [fCloseDevice] + { 0x05, XREF_FCLOSEDEVICE }, // (Offset,Value)-Pair #1 + + // XInputClose+0x00 : mov ecx, [esp+0x04] + { 0x00, 0x8B }, // (Offset,Value)-Pair #2 + { 0x01, 0x4C }, // (Offset,Value)-Pair #3 + { 0x02, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + + // XInputClose+0x04 : call [fCloseDevice] + { 0x04, 0xE8 }, // (Offset,Value)-Pair #6 + + // XInputClose+0x09 : retn 0x04 + { 0x09, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + } +}; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +SOOVPA<12> XInputGetState_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0F, 0x8A }, // (Offset,Value)-Pair #2 + { 0x10, 0xA3 }, // (Offset,Value)-Pair #3 + + { 0x1A, 0x6A }, // (Offset,Value)-Pair #4 + { 0x1B, 0x57 }, // (Offset,Value)-Pair #5 + + { 0x1D, 0xEB }, // (Offset,Value)-Pair #6 + { 0x1E, 0x3E }, // (Offset,Value)-Pair #7 + + { 0x3A, 0x8B }, // (Offset,Value)-Pair #8 + { 0x3B, 0x8A }, // (Offset,Value)-Pair #9 + { 0x3C, 0xA3 }, // (Offset,Value)-Pair #10 + + { 0x69, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x6A, 0x08 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +SOOVPA<12> XInputGetCapabilities_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0xAC }, // (Offset,Value)-Pair #3 + + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + { 0x90, 0xBF }, // (Offset,Value)-Pair #10 + { 0x91, 0xE8 }, // (Offset,Value)-Pair #11 + { 0x92, 0x7B }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities2 +// ****************************************************************** +/* Unreal Championship's version is different */ +SOOVPA<12> XInputGetCapabilities2_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // mov ebx, ds:KeRaiseIrqlToDpcLevel + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0x1C }, // (Offset,Value)-Pair #3 + + // test byte ptr [esi+4], 2 + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + // rep stosd + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + // mov edi, offset unknown_libname_2 + { 0x90, 0xBF }, // (Offset,Value)-Pair #10 + { 0x91, 0xCC }, // (Offset,Value)-Pair #11 + { 0x92, 0x5C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities3 +// ****************************************************************** +SOOVPA<12> XInputGetCapabilities3_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0xA4 }, // (Offset,Value)-Pair #3 + + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + { 0x90, 0xBF }, // (Offset,Value)-Pair #10 + { 0x91, 0x8A }, // (Offset,Value)-Pair #11 + { 0x92, 0x2A }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities2 +// ****************************************************************** +/* Unreal Championship's version is different */ +SOOVPA<12> XInputGetCapabilities4_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // mov ebx, ds:KeRaiseIrqlToDpcLevel + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0xDC }, // (Offset,Value)-Pair #3 + + // test byte ptr [esi+4], 2 + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + // rep stosd + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + // mov edi, offset unknown_libname_2 + { 0x90, 0xBF }, // (Offset,Value)-Pair #10 + { 0x91, 0x8C }, // (Offset,Value)-Pair #11 + { 0x92, 0x8C }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities5 +// ****************************************************************** +/* DOAV */ +SOOVPA<12> XInputGetCapabilities5_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // mov ebx, ds:KeRaiseIrqlToDpcLevel + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0xF4 }, // (Offset,Value)-Pair #3 + + // test byte ptr [esi+4], 2 + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + // rep stosd + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + // mov edi, offset unknown_libname_2 + { 0x90, 0xBF }, // (Offset,Value)-Pair #10 + { 0x91, 0x17 }, // (Offset,Value)-Pair #11 + { 0x92, 0xB7 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities6 +// ****************************************************************** +/* Defender */ +SOOVPA<12> XInputGetCapabilities6_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // mov ebx, ds:KeRaiseIrqlToDpcLevel + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0x78 }, // (Offset,Value)-Pair #3 + + // test byte ptr [esi+4], 2 + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + // rep stosd + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + // mov edi, offset unknown_libname_2 + { 0x90, 0xBF }, // (Offset,Value)-Pair #10 + { 0x91, 0xE5 }, // (Offset,Value)-Pair #11 + { 0x92, 0xCF }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +SOOVPA<12> XInputGetCapabilities_1_0_4831 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0x88 }, // (Offset,Value)-Pair #3 + + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 + { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities2 +// ****************************************************************** +SOOVPA<12> XInputGetCapabilities2_1_0_4831 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0x50 }, // (Offset,Value)-Pair #3 + + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 + { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities3 +// ****************************************************************** +SOOVPA<12> XInputGetCapabilities3_1_0_4831 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0x14 }, // (Offset,Value)-Pair #3 + + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 + { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities4 +// ****************************************************************** +SOOVPA<12> XInputGetCapabilities4_1_0_4831 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 + { 0x0D, 0x9C }, // (Offset,Value)-Pair #3 + + { 0x25, 0xF6 }, // (Offset,Value)-Pair #4 + { 0x26, 0x46 }, // (Offset,Value)-Pair #5 + { 0x27, 0x04 }, // (Offset,Value)-Pair #6 + { 0x28, 0x02 }, // (Offset,Value)-Pair #7 + + { 0x39, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x3A, 0xAB }, // (Offset,Value)-Pair #9 + + { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 + { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 + { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 + } +}; + +// ****************************************************************** +// * XInputGetCapabilities5 +// ****************************************************************** +SOOVPA<12> XInputGetCapabilities5_1_0_4831 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x22, 0xF6 }, + { 0x23, 0x46 }, + { 0x24, 0x04 }, + { 0x25, 0x02 }, + { 0x44, 0x6A }, + { 0x45, 0x12 }, + { 0xF1, 0xC2 }, + { 0xF2, 0x08 }, + } +}; + +// ****************************************************************** +// * GetOverlappedResult +// ****************************************************************** +SOOVPA<7> GetOverlappedResult_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x75 }, + { 0x18, 0xC0 }, + { 0x27, 0xEB }, + { 0x32, 0x00 }, + { 0x3F, 0xEB }, + { 0x4C, 0x89 }, + { 0x59, 0x56 }, + } +}; + +// ****************************************************************** +// * XLaunchNewImageA +// ****************************************************************** +SOOVPA<8> XLaunchNewImageA_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x80 }, + { 0x3E, 0xC0 }, + { 0x5E, 0xFF }, + { 0x7E, 0xFC }, + { 0x9E, 0x08 }, + { 0xBE, 0x50 }, + { 0xDE, 0x05 }, + { 0xFE, 0x85 }, + } +}; + +// ****************************************************************** +// * XLaunchNewImageA +// ****************************************************************** +SOOVPA<12> XLaunchNewImageA_1_0_4928 = +{ + 0, // Large == 0 + 12, // Count == 12 + + XRefNotSaved, + XRefNotUsed, + + { + // XLaunchNewImageA+0x03 : sub esp, 0x384 + { 0x03, 0x81 }, + { 0x04, 0xEC }, + { 0x05, 0x84 }, + { 0x06, 0x03 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + // XLaunchNewImageA+0x33 : cmp al, 0x44 + { 0x33, 0x3C }, + { 0x34, 0x44 }, + // XLaunchNewImageA+0x41 : cmp byte ptr [esi+1], 0x3A + { 0x41, 0x80 }, + { 0x42, 0x7E }, + { 0x43, 0x02 }, + { 0x44, 0x5C }, + } +}; + +// ****************************************************************** +// * XGetLaunchInfo +// ****************************************************************** +SOOVPA<7> XGetLaunchInfo_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x18, 0x15 }, + { 0x25, 0x8B }, + { 0x32, 0x30 }, + { 0x3F, 0x00 }, + { 0x4C, 0x83 }, + { 0x59, 0x5E }, + } +}; + +// ****************************************************************** +// * XSetProcessQuantumLength +// ****************************************************************** +SOOVPA<7> XSetProcessQuantumLength_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0xA1 }, + { 0x04, 0x00 }, + { 0x07, 0x4C }, + { 0x0A, 0x8B }, + { 0x0D, 0x8D }, + { 0x10, 0x89 }, + { 0x13, 0xC2 }, + } +}; + +// ****************************************************************** +// * timeSetEvent +// ****************************************************************** +SOOVPA<7> timeSetEvent_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x8D }, + { 0x3E, 0x89 }, + { 0x5E, 0x15 }, + { 0x7E, 0x3F }, + { 0x9E, 0x03 }, + { 0xBE, 0x32 }, + { 0xDE, 0x89 }, + } +}; + +// ****************************************************************** +// * timeKillEvent +// ****************************************************************** +SOOVPA<8> timeKillEvent_1_0_4627 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x8B }, + { 0x1A, 0xC2 }, + { 0x28, 0x8D }, + { 0x36, 0x56 }, + { 0x44, 0x00 }, + { 0x52, 0x00 }, + { 0x60, 0x5E }, + { 0x6E, 0x00 }, + } +}; + +// ****************************************************************** +// * RaiseException +// ****************************************************************** +SOOVPA<7> RaiseException_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x83 }, + { 0x14, 0x8B }, + { 0x1F, 0xC7 }, + { 0x2A, 0x10 }, + { 0x35, 0x89 }, + { 0x40, 0x5F }, + { 0x4B, 0xFF }, + } +}; + + +// ****************************************************************** +// * VirtualProtect +// ****************************************************************** +SOOVPA<7> VirtualProtect_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + 0/*XREF_VirtualProtect*/, // Xref Is Saved + XRefNotUsed, + + { + { 0x04, 0x8D }, + { 0x0A, 0x24 }, + { 0x10, 0x10 }, + { 0x18, 0x85 }, + { 0x1C, 0x33 }, + { 0x22, 0xE8 }, + { 0x28, 0xC0 }, + } +}; + +// ****************************************************************** +// * CreateSemaphoreA +// ****************************************************************** +SOOVPA<7> CreateSemaphoreA_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x74 }, + { 0x16, 0x50 }, + { 0x22, 0x10 }, + { 0x31, 0x85 }, + { 0x3A, 0x75 }, + { 0x4A, 0x8B }, + { 0x55, 0x33 }, + } +}; + +// ****************************************************************** +// * ReleaseSemaphore +// ****************************************************************** +SOOVPA<7> ReleaseSemaphore_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x0C }, + { 0x08, 0xFF }, + { 0x0D, 0x15 }, + { 0x12, 0x85 }, + { 0x17, 0xC0 }, + { 0x1C, 0xE8 }, + { 0x21, 0x33 }, + } +}; + +// ****************************************************************** +// * XMountAlternateTitleA +// ****************************************************************** +SOOVPA<7> XMountAlternateTitleA_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x0F }, + { 0x3E, 0x56 }, + { 0x5E, 0xFF }, + { 0x7E, 0x8D }, + { 0x9E, 0x50 }, + { 0xBE, 0x66 }, + { 0xDE, 0xF0 }, + } +}; + +// ****************************************************************** +// * XMountAlternateTitleA +// ****************************************************************** +SOOVPA<7> XMountAlternateTitleA_1_0_4928 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x0F }, + { 0x3E, 0x83 }, + { 0x5E, 0x03 }, + { 0x7E, 0x8D }, + { 0x9E, 0x00 }, + { 0xBE, 0x01 }, + { 0xDE, 0x45 }, + } +}; + +// ****************************************************************** +// * XUnmountAlternateTitleA +// ****************************************************************** +SOOVPA<7> XUnmountAlternateTitleA_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x65 }, + { 0x16, 0xFF }, + { 0x23, 0x83 }, + { 0x2E, 0x45 }, + { 0x3A, 0x50 }, + { 0x46, 0x0B }, + { 0x52, 0x50 }, + } +}; + +// ****************************************************************** +// * XGetFileCacheSize +// ****************************************************************** +SOOVPA<6> XGetFileCacheSize_1_0_4627 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xFF }, + { 0x01, 0x15 }, + { 0x06, 0xC1 }, + { 0x07, 0xE0 }, + { 0x08, 0x0C }, + { 0x09, 0xC3 }, + } +}; + +// ****************************************************************** +// * MoveFileA +// ****************************************************************** +SOOVPA<7> MoveFileA_1_0_4627 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x11, 0x8D }, + { 0x24, 0xE8 }, + { 0x37, 0x50 }, + { 0x4A, 0x7D }, + { 0x5D, 0xFF }, + { 0x74, 0xFF }, + { 0x83, 0x33 }, + } +}; + +// ****************************************************************** +// * XInputGetDeviceDescription +// ****************************************************************** +SOOVPA<9> XInputGetDeviceDescription_1_0_4831 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x48 }, + { 0x06, 0x83 }, + { 0x07, 0x65 }, + { 0x08, 0xF8 }, + { 0x09, 0x00 }, + { 0x34, 0x6A }, + { 0x35, 0x06 }, + } +}; + +// ****************************************************************** +// * XAPI_1_0_4627 +// ****************************************************************** +OOVPATable XAPI_1_0_4627[] = +{ + // XFormatUtilityDrive + { + (OOVPA*)&XFormatUtilityDrive_1_0_4627, + + XTL::EmuXFormatUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXFormatUtilityDrive" + #endif + }, + // SetThreadPriorityBoost + { + (OOVPA*)&SetThreadPriorityBoost_1_0_4627, + + XTL::EmuSetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriorityBoost" + #endif + }, + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // GetThreadPriority + { + (OOVPA*)&GetThreadPriority_1_0_4627, + + XTL::EmuGetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuGetThreadPriority" + #endif + }, + // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) + { + (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, + + XTL::EmuXRegisterThreadNotifyRoutine, + + #ifdef _DEBUG_TRACE + "EmuXRegisterThreadNotifyRoutine" + #endif + }, + // QueryPerformanceCounter (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceCounter_1_0_4361, + + XTL::EmuQueryPerformanceCounter, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceCounter" + #endif + }, + // QueryPerformanceFrequency (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceFrequency_1_0_4361, + + XTL::EmuQueryPerformanceFrequency, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceFrequency" + #endif + }, + // XMountUtilityDrive (* unchanged since 4432 *) + { + (OOVPA*)&XMountUtilityDrive_1_0_4432, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive" + #endif + }, + // XInitDevices (* unchanged since 1.0.3911 *) + { + (OOVPA*)&XInitDevices_1_0_3911, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + // XGetDevices (* unchanged since 1.0.4134 *) + { + (OOVPA*)&XGetDevices_1_0_4134, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XInputOpen (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputOpen_1_0_4361, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XInputPoll (* unchanged since 4134 *) + { + (OOVPA*)&XInputPoll_1_0_4134, + + XTL::EmuXInputPoll, + + #ifdef _DEBUG_TRACE + "EmuXInputPoll" + #endif + }, + // XID_fCloseDevice + { + (OOVPA*)&XID_fCloseDevice_1_0_4627, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (4627) (XREF)" + #endif + }, + // XID_fCloseDevice + { + (OOVPA*)&XID_fCloseDevice_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose + { + (OOVPA*)&XInputClose_1_0_4928, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, + // XInputGetCapabilities (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputGetCapabilities_1_0_4361, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetState (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputGetState_1_0_4361, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputGetState + { + (OOVPA*)&XInputGetState_1_0_4928, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_4928, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetCapabilities2 + { + (OOVPA*)&XInputGetCapabilities2_1_0_4928, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities2" + #endif + }, + // XInputGetCapabilities3 + { + (OOVPA*)&XInputGetCapabilities3_1_0_4928, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities3" + #endif + }, + // XInputGetCapabilities4 + { + (OOVPA*)&XInputGetCapabilities4_1_0_4928, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities4" + #endif + }, + // XInputGetCapabilities5 + { + (OOVPA*)&XInputGetCapabilities5_1_0_4928, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities(5)" + #endif + }, + // XInputSetState (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputSetState_1_0_4361, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + // XInputSetState + { + (OOVPA*)&XInputSetState_1_0_4928, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState (4928)" + #endif + }, + /* obsolete? + // XapiThreadStartup (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XapiThreadStartup_1_0_4361, + + XTL::EmuXapiThreadStartup, + + #ifdef _DEBUG_TRACE + "EmuXapiThreadStartup" + #endif + }, + //*/ + //*/ + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_4831, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities_4831" + #endif + }, + // XInputGetCapabilities2 + { + (OOVPA*)&XInputGetCapabilities2_1_0_4831, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities2_4831" + #endif + }, + // XInputGetCapabilities3 + { + (OOVPA*)&XInputGetCapabilities3_1_0_4831, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities3_4831" + #endif + }, + // XInputGetCapabilities4 + { + (OOVPA*)&XInputGetCapabilities4_1_0_4831, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities4_4831" + #endif + }, + // XInputGetCapabilities5 + { + (OOVPA*)&XInputGetCapabilities5_1_0_4831, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities5_4831" + #endif + }, + // XInputGetCapabilities6 + { + (OOVPA*)&XInputGetCapabilities6_1_0_4928, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities6_4928" + #endif + }, + // +s + /* not necessary? + // XCalculateSignatureBeginEx + { + (OOVPA*)&XCalculateSignatureBeginEx_1_0_4627, + + XTL::EmuXCalculateSignatureBeginEx, + + #ifdef _DEBUG_TRACE + "EmuXCalculateSignatureBeginEx (XREF&FUNC)" + #endif + }, + // XCalculateSignatureBegin + { + (OOVPA*)&XCalculateSignatureBegin_1_0_4627, + + XTL::EmuXCalculateSignatureBegin, + + #ifdef _DEBUG_TRACE + "EmuXCalculateSignatureBegin" + #endif + }, + // XCalculateSignatureUpdate + { + (OOVPA*)&XCalculateSignatureUpdate_1_0_4627, + + XTL::EmuXCalculateSignatureUpdate, + + #ifdef _DEBUG_TRACE + "EmuXCalculateSignatureUpdate" + #endif + }, + // XCalculateSignatureEnd + { + (OOVPA*)&XCalculateSignatureEnd_1_0_4627, + + XTL::EmuXCalculateSignatureEnd, + + #ifdef _DEBUG_TRACE + "EmuXCalculateSignatureEnd" + #endif + }, + //*/ + // s+ + // CreateFiber (* unchanged since 3911 *) + { + (OOVPA*)&CreateFiber_1_0_3911, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber (* unchanged since 3911 *) + { + (OOVPA*)&DeleteFiber_1_0_3911, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // GetTimeZoneInformation (* unchanged since 3911 *) + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // GetExitCodeThread (* unchanged since 3911 *) + { + (OOVPA*)&GetExitCodeThread_1_0_3911, + + XTL::EmuGetExitCodeThread, + + #ifdef _DEBUG_TRACE + "EmuGetExitCodeThread" + #endif + }, + // GetOverlappedResult + { + (OOVPA*)&GetOverlappedResult_1_0_4627, + + XTL::EmuGetOverlappedResult, + + #ifdef _DEBUG_TRACE + "EmuGetOverlappedResult" + #endif + }, + // XLaunchNewImageA + { + (OOVPA*)&XLaunchNewImageA_1_0_4627, + XTL::EmuXLaunchNewImage, + + #ifdef _DEBUG_TRACE + "EmuXLaunchNewImageA" + #endif + }, + // XLaunchNewImageA + { + (OOVPA*)&XLaunchNewImageA_1_0_4928, + XTL::EmuXLaunchNewImage, + + #ifdef _DEBUG_TRACE + "EmuXLaunchNewImageA" + #endif + }, + // XGetLaunchInfo + { + (OOVPA*)&XGetLaunchInfo_1_0_4627, + XTL::EmuXGetLaunchInfo, + + #ifdef _DEBUG_TRACE + "EmuXGetLaunchInfo" + #endif + }, + // XSetProcessQuantumLength + { + (OOVPA*)&XSetProcessQuantumLength_1_0_4627, + XTL::EmuXSetProcessQuantumLength, + + #ifdef _DEBUG_TRACE + "EmuXSetProcessQuantumLength" + #endif + }, + // SignalObjectAndWait (* unchanged since 3911 *) + { + (OOVPA*)&SignalObjectAndWait_1_0_3911, + + XTL::EmuSignalObjectAndWait, + + #ifdef _DEBUG_TRACE + "EmuSignalObjectAndWait" + #endif + }, + // timeSetEvent + { + (OOVPA*)&timeSetEvent_1_0_4627, + XTL::EmutimeSetEvent, + + #ifdef _DEBUG_TRACE + "EmutimeSetEvent" + #endif + }, + // timeKillEvent + { + (OOVPA*)&timeKillEvent_1_0_4627, + XTL::EmutimeKillEvent, + + #ifdef _DEBUG_TRACE + "EmutimeKillEvent" + #endif + }, + // RaiseException + { + (OOVPA*)&RaiseException_1_0_4627, + XTL::EmuRaiseException, + + #ifdef _DEBUG_TRACE + "EmuRaiseException" + #endif + }, + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // XMountAlternateTitleA + { + (OOVPA*)&XMountAlternateTitleA_1_0_4627, + XTL::EmuXMountAlternateTitle, + + #ifdef _DEBUG_TRACE + "XMountAlternateTitleA" + #endif + }, + // XMountAlternateTitleA + { + (OOVPA*)&XMountAlternateTitleA_1_0_4928, + XTL::EmuXMountAlternateTitle, + + #ifdef _DEBUG_TRACE + "XMountAlternateTitleA (4928)" + #endif + }, + // XUnmountAlternateTitleA + { + (OOVPA*)&XUnmountAlternateTitleA_1_0_4627, + XTL::EmuXUnmountAlternateTitle, + + #ifdef _DEBUG_TRACE + "XUnmountAlternateTitleA" + #endif + }, + // GetFileAttributesA (* unchanged since 4134 *) + { + (OOVPA*)&GetFileAttributesA_1_0_4134, + XTL::EmuGetFileAttributesA, + + #ifdef _DEBUG_TRACE + "EmuGetFileAttributesA" + #endif + }, + // XGetFileCacheSize + { + (OOVPA*)&XGetFileCacheSize_1_0_4627, + XTL::EmuXGetFileCacheSize, + + #ifdef _DEBUG_TRACE + "XGetFileCacheSize" + #endif + }, + // XInputGetDeviceDescription + { + (OOVPA*)&XInputGetDeviceDescription_1_0_4831, + XTL::EmuXInputGetDeviceDescription, + + #ifdef _DEBUG_TRACE + "XInputGetDeviceDescription_4831" + #endif + }, + // MoveFileA + /*{ + (OOVPA*)&MoveFileA_1_0_4627, + XTL::EmuMoveFileA, + + #ifdef _DEBUG_TRACE + "MoveFileA" + #endif + },*/ +}; + +// ****************************************************************** +// * XAPI_1_0_4627_SIZE +// ****************************************************************** +uint32 XAPI_1_0_4627_SIZE = sizeof(XAPI_1_0_4627); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.h new file mode 100644 index 000000000..e8ad901fe --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5233.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_5233_H +#define XAPI_1_0_5233_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_5233[]; +extern uint32 XAPI_1_0_5233_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.inl new file mode 100644 index 000000000..8f5991584 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5233.inl @@ -0,0 +1,356 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5233.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + + +// ****************************************************************** +// * XInitDevices +// ****************************************************************** +// * NOTE: We are actually intercepting USBD_Init, because +// * XInitDevices Simply redirects to that function +// ****************************************************************** +SOOVPA<7> XInitDevices_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0E, 0x75 }, + { 0x20, 0xBE }, + { 0x2E, 0xC0 }, + { 0x3E, 0xEC }, + { 0x50, 0x0F }, + { 0x5F, 0xE8 }, + { 0x70, 0x5F }, + } +}; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +SOOVPA<8> XInputGetCapabilities_1_0_5233 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x85 }, + { 0x3C, 0x8A }, + { 0x5B, 0x00 }, + { 0x85, 0x45 }, + { 0xA0, 0xD4 }, + { 0xBB, 0x02 }, + { 0xDA, 0x8D }, + { 0xF9, 0x46 }, + } +}; + +// ****************************************************************** +// * XGetDeviceChanges +// ****************************************************************** +SOOVPA<7> XGetDeviceChanges_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x75 }, + { 0x1A, 0x53 }, + { 0x28, 0xF7 }, + { 0x36, 0x56 }, + { 0x44, 0x89 }, + { 0x52, 0xC8 }, + { 0x60, 0x5F }, + } +}; + +// ****************************************************************** +// * XInputSetState +// ****************************************************************** +SOOVPA<7> XInputSetState_1_0_5233 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x81 }, + { 0x0C, 0xF6 }, + { 0x13, 0x57 }, + { 0x1A, 0x08 }, + { 0x21, 0x8B }, + { 0x28, 0x88 }, + { 0x30, 0xC2 }, + } +}; + +// ****************************************************************** +// * XGetFileCacheSize +// ****************************************************************** +SOOVPA<6> XGetFileCacheSize_1_0_5344 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0xFF }, + { 0x01, 0x15 }, + { 0x06, 0xC1 }, + { 0x07, 0xE0 }, + { 0x08, 0x0C }, + { 0x09, 0xC3 }, + } +}; + +// ****************************************************************** +// * XAPI_1_0_5233 +// ****************************************************************** +OOVPATable XAPI_1_0_5233[] = +{ + // GetTimeZoneInformation (* unchanged since 3911 *) + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // SetThreadPriorityBoost (* unchanged since 4627 *) + { + (OOVPA*)&SetThreadPriorityBoost_1_0_4627, + + XTL::EmuSetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriorityBoost" + #endif + }, + // GetThreadPriority (* unchanged since 4627 *) + { + (OOVPA*)&GetThreadPriority_1_0_4627, + + XTL::EmuGetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuGetThreadPriority" + #endif + }, + // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) + { + (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, + + XTL::EmuXRegisterThreadNotifyRoutine, + + #ifdef _DEBUG_TRACE + "EmuXRegisterThreadNotifyRoutine" + #endif + }, + + // QueryPerformanceCounter (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceCounter_1_0_4361, + + XTL::EmuQueryPerformanceCounter, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceCounter" + #endif + }, + // QueryPerformanceFrequency (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceFrequency_1_0_4361, + + XTL::EmuQueryPerformanceFrequency, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceFrequency" + #endif + }, + // XMountUtilityDrive (* unchanged since 4432 *) + { + (OOVPA*)&XMountUtilityDrive_1_0_4432, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive" + #endif + }, + // XInitDevices + { + (OOVPA*)&XInitDevices_1_0_5233, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + // XGetDevices (* unchanged since 1.0.4134 *) + { + (OOVPA*)&XGetDevices_1_0_4134, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XGetDeviceChanges + { + (OOVPA*)&XGetDeviceChanges_1_0_5233, + + XTL::EmuXGetDeviceChanges, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceChanges" + #endif + }, + // XInputOpen (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputOpen_1_0_4361, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_5233, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XID_fCloseDevice (* unchanged since 1.0.4928 *) + { + (OOVPA*)&XID_fCloseDevice_1_0_4928, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose (* unchanged since 1.0.4928 *) + { + (OOVPA*)&XInputClose_1_0_4928, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, + // XInputGetState (* unchanged since 1.0.4928 *) + { + (OOVPA*)&XInputGetState_1_0_4928, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputSetState + { + (OOVPA*)&XInputSetState_1_0_5233, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + // XGetFileCacheSize + { + (OOVPA*)&XGetFileCacheSize_1_0_5344, + XTL::EmuXGetFileCacheSize, + + #ifdef _DEBUG_TRACE + "XGetFileCacheSize" + #endif + }, + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // GetFileAttributesA (* unchanged since 4134 *) + { + (OOVPA*)&GetFileAttributesA_1_0_4134, + XTL::EmuGetFileAttributesA, + + #ifdef _DEBUG_TRACE + "EmuGetFileAttributesA" + #endif + }, +}; + +// ****************************************************************** +// * XAPI_1_0_5233_SIZE +// ****************************************************************** +uint32 XAPI_1_0_5233_SIZE = sizeof(XAPI_1_0_5233); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.h new file mode 100644 index 000000000..2aae1c7bf --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5558.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_5558_H +#define XAPI_1_0_5558_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_5558[]; +extern uint32 XAPI_1_0_5558_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.inl new file mode 100644 index 000000000..14dab7131 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5558.inl @@ -0,0 +1,780 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5558.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * RtlCreateHeap +// ****************************************************************** +SOOVPA<8> RtlCreateHeap_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x45 }, + { 0x3E, 0xFF }, + { 0x5E, 0x8C }, + { 0x7E, 0x75 }, + { 0xA1, 0x89 }, + { 0xBE, 0xC7 }, + { 0xDE, 0x00 }, + { 0xFE, 0x89 }, + } +}; + +// ****************************************************************** +// * RtlAllocateHeap +// ****************************************************************** +SOOVPA<8> RtlAllocateHeap_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1E, 0x8B }, + { 0x3E, 0x7D }, + { 0x5E, 0x00 }, + { 0x7E, 0x45 }, + { 0x9E, 0xCF }, + { 0xBE, 0x8D }, + { 0xDE, 0x45 }, + { 0xFE, 0x8B }, + } +}; + +// ****************************************************************** +// * RtlSizeHeap +// ****************************************************************** +SOOVPA<8> RtlSizeHeap_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x8A }, + { 0x0A, 0x05 }, + { 0x10, 0xA8 }, + { 0x16, 0x51 }, + { 0x1C, 0xC2 }, + { 0x22, 0xF0 }, + { 0x28, 0xE0 }, + { 0x2E, 0x00 }, + } +}; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +SOOVPA<8> XInputGetCapabilities_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x1D, 0x85 }, + { 0x3C, 0x8A }, + { 0x5B, 0x00 }, + { 0x7A, 0x45 }, + { 0x99, 0xD4 }, + { 0xB8, 0x02 }, + { 0xD7, 0x8D }, + { 0xF6, 0x46 }, + } +}; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +SOOVPA<7> XInputGetState_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0x0C }, + { 0x1C, 0x5E }, + { 0x2B, 0xBB }, + { 0x3A, 0x80 }, + { 0x49, 0x08 }, + { 0x58, 0xF3 }, + { 0x67, 0x15 }, + } +}; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +SOOVPA<8> XapiInitProcess_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x22, 0x6A }, + { 0x3E, 0x01 }, + { 0x5E, 0x7D }, + { 0x7E, 0x8B }, + { 0x9F, 0x68 }, + { 0xBE, 0x01 }, + { 0xDE, 0x6A }, + { 0xFE, 0x02 }, + } +}; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +SOOVPA<8> XapiInitProcess_1_0_5659 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x22, 0x6A }, + { 0x3E, 0x01 }, + { 0x5E, 0xEB }, + { 0x7E, 0x8B }, + { 0x9F, 0x68 }, + { 0xBE, 0x01 }, + { 0xDE, 0x6A }, + { 0xFE, 0x02 }, + } +}; + +// ****************************************************************** +// * CreateSemaphoreA +// ****************************************************************** +SOOVPA<7> CreateSemaphoreA_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0A, 0x74 }, + { 0x16, 0x50 }, + { 0x22, 0x10 }, + { 0x31, 0x85 }, + { 0x3A, 0x75 }, + { 0x4A, 0x8B }, + { 0x55, 0x33 }, + } +}; + +// ****************************************************************** +// * ReleaseSemaphore +// ****************************************************************** +SOOVPA<7> ReleaseSemaphore_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x03, 0x0C }, + { 0x08, 0xFF }, + { 0x0D, 0x15 }, + { 0x12, 0x85 }, + { 0x17, 0xC0 }, + { 0x1C, 0xE8 }, + { 0x21, 0x33 }, + } +}; + +// ****************************************************************** +// * XLaunchNewImageA +// ****************************************************************** +SOOVPA<7> XLaunchNewImageA_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0xF0 }, + { 0x10, 0xD2 }, + { 0x19, 0x19 }, + { 0x22, 0x52 }, + { 0x2B, 0xE8 }, + { 0x34, 0x6A }, + { 0x3D, 0x10 }, + } +}; + +// ****************************************************************** +// * XGetLaunchInfo +// ****************************************************************** +SOOVPA<7> XGetLaunchInfo_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0B, 0x8B }, + { 0x18, 0x15 }, + { 0x25, 0x8B }, + { 0x32, 0x30 }, + { 0x3F, 0x00 }, + { 0x4C, 0x83 }, + { 0x59, 0x5E }, + } +}; + +// ****************************************************************** +// * GetFileAttributesA +// ****************************************************************** +SOOVPA<7> GetFileAttributesA_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x08, 0x08 }, + { 0x13, 0x8D }, + { 0x1C, 0x50 }, + { 0x26, 0xFF }, + { 0x30, 0x15 }, + { 0x3A, 0x45 }, + { 0x44, 0x83 }, + } +}; + +// ****************************************************************** +// * XMountMUA +// ****************************************************************** +SOOVPA<8> XMountMUA_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x22, 0x8A }, + { 0x3E, 0x89 }, + { 0x5E, 0x5C }, + { 0x7E, 0xF4 }, + { 0x9E, 0x50 }, + { 0xBE, 0xF8 }, + { 0xDE, 0x8D }, + { 0xFE, 0x09 }, + } +}; + +// ****************************************************************** +// * CreateFiber +// ****************************************************************** +SOOVPA<7> CreateFiber_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x10, 0x00 }, + { 0x22, 0x57 }, + { 0x34, 0x75 }, + { 0x46, 0x41 }, + { 0x58, 0xFC }, + { 0x6A, 0x39 }, + { 0x7C, 0xCE }, + } +}; + +// ****************************************************************** +// * DeleteFiber +// ****************************************************************** +SOOVPA<6> DeleteFiber_1_0_5558 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0xFF }, + { 0x0A, 0xFF }, + { 0x10, 0xC2 }, + { 0x11, 0x04 }, + } +}; + +// ****************************************************************** +// * SwitchToFiber +// ****************************************************************** +SOOVPA<8> SwitchToFiber_1_0_5558 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x06, 0x64 }, + { 0x0E, 0x44 }, + { 0x16, 0xFF }, + { 0x1E, 0x91 }, + { 0x26, 0x61 }, + { 0x31, 0x64 }, + { 0x36, 0x00 }, + { 0x3E, 0x00 }, + } +}; + +// ****************************************************************** +// * ConvertThreadToFiber +// ****************************************************************** +SOOVPA<7> ConvertThreadToFiber_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x05, 0x64 }, + { 0x0C, 0x8B }, + { 0x13, 0x8D }, + { 0x1A, 0x01 }, + { 0x21, 0x8B }, + { 0x28, 0x89 }, + { 0x31, 0x8B }, + } +}; + +// ****************************************************************** +// * XapiFiberStartup +// ****************************************************************** +SOOVPA<7> XapiFiberStartup_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0xE8 }, + { 0x10, 0xA1 }, + { 0x1C, 0x8B }, + { 0x25, 0xFF }, + { 0x2B, 0x0C }, + { 0x34, 0xC3 }, + { 0x3D, 0x00 }, + } +}; + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +SOOVPA<7> XID_fCloseDevice_1_0_5558 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_FCLOSEDEVICE, // Xref Is Saved + XRefNotUsed, + + { + { 0x11, 0x45 }, + { 0x24, 0xFF }, + { 0x37, 0x89 }, + { 0x4A, 0x86 }, + { 0x5D, 0x53 }, + { 0x70, 0xFF }, + { 0x84, 0x89 }, + } +}; + +// ****************************************************************** +// * XInputClose +// ****************************************************************** +SOOVPA<9> XInputClose_1_0_5558 = +{ + 0, // Large == 0 + 9, // Count == 9 + + XRefNotSaved, + 1, // Xref Is Used + + { + { 0x05, XREF_FCLOSEDEVICE }, + + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0xE8 }, + { 0x09, 0xC2 }, + { 0x0A, 0x04 }, + { 0x0B, 0x00 }, + } +}; + +// ****************************************************************** +// * XAPI_1_0_5558 +// ****************************************************************** +OOVPATable XAPI_1_0_5558[] = +{ + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) + { + (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, + + XTL::EmuXRegisterThreadNotifyRoutine, + + #ifdef _DEBUG_TRACE + "EmuXRegisterThreadNotifyRoutine" + #endif + }, + // QueryPerformanceCounter (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceCounter_1_0_4361, + + XTL::EmuQueryPerformanceCounter, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceCounter" + #endif + }, + // QueryPerformanceFrequency (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceFrequency_1_0_4361, + + XTL::EmuQueryPerformanceFrequency, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceFrequency" + #endif + }, + // XMountUtilityDrive (* unchanged since 4432 *) + { + (OOVPA*)&XMountUtilityDrive_1_0_4432, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive" + #endif + }, + // XInitDevices (* unchanged since 5233 *) + { + (OOVPA*)&XInitDevices_1_0_5233, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + // XGetDevices (* unchanged since 1.0.4134 *) + { + (OOVPA*)&XGetDevices_1_0_4134, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XGetDeviceChanges (* unchanged since 5233 *) + { + (OOVPA*)&XGetDeviceChanges_1_0_5233, + + XTL::EmuXGetDeviceChanges, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceChanges" + #endif + }, + // XInputOpen (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputOpen_1_0_4361, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XInputGetCapabilities + { + (OOVPA*)&XInputGetCapabilities_1_0_5558, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetState + { + (OOVPA*)&XInputGetState_1_0_5558, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XInputSetState (* unchanged since 5233 *) + { + (OOVPA*)&XInputSetState_1_0_5233, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + /* obsolete? + // XapiThreadStartup (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XapiThreadStartup_1_0_4361, + + XTL::EmuXapiThreadStartup, + + #ifdef _DEBUG_TRACE + "EmuXapiThreadStartup" + #endif + }, + //*/ + // XLaunchNewImageA + { + (OOVPA*)&XLaunchNewImageA_1_0_5558, + XTL::EmuXLaunchNewImage, + + #ifdef _DEBUG_TRACE + "XLaunchNewImageA" + #endif + }, + // XGetLaunchInfo + { + (OOVPA*)&XGetLaunchInfo_1_0_5558, + XTL::EmuXGetLaunchInfo, + + #ifdef _DEBUG_TRACE + "XGetLaunchInfo" + #endif + }, + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // GetFileAttributesA + { + (OOVPA*)&GetFileAttributesA_1_0_5558, + XTL::EmuGetFileAttributesA, + + #ifdef _DEBUG_TRACE + "GetFileAttributesA" + #endif + }, + // SetThreadPriorityBoost (* unchanged since 4627 *) + { + (OOVPA*)&SetThreadPriorityBoost_1_0_4627, + + XTL::EmuSetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriorityBoost" + #endif + }, + // GetThreadPriority (* unchanged since 4627 *) + { + (OOVPA*)&GetThreadPriority_1_0_4627, + + XTL::EmuGetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuGetThreadPriority" + #endif + }, + // GetTimeZoneInformation (* unchanged since 3911 *) + { + (OOVPA*)&GetTimeZoneInformation_1_0_3911, + + XTL::EmuGetTimeZoneInformation, + + #ifdef _DEBUG_TRACE + "GetTimeZoneInformation" + #endif + }, + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // XMountMUA + { + (OOVPA*)&XMountMUA_1_0_5558, + XTL::EmuXMountMUA, + + #ifdef _DEBUG_TRACE + "EmuXMountMUA" + #endif + }, + // CreateFiber + { + (OOVPA*)&CreateFiber_1_0_5558, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber + { + (OOVPA*)&DeleteFiber_1_0_5558, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // SwitchToFiber + { + (OOVPA*)&SwitchToFiber_1_0_5558, + + XTL::EmuSwitchToFiber, + + #ifdef _DEBUG_TRACE + "EmuSwitchToFiber" + #endif + }, + // ConvertThreadToFiber + { + (OOVPA*)&ConvertThreadToFiber_1_0_5558, + + XTL::EmuConvertThreadToFiber, + + #ifdef _DEBUG_TRACE + "EmuConvertThreadToFiber" + #endif + }, + //// XapiFiberStartup + //{ + // (OOVPA*)&XapiFiberStartup_1_0_5558, + // XTL::EmuXapiFiberStartup, + + // #ifdef _DEBUG_TRACE + // "XapiFiberStartup" + // #endif + //}, + // XID_fCloseDevice + { + (OOVPA*)&XID_fCloseDevice_1_0_5558, 0, + + #ifdef _DEBUG_TRACE + "XID_fCloseDevice (XREF)" + #endif + }, + // XInputClose + { + (OOVPA*)&XInputClose_1_0_5558, + + XTL::EmuXInputClose, + + #ifdef _DEBUG_TRACE + "EmuXInputClose" + #endif + }, +}; + +// ****************************************************************** +// * XAPI_1_0_5558_SIZE +// ****************************************************************** +uint32 XAPI_1_0_5558_SIZE = sizeof(XAPI_1_0_5558); diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.h b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.h new file mode 100644 index 000000000..e80d57ed7 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5849.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_1_0_5849_H +#define XAPI_1_0_5849_H + +#include "OOVPA.h" + +extern OOVPATable XAPI_1_0_5849[]; +extern uint32 XAPI_1_0_5849_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.inl new file mode 100644 index 000000000..f82cfed9b --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase - Copy/Xapi.1.0.5849.inl @@ -0,0 +1,464 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5849.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +SOOVPA<8> XapiInitProcess_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x22, 0x6A }, + { 0x3E, 0x01 }, + { 0x5E, 0x75 }, + { 0x7E, 0x5E }, + { 0x9E, 0x7D }, + { 0xBE, 0x51 }, + { 0xDE, 0x00 }, + { 0xFE, 0x53 }, + } +}; + +// ****************************************************************** +// * XGetDeviceChanges +// ****************************************************************** +SOOVPA<7> XGetDeviceChanges_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0C, 0x75 }, + { 0x1A, 0x53 }, + { 0x28, 0xF7 }, + { 0x36, 0x56 }, + { 0x44, 0x89 }, + { 0x52, 0xC8 }, + { 0x60, 0x5F }, + } +}; + +// ****************************************************************** +// * GetThreadPriority +// ****************************************************************** +SOOVPA<7> GetThreadPriority_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x0D, 0xFF }, + { 0x16, 0x85 }, + { 0x1F, 0x15 }, + { 0x2A, 0x04 }, + { 0x35, 0xF1 }, + { 0x40, 0x8B }, + { 0x4B, 0xB8 }, + } +}; + +// ****************************************************************** +// * SetThreadPriorityBoost +// ****************************************************************** +SOOVPA<7> SetThreadPriorityBoost_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x07, 0xFF }, + { 0x10, 0xFF }, + { 0x19, 0x20 }, + { 0x22, 0x50 }, + { 0x2C, 0x8B }, + { 0x35, 0x33 }, + { 0x40, 0x33 }, + } +}; + +// ****************************************************************** +// * XGetSectionSize +// ****************************************************************** +SOOVPA<5> XGetSectionSize_1_0_5849 = +{ + 0, // Large == 0 + 5, // Count == 5 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x8B }, + { 0x06, 0x08 }, + { 0x08, 0x04 }, + } +}; + +// ****************************************************************** +// * RaiseException +// ****************************************************************** +SOOVPA<7> RaiseException_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x09, 0x83 }, + { 0x14, 0x8B }, + { 0x1F, 0xC7 }, + { 0x2A, 0x10 }, + { 0x35, 0x89 }, + { 0x40, 0x5F }, + { 0x4B, 0xFF }, + } +}; + +// ****************************************************************** +// * XGetDeviceEnumerationStatus +// ****************************************************************** +SOOVPA<7> XGetDeviceEnumerationStatus_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x04, 0x15 }, + { 0x0A, 0x35 }, + { 0x10, 0x09 }, + { 0x17, 0x00 }, + { 0x1C, 0x46 }, + { 0x25, 0x8B }, + { 0x28, 0xC3 }, + } +}; + +// ****************************************************************** +// * SwitchToThread +// ****************************************************************** +SOOVPA<6> SwitchToThread_1_0_5849 = +{ + 0, // Large == 0 + 6, // Count == 6 + + XRefNotSaved, + XRefNotUsed, + + { + { 0x01, 0x15 }, + { 0x06, 0x33 }, + { 0x07, 0xC9 }, + { 0x0A, 0x00 }, + { 0x0D, 0x0F }, + { 0x10, 0x8B }, + } +}; + +// ****************************************************************** +// * XAPI_1_0_5849 +// ****************************************************************** +OOVPATable XAPI_1_0_5849[] = +{ + // SetThreadPriority (* unchanged since 3911 *) + { + (OOVPA*)&SetThreadPriority_1_0_3911, + + XTL::EmuSetThreadPriority, + + #ifdef _DEBUG_TRACE + "EmuSetThreadPriority" + #endif + }, + // QueryPerformanceCounter (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceCounter_1_0_4361, + + XTL::EmuQueryPerformanceCounter, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceCounter" + #endif + }, + // QueryPerformanceFrequency (* unchanged since 4361 *) + { + (OOVPA*)&QueryPerformanceFrequency_1_0_4361, + + XTL::EmuQueryPerformanceFrequency, + + #ifdef _DEBUG_TRACE + "EmuQueryPerformanceFrequency" + #endif + }, + // XMountUtilityDrive (* unchanged since 4432 *) + { + (OOVPA*)&XMountUtilityDrive_1_0_4432, + + XTL::EmuXMountUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXMountUtilityDrive" + #endif + }, + // XInitDevices (* unchanged since 5233 *) + { + (OOVPA*)&XInitDevices_1_0_5233, + + XTL::EmuXInitDevices, + + #ifdef _DEBUG_TRACE + "EmuXInitDevices" + #endif + }, + // XGetDevices (* unchanged since 1.0.4134 *) + { + (OOVPA*)&XGetDevices_1_0_4134, + + XTL::EmuXGetDevices, + + #ifdef _DEBUG_TRACE + "EmuXGetDevices" + #endif + }, + // XInputOpen (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XInputOpen_1_0_4361, + + XTL::EmuXInputOpen, + + #ifdef _DEBUG_TRACE + "EmuXInputOpen" + #endif + }, + // XInputGetCapabilities (* unchanged since 5558 *) + { + (OOVPA*)&XInputGetCapabilities_1_0_5558, + + XTL::EmuXInputGetCapabilities, + + #ifdef _DEBUG_TRACE + "EmuXInputGetCapabilities" + #endif + }, + // XInputGetState (* unchanged since 5558 *) + { + (OOVPA*)&XInputGetState_1_0_5558, + + XTL::EmuXInputGetState, + + #ifdef _DEBUG_TRACE + "EmuXInputGetState" + #endif + }, + // XGetDeviceChanges + { + (OOVPA*)&XGetDeviceChanges_1_0_5849, + + XTL::EmuXGetDeviceChanges, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceChanges" + #endif + }, + /* obsolete? + // XapiThreadStartup (* unchanged since 1.0.4361 *) + { + (OOVPA*)&XapiThreadStartup_1_0_4361, + + XTL::EmuXapiThreadStartup, + + #ifdef _DEBUG_TRACE + "EmuXapiThreadStartup" + #endif + }, + //*/ + // QueueUserAPC (* unchanged since 3911 *) + { + (OOVPA*)&QueueUserAPC_1_0_3911, + + XTL::EmuQueueUserAPC, + + #ifdef _DEBUG_TRACE + "EmuQueueUserAPC" + #endif + }, + // GetThreadPriority + { + (OOVPA*)&GetThreadPriority_1_0_5849, + XTL::EmuGetThreadPriority, + + #ifdef _DEBUG_TRACE + "GetThreadPriority" + #endif + }, + // SetThreadPriorityBoost + { + (OOVPA*)&SetThreadPriorityBoost_1_0_5849, + XTL::EmuSetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "SetThreadPriorityBoost" + #endif + }, + // GetThreadPriorityBoost + /*{ + (OOVPA*)&GetThreadPriorityBoost_1_0_5849, + XTL::EmuGetThreadPriorityBoost, + + #ifdef _DEBUG_TRACE + "GetThreadPriorityBoost" + #endif + },*/ + // RaiseException + { + (OOVPA*)&RaiseException_1_0_5849, + XTL::EmuRaiseException, + + #ifdef _DEBUG_TRACE + "RaiseException" + #endif + }, + // XLaunchNewImageA (* unchanged since 5558 *) + { + (OOVPA*)&XLaunchNewImageA_1_0_5558, + XTL::EmuXLaunchNewImage, + + #ifdef _DEBUG_TRACE + "XLaunchNewImageA" + #endif + }, + // XInputSetState (* unchanged since 5233 *) + { + (OOVPA*)&XInputSetState_1_0_5233, + + XTL::EmuXInputSetState, + + #ifdef _DEBUG_TRACE + "EmuXInputSetState" + #endif + }, + // XGetDeviceEnumerationStatus + { + (OOVPA*)&XGetDeviceEnumerationStatus_1_0_5849, + XTL::EmuXGetDeviceEnumerationStatus, + + #ifdef _DEBUG_TRACE + "EmuXGetDeviceEnumerationStatus" + #endif + }, + // SwitchToThread + /*{ + (OOVPA*)&SwitchToThread_1_0_5849, + XTL::EmuSwitchToThread, + + #ifdef _DEBUG_TRACE + "EmuSwitchToThread" + #endif + },*/ + // XFormatUtilityDrive (* unchanged since 4627 *) + { + (OOVPA*)&XFormatUtilityDrive_1_0_4627, + + XTL::EmuXFormatUtilityDrive, + + #ifdef _DEBUG_TRACE + "EmuXFormatUtilityDrive" + #endif + }, + // CreateFiber + { + (OOVPA*)&CreateFiber_1_0_5558, + + XTL::EmuCreateFiber, + + #ifdef _DEBUG_TRACE + "EmuCreateFiber" + #endif + }, + // DeleteFiber + { + (OOVPA*)&DeleteFiber_1_0_5558, + + XTL::EmuDeleteFiber, + + #ifdef _DEBUG_TRACE + "EmuDeleteFiber" + #endif + }, + // SwitchToFiber + { + (OOVPA*)&SwitchToFiber_1_0_5558, + + XTL::EmuSwitchToFiber, + + #ifdef _DEBUG_TRACE + "EmuSwitchToFiber" + #endif + }, + // ConvertThreadToFiber + { + (OOVPA*)&ConvertThreadToFiber_1_0_5558, + + XTL::EmuConvertThreadToFiber, + + #ifdef _DEBUG_TRACE + "EmuConvertThreadToFiber" + #endif + }, +}; + +// ****************************************************************** +// * XAPI_1_0_5849_SIZE +// ****************************************************************** +uint32 XAPI_1_0_5849_SIZE = sizeof(XAPI_1_0_5849); diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index b65f0b64b..0fa35365d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -35,104 +35,70 @@ // ****************************************************************** // * IDirect3D8_CreateDevice // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDevice_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CreateDevice_1_0_3925, 8) + // IDirect3D8_CreateDevice+0x07 : jnz +0x0A + { 0x07, 0x75 }, // (Offset,Value)-Pair #1 + { 0x08, 0x0A }, // (Offset,Value)-Pair #2 - XRefNotSaved, - XRefNotUsed, + // IDirect3D8_CreateDevice+0x79 : mov eax, esi + { 0x79, 0x8B }, // (Offset,Value)-Pair #3 + { 0x7A, 0xC6 }, // (Offset,Value)-Pair #4 - { - // IDirect3D8_CreateDevice+0x07 : jnz +0x0A - { 0x07, 0x75 }, // (Offset,Value)-Pair #1 - { 0x08, 0x0A }, // (Offset,Value)-Pair #2 + // IDirect3D8_CreateDevice+0x7C : retn 0x18 + { 0x7C, 0xC2 }, // (Offset,Value)-Pair #5 + { 0x7D, 0x18 }, // (Offset,Value)-Pair #6 - // IDirect3D8_CreateDevice+0x79 : mov eax, esi - { 0x79, 0x8B }, // (Offset,Value)-Pair #3 - { 0x7A, 0xC6 }, // (Offset,Value)-Pair #4 - - // IDirect3D8_CreateDevice+0x7C : retn 0x18 - { 0x7C, 0xC2 }, // (Offset,Value)-Pair #5 - { 0x7D, 0x18 }, // (Offset,Value)-Pair #6 - - // IDirect3D8_CreateDevice+0x90 : retn 0x18 - { 0x90, 0xC2 }, // (Offset,Value)-Pair #7 - { 0x91, 0x18 }, // (Offset,Value)-Pair #8 - } -}; + // IDirect3D8_CreateDevice+0x90 : retn 0x18 + { 0x90, 0xC2 }, // (Offset,Value)-Pair #7 + { 0x91, 0x18 }, // (Offset,Value)-Pair #8 +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_IsBusy // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_IsBusy_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_IsBusy_1_0_3925, 8) + { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0C, 0x90 }, // (Offset,Value)-Pair #2 + { 0x0D, 0x04 }, // (Offset,Value)-Pair #3 + { 0x0E, 0x04 }, // (Offset,Value)-Pair #4 - XRefNotSaved, - XRefNotUsed, + { 0x1E, 0x74 }, // (Offset,Value)-Pair #5 + { 0x1F, 0x06 }, // (Offset,Value)-Pair #6 - { - { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 - { 0x0C, 0x90 }, // (Offset,Value)-Pair #2 - { 0x0D, 0x04 }, // (Offset,Value)-Pair #3 - { 0x0E, 0x04 }, // (Offset,Value)-Pair #4 + { 0x25, 0xC3 }, // (Offset,Value)-Pair #7 - { 0x1E, 0x74 }, // (Offset,Value)-Pair #5 - { 0x1F, 0x06 }, // (Offset,Value)-Pair #6 - - { 0x25, 0xC3 }, // (Offset,Value)-Pair #7 - - { 0x33, 0xC3 }, // (Offset,Value)-Pair #8 - } -}; + { 0x33, 0xC3 }, // (Offset,Value)-Pair #8 +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDeviceCaps // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_GetDeviceCaps_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_GetDeviceCaps_1_0_3925, 11) + // IDirect3DDevice8_GetDeviceCaps+0x00 : push esi; push edi + { 0x00, 0x56 }, // (Offset,Value)-Pair #1 + { 0x01, 0x57 }, // (Offset,Value)-Pair #2 - XRefNotSaved, - XRefNotUsed, + // IDirect3DDevice8_GetDeviceCaps+0x06 : mov ecx, 0x35 + { 0x06, 0xB9 }, // (Offset,Value)-Pair #3 + { 0x07, 0x35 }, // (Offset,Value)-Pair #4 + { 0x08, 0x00 }, // (Offset,Value)-Pair #5 + { 0x09, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0A, 0x00 }, // (Offset,Value)-Pair #7 - { - // IDirect3DDevice8_GetDeviceCaps+0x00 : push esi; push edi - { 0x00, 0x56 }, // (Offset,Value)-Pair #1 - { 0x01, 0x57 }, // (Offset,Value)-Pair #2 + // IDirect3DDevice8_GetDeviceCaps+0x10 : rep movsd + { 0x10, 0xF3 }, // (Offset,Value)-Pair #8 + { 0x11, 0xA5 }, // (Offset,Value)-Pair #9 - // IDirect3DDevice8_GetDeviceCaps+0x06 : mov ecx, 0x35 - { 0x06, 0xB9 }, // (Offset,Value)-Pair #3 - { 0x07, 0x35 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x00 }, // (Offset,Value)-Pair #7 + // IDirect3DDevice8_GetDeviceCaps+0x14 : retn 0x04 + { 0x14, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x15, 0x04 }, // (Offset,Value)-Pair #11 +OOVPA_END; - // IDirect3DDevice8_GetDeviceCaps+0x10 : rep movsd - { 0x10, 0xF3 }, // (Offset,Value)-Pair #8 - { 0x11, 0xA5 }, // (Offset,Value)-Pair #9 - - // IDirect3DDevice8_GetDeviceCaps+0x14 : retn 0x04 - { 0x14, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x15, 0x04 }, // (Offset,Value)-Pair #11 - } -}; // ****************************************************************** // * IDirect3DDevice8_BeginVisibilityTest // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BeginVisibilityTest_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_BeginVisibilityTest_1_0_3925, 11) // IDirect3DDevice8_BeginVisibilityTest+0x0D : mov ecx, 1 { 0x0D, 0xB9 }, // (Offset,Value)-Pair #1 { 0x0E, 0x01 }, // (Offset,Value)-Pair #2 @@ -149,21 +115,13 @@ SOOVPA<11> IDirect3DDevice8_BeginVisibilityTest_1_0_3925 = { 0x1E, 0x83 }, // (Offset,Value)-Pair #9 { 0x1F, 0xC0 }, // (Offset,Value)-Pair #10 { 0x20, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; + // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** -SOOVPA<9> D3DDevice_GetMaterial_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(D3DDevice_GetMaterial_1_0_3925, 9) { 0x05, 0x56 }, { 0x06, 0x57 }, { 0x0A, 0x0C }, @@ -173,21 +131,12 @@ SOOVPA<9> D3DDevice_GetMaterial_1_0_3925 = { 0x11, 0xB9 }, { 0x16, 0xF3 }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_EndVisibilityTest // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_EndVisibilityTest_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_EndVisibilityTest_1_0_3925, 13) // IDirect3DDevice8_EndVisibilityTest+0x11 : mov eax, 0x8007000E { 0x11, 0xB8 }, // (Offset,Value)-Pair #1 { 0x12, 0x0E }, // (Offset,Value)-Pair #2 @@ -206,21 +155,12 @@ SOOVPA<13> IDirect3DDevice8_EndVisibilityTest_1_0_3925 = { 0x43, 0x83 }, // (Offset,Value)-Pair #11 { 0x44, 0xC0 }, // (Offset,Value)-Pair #12 { 0x45, 0x0C }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetVisibilityTestResult // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_GetVisibilityTestResult_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, 11) // IDirect3DDevice8_GetVisibilityTestResult+0x0C : shr ecx, 8 { 0x0C, 0xC1 }, // (Offset,Value)-Pair #1 { 0x0D, 0xE9 }, // (Offset,Value)-Pair #2 @@ -237,23 +177,14 @@ SOOVPA<11> IDirect3DDevice8_GetVisibilityTestResult_1_0_3925 = { 0x2D, 0x08 }, // (Offset,Value)-Pair #9 { 0x2E, 0x76 }, // (Offset,Value)-Pair #10 { 0x2F, 0x88 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_KickOffAndWaitForIdle // ****************************************************************** // * Actually, this is D3D::CDevice::KickOff // ****************************************************************** -SOOVPA<10> IDirect3D8_KickOffAndWaitForIdle_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3D8_KickOffAndWaitForIdle_1_0_3925, 10) { 0x01, 0xA1 }, // (Offset,Value)-Pair #1 { 0x32, 0x81 }, // (Offset,Value)-Pair #2 @@ -267,21 +198,12 @@ SOOVPA<10> IDirect3D8_KickOffAndWaitForIdle_1_0_3925 = { 0x90, 0x83 }, // (Offset,Value)-Pair #8 { 0x91, 0xEA }, // (Offset,Value)-Pair #9 { 0x92, 0x02 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LoadVertexShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_LoadVertexShader_1_0_3925, 10) // IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x0C] { 0x07, 0x8A }, // (Offset,Value)-Pair #1 { 0x08, 0x43 }, // (Offset,Value)-Pair #2 @@ -297,21 +219,12 @@ SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_3925 = // IDirect3DDevice8_LoadVertexShader+0x4E : mov [ebx], ebx { 0x4E, 0x89 }, // (Offset,Value)-Pair #9 { 0x4F, 0x13 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SelectVertexShader // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SelectVertexShader_1_0_3925, 11) // IDirect3DDevice8_SelectVertexShader+0x16 : or ecx, 0x3A0 { 0x16, 0x81 }, // (Offset,Value)-Pair #1 { 0x17, 0xC9 }, // (Offset,Value)-Pair #2 @@ -328,21 +241,12 @@ SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_3925 = // IDirect3DDevice8_SelectVertexShader+0x51 : mov [esi], eax { 0x51, 0x89 }, // (Offset,Value)-Pair #10 { 0x52, 0x06 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925 = -{ - 0, // Large == 0 - 14, // Count == 14 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, 14) // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0;push 0;push 1 { 0x05, 0x6A }, // (Offset,Value)-Pair #1 { 0x06, 0x00 }, // (Offset,Value)-Pair #2 @@ -362,21 +266,12 @@ SOOVPA<14> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925 = { 0x17, 0x05 }, // (Offset,Value)-Pair #12 { 0x18, 0xF0 }, // (Offset,Value)-Pair #13 { 0x19, 0x24 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, 12) // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -394,21 +289,12 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925 = { 0x10, 0xC2 }, // (Offset,Value)-Pair #10 { 0x11, 0x04 }, // (Offset,Value)-Pair #11 { 0x12, 0x00 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderTarget // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderTarget_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderTarget_1_0_3925, 11) // IDirect3DDevice8_SetRenderTarget+0x00 : sub esp, 0x20 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -427,21 +313,12 @@ SOOVPA<11> IDirect3DDevice8_SetRenderTarget_1_0_3925 = // IDirect3DDevice8_SetRenderTarget+0xDC : push edx { 0xDC, 0x52 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderTarget // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderTarget_1_0_3948 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderTarget_1_0_3948, 8) // IDirect3DDevice8_SetRenderTarget+0x00 : sub esp, 0x30 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -457,21 +334,12 @@ SOOVPA<8> IDirect3DDevice8_SetRenderTarget_1_0_3948 = // IDirect3DDevice8_SetRenderTarget+0xDA : push edx { 0xDA, 0x52 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * D3DSurface_GetDesc // ****************************************************************** -SOOVPA<7> D3DSurface_GetDesc_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(D3DSurface_GetDesc_1_0_3925, 7) { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x07, 0x04 }, @@ -479,21 +347,12 @@ SOOVPA<7> D3DSurface_GetDesc_1_0_3925 = { 0x11, 0xC2 }, { 0x12, 0x08 }, { 0x13, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetTransform // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_GetTransform_1_0_3925, 12) // IDirect3DDevice8_GetTransform+0x0A : add esi, 0x22 { 0x0A, 0x83 }, // (Offset,Value)-Pair #1 { 0x0B, 0xC6 }, // (Offset,Value)-Pair #2 @@ -513,21 +372,12 @@ SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_3925 = // IDirect3DDevice8_GetTransform+0x20 : retn 0x08 { 0x20, 0xC2 }, // (Offset,Value)-Pair #11 { 0x21, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetStreamSource // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetStreamSource_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetStreamSource_1_0_3925, 12) // IDirect3DDevice8_SetStreamSource+0x39 : add edx, 0xFFF80000 { 0x39, 0x81 }, // (Offset,Value)-Pair #1 { 0x3A, 0xC2 }, // (Offset,Value)-Pair #2 @@ -545,21 +395,12 @@ SOOVPA<12> IDirect3DDevice8_SetStreamSource_1_0_3925 = { 0x6B, 0xC9 }, // (Offset,Value)-Pair #10 { 0x6C, 0x80 }, // (Offset,Value)-Pair #11 { 0x6D, 0x02 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShader // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_3925 = -{ - 0, // Large == 0 - 14, // Count == 14 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShader_1_0_3925, 14) // IDirect3DDevice8_SetVertexShader+0x05 : test bl, 1 { 0x05, 0xF6 }, // (Offset,Value)-Pair #1 { 0x06, 0xC3 }, // (Offset,Value)-Pair #2 @@ -581,21 +422,12 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_3925 = { 0x8E, 0x08 }, // (Offset,Value)-Pair #12 { 0x8F, 0x94 }, // (Offset,Value)-Pair #13 { 0x90, 0x1E }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreatePixelShader // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_CreatePixelShader_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreatePixelShader_1_0_3925, 11) // IDirect3DDevice8_CreatePixelShader+0x00 : push 0xFC { 0x00, 0x68 }, // (Offset,Value)-Pair #1 { 0x01, 0xFC }, // (Offset,Value)-Pair #2 @@ -614,21 +446,12 @@ SOOVPA<11> IDirect3DDevice8_CreatePixelShader_1_0_3925 = // IDirect3DDevice8_CreatePixelShader+0x42 : retn 0x08 { 0x42, 0xC2 }, // (Offset,Value)-Pair #10 { 0x43, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_3925, 10) // IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0414] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0xB3 }, // (Offset,Value)-Pair #2 @@ -647,21 +470,12 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_3925 = { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetIndices // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetIndices_1_0_3925, 11) // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 @@ -678,21 +492,12 @@ SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_3925 = { 0x68, 0xBE }, // (Offset,Value)-Pair #9 { 0x69, 0x7C }, // (Offset,Value)-Pair #10 { 0x6A, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetViewport // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetViewport_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetViewport_1_0_3925, 10) // IDirect3DDevice8_SetViewport+0x00 : sub esp, 0x08 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -710,21 +515,12 @@ SOOVPA<10> IDirect3DDevice8_SetViewport_1_0_3925 = // IDirect3DDevice8_SetViewport+0x9D : inc edx { 0x9D, 0x42 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTexture // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetTexture_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetTexture_1_0_3925, 12) // IDirect3DDevice8_SetTexture+0x0E : sub esp, 0x08 { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x84 }, // (Offset,Value)-Pair #2 @@ -742,21 +538,12 @@ SOOVPA<12> IDirect3DDevice8_SetTexture_1_0_3925 = // IDirect3DDevice8_SetTexture+0x7D : retn 0x08 { 0x7D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x7E, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVertices // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_DrawIndexedVertices_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVertices_1_0_3925, 12) // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x0478] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x86 }, // (Offset,Value)-Pair #2 @@ -774,21 +561,12 @@ SOOVPA<12> IDirect3DDevice8_DrawIndexedVertices_1_0_3925 = // IDirect3DDevice8_DrawIndexedVertices+0xDA : lea ebx, [ebx+0] { 0xDA, 0x8D }, // (Offset,Value)-Pair #11 { 0xDB, 0x9B }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Begin // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Begin_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_Begin_1_0_3925, 11) // IDirect3DDevice8_Begin+0x20 : mov dword ptr [eax], 0x417FC { 0x20, 0xC7 }, // (Offset,Value)-Pair #1 { 0x21, 0x00 }, // (Offset,Value)-Pair #2 @@ -805,21 +583,12 @@ SOOVPA<11> IDirect3DDevice8_Begin_1_0_3925 = // IDirect3DDevice8_Begin+0x38 : retn 0x08 { 0x38, 0xC2 }, // (Offset,Value)-Pair #10 { 0x39, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexData2f // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_3925 = -{ - 0, // Large == 0 - 14, // Count == 14 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData2f_1_0_3925, 14) // IDirect3DDevice8_SetVertexData2f+0x11 : lea edx, ds:abs[ecx*8] { 0x11, 0x8D }, // (Offset,Value)-Pair #1 { 0x12, 0x14 }, // (Offset,Value)-Pair #2 @@ -841,21 +610,12 @@ SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_3925 = // IDirect3DDevice8_SetVertexData2f+0x2E : retn 0x0C { 0x2E, 0xC2 }, // (Offset,Value)-Pair #13 { 0x2F, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexData2s // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexData2s_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData2s_1_0_3925, 11) // IDirect3DDevice8_SetVertexData2s+0x11 : lea edx, ds:abs[ecx*4] { 0x11, 0x8D }, // (Offset,Value)-Pair #1 { 0x12, 0x14 }, // (Offset,Value)-Pair #2 @@ -874,21 +634,12 @@ SOOVPA<11> IDirect3DDevice8_SetVertexData2s_1_0_3925 = // IDirect3DDevice8_SetVertexData2s+0x32 : retn 0x0C { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 { 0x33, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexData4f // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexData4f_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData4f_1_0_3925, 11) // IDirect3DDevice8_SetVertexData4f+0x11 : cmp ecx, -1; jnz +0x07 { 0x11, 0x83 }, // (Offset,Value)-Pair #1 { 0x12, 0xF9 }, // (Offset,Value)-Pair #2 @@ -905,21 +656,12 @@ SOOVPA<11> IDirect3DDevice8_SetVertexData4f_1_0_3925 = // IDirect3DDevice8_SetVertexData4f+0x50 : retn 0x14 { 0x50, 0xC2 }, // (Offset,Value)-Pair #10 { 0x51, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexDataColor // ****************************************************************** -SOOVPA<17> IDirect3DDevice8_SetVertexDataColor_1_0_3925 = -{ - 0, // Large == 0 - 17, // Count == 17 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexDataColor_1_0_3925, 17) // IDirect3DDevice8_SetVertexDataColor+0x1F : mov byte ptr [esp+?] { 0x1F, 0x0F }, // (Offset,Value)-Pair #1 { 0x20, 0xB6 }, // (Offset,Value)-Pair #2 @@ -942,21 +684,12 @@ SOOVPA<17> IDirect3DDevice8_SetVertexDataColor_1_0_3925 = { 0x34, 0xFF }, // (Offset,Value)-Pair #15 { 0x35, 0x00 }, // (Offset,Value)-Pair #16 { 0x36, 0xFF }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_End // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_End_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_End_1_0_3925, 12) // IDirect3DDevice8_End+0x17 : mov dword ptr [eax], 0x417FC { 0x17, 0xC7 }, // (Offset,Value)-Pair #1 { 0x18, 0x00 }, // (Offset,Value)-Pair #2 @@ -976,21 +709,12 @@ SOOVPA<12> IDirect3DDevice8_End_1_0_3925 = // IDirect3DDevice8_End+0x40 : retn { 0x40, 0xC3 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Clear // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_Clear_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_Clear_1_0_3925, 10) // IDirect3DDevice8_Clear+0x00 : sub esp, 0x38 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -1006,21 +730,12 @@ SOOVPA<10> IDirect3DDevice8_Clear_1_0_3925 = { 0x5E, 0x06 }, // (Offset,Value)-Pair #8 { 0x5F, 0x33 }, // (Offset,Value)-Pair #9 { 0x60, 0xED }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreatePalette // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreatePalette_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreatePalette_1_0_3925, 12) // IDirect3DDevice8_CreatePalette+0x01 : push 0x0C { 0x01, 0x6A }, // (Offset,Value)-Pair #1 { 0x02, 0x0C }, // (Offset,Value)-Pair #2 @@ -1040,21 +755,12 @@ SOOVPA<12> IDirect3DDevice8_CreatePalette_1_0_3925 = { 0x4E, 0xC1 }, // (Offset,Value)-Pair #10 { 0x4F, 0xE6 }, // (Offset,Value)-Pair #11 { 0x50, 0x1E }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPalette // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetPalette_1_0_3925, 12) // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0BB0] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 @@ -1072,21 +778,12 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_3925 = // IDirect3DDevice8_SetPalette+0x7C : retn 0x08 { 0x7C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x7D, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateTexture // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_CreateTexture_1_0_3925 = -{ - 0, // Large == 0 - 14, // Count == 14 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreateTexture_1_0_3925, 14) // IDirect3DDevice8_CreateTexture+0x00 : mov eax, [esp+0x1C] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1116,21 +813,12 @@ SOOVPA<14> IDirect3DDevice8_CreateTexture_1_0_3925 = // IDirect3DDevice8_CreateTexture+0x29 : retn 0x1C { 0x29, 0xC2 }, // (Offset,Value)-Pair #13 { 0x2A, 0x1C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVolumeTexture // ****************************************************************** -SOOVPA<15> IDirect3DDevice8_CreateVolumeTexture_1_0_3925 = -{ - 0, // Large == 0 - 15, // Count == 15 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreateVolumeTexture_1_0_3925, 15) // IDirect3DDevice8_CreateVolumeTexture+0x00 : mov eax, [esp+0x1C] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1157,21 +845,12 @@ SOOVPA<15> IDirect3DDevice8_CreateVolumeTexture_1_0_3925 = // IDirect3DDevice8_CreateVolumeTexture+0x2C : retn 0x20 { 0x2C, 0xC2 }, // (Offset,Value)-Pair #14 { 0x2D, 0x20 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateCubeTexture // ****************************************************************** -SOOVPA<15> IDirect3DDevice8_CreateCubeTexture_1_0_3925 = -{ - 0, // Large == 0 - 15, // Count == 15 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreateCubeTexture_1_0_3925, 15) // IDirect3DDevice8_CreateCubeTexture+0x00 : mov eax, [esp+0x1C] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1198,21 +877,12 @@ SOOVPA<15> IDirect3DDevice8_CreateCubeTexture_1_0_3925 = // IDirect3DDevice8_CreateCubeTexture+0x25 : retn 0x18 { 0x25, 0xC2 }, // (Offset,Value)-Pair #14 { 0x26, 0x18 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateIndexBuffer // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_CreateIndexBuffer_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreateIndexBuffer_1_0_3925, 13) // IDirect3DDevice8_CreateIndexBuffer+0x13 : mov eax, 0x8007000E { 0x13, 0xB8 }, // (Offset,Value)-Pair #1 { 0x14, 0x0E }, // (Offset,Value)-Pair #2 @@ -1231,21 +901,12 @@ SOOVPA<13> IDirect3DDevice8_CreateIndexBuffer_1_0_3925 = { 0x31, 0x00 }, // (Offset,Value)-Pair #11 { 0x32, 0x01 }, // (Offset,Value)-Pair #12 { 0x33, 0x01 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexShader // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreateVertexShader_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexShader_1_0_3925, 12) // IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp { 0x00, 0x51 }, // (Offset,Value)-Pair #1 { 0x01, 0x53 }, // (Offset,Value)-Pair #2 @@ -1267,21 +928,12 @@ SOOVPA<12> IDirect3DDevice8_CreateVertexShader_1_0_3925 = // IDirect3DDevice8_CreateVertexShader+0x73 : rep stosb { 0x73, 0xF3 }, // (Offset,Value)-Pair #11 { 0x74, 0xAB }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, 10) // IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x0C] { 0x11, 0x8A }, // (Offset,Value)-Pair #1 { 0x12, 0x4B }, // (Offset,Value)-Pair #2 @@ -1299,21 +951,12 @@ SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_3925 = // IDirect3DDevice8_SetVertexShaderConstant+0x9B : retn 0x0C { 0x9B, 0xC2 }, // (Offset,Value)-Pair #9 { 0x9C, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetFlickerFilter_1_0_3925, 12) // IDirect3DDevice8_SetFlickerFilter+0x0A : mov edx, [ecx+0x2308] { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 { 0x0B, 0x91 }, // (Offset,Value)-Pair #2 @@ -1331,21 +974,12 @@ SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_3925 = // IDirect3DDevice8_SetFlickerFilter+0x1C : retn 0x08 { 0x1C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1D, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetSoftDisplayFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, 12) // IDirect3DDevice8_SetSoftDisplayFilter+0x0A : mov edx, [ecx+0x2308] { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 { 0x0B, 0x91 }, // (Offset,Value)-Pair #2 @@ -1363,21 +997,12 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925 = // IDirect3DDevice8_SetSoftDisplayFilter+0x1C : retn 0x08 { 0x1C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1D, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TexCoordIndex // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925, 11) // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x0B : shl eax, 0x07 { 0x0B, 0xC1 }, // (Offset,Value)-Pair #1 { 0x0C, 0xE0 }, // (Offset,Value)-Pair #2 @@ -1396,21 +1021,12 @@ SOOVPA<11> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925 = // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x97 : shl eax, cl { 0x97, 0xD3 }, // (Offset,Value)-Pair #10 { 0x98, 0xE0 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_BorderColor // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, 13) // IDirect3DDevice8_SetTextureState_BorderColor+0x13 : shl eax, 0x07 { 0x13, 0xC1 }, // (Offset,Value)-Pair #1 { 0x14, 0xE2 }, // (Offset,Value)-Pair #2 @@ -1431,21 +1047,12 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925 = // IDirect3DDevice8_SetTextureState_BorderColor+0x34 : retn 0x08 { 0x34, 0xC2 }, // (Offset,Value)-Pair #12 { 0x35, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_PSTextureModes // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, 11) // IDirect3DDevice8_SetRenderState_PSTextureModes+0x0C : or edx, 0x400 { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 { 0x0D, 0xCA }, // (Offset,Value)-Pair #2 @@ -1462,21 +1069,12 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925 = // IDirect3DDevice8_SetRenderState_PSTextureModes+0x21 : retn 4 { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilFail // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, 12) // IDirect3DDevice8_SetRenderState_StencilFail+0x19 : mov ecx, 2 { 0x19, 0xB9 }, // (Offset,Value)-Pair #1 { 0x1A, 0x02 }, // (Offset,Value)-Pair #2 @@ -1494,21 +1092,12 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925 = { 0x4B, 0x1D }, // (Offset,Value)-Pair #10 { 0x4C, 0x04 }, // (Offset,Value)-Pair #11 { 0x4D, 0x00 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_CullMode // ****************************************************************** -SOOVPA<15> IDirect3DDevice8_SetRenderState_CullMode_1_0_3925 = -{ - 0, // Large == 0 - 15, // Count == 15 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_CullMode_1_0_3925, 15) // IDirect3DDevice8_SetRenderState_CullMode+0x42 : mov dword ptr [eax+8], 0x4039C { 0x42, 0xC7 }, // (Offset,Value)-Pair #1 { 0x43, 0x40 }, // (Offset,Value)-Pair #2 @@ -1531,21 +1120,12 @@ SOOVPA<15> IDirect3DDevice8_SetRenderState_CullMode_1_0_3925 = { 0x4E, 0xC2 }, // (Offset,Value)-Pair #13 { 0x4F, 0x04 }, // (Offset,Value)-Pair #14 { 0x50, 0x04 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Simple // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Simple_1_0_3925, 13) // IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08 { 0x05, 0x83 }, // (Offset,Value)-Pair #1 { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 @@ -1568,21 +1148,12 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_3925 = // IDirect3DDevice8_SetRenderState_Simple+0x2B : jmp +0xD3 { 0x2B, 0xEB }, // (Offset,Value)-Pair #12 { 0x2C, 0xD3 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTransform // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetTransform_1_0_3925, 10) // IDirect3DDevice8_SetTransform+0x3A : fld dword ptr [edx+0x28] { 0x3A, 0xD9 }, // (Offset,Value)-Pair #1 { 0x3B, 0x42 }, // (Offset,Value)-Pair #2 @@ -1600,21 +1171,12 @@ SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_3925 = // IDirect3DDevice8_SetTransform+0x7A : fdivp st(1), st { 0x7A, 0xDE }, // (Offset,Value)-Pair #9 { 0x7B, 0xF9 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FogColor // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_FogColor_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, 11) // IDirect3DDevice8_SetRenderState_FogColor+0x2E : mov dword ptr [eax], 0x402A8 { 0x2E, 0xC7 }, // (Offset,Value)-Pair #1 { 0x2F, 0x00 }, // (Offset,Value)-Pair #2 @@ -1631,21 +1193,12 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FogColor_1_0_3925 = // IDirect3DDevice8_SetRenderState_FogColor+0x44 : retn 0x04 { 0x44, 0xC2 }, // (Offset,Value)-Pair #10 { 0x45, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FillMode // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, 11) // IDirect3DDevice8_SetRenderState_FillMode+0x23 : mov dword ptr [eax], 0x8038C { 0x23, 0xC7 }, // (Offset,Value)-Pair #1 { 0x24, 0x00 }, // (Offset,Value)-Pair #2 @@ -1662,21 +1215,12 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_3925 = // IDirect3DDevice8_SetRenderState_FillMode+0x3B : retn 0x04 { 0x3B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x3C, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilEnable // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, 11) // IDirect3DDevice8_SetRenderState_StencilEnable+0x45 : mov dword ptr [eax], 0x41D84 { 0x45, 0xC7 }, // (Offset,Value)-Pair #1 { 0x46, 0x00 }, // (Offset,Value)-Pair #2 @@ -1693,21 +1237,12 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925 = // IDirect3DDevice8_SetRenderState_StencilEnable+0x7D : retn 0x04 { 0x7D, 0xC2 }, // (Offset,Value)-Pair #10 { 0x7E, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, 11) // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [esi+0x040C] { 0x0C, 0x8B }, // (Offset,Value)-Pair #1 { 0x0D, 0x86 }, // (Offset,Value)-Pair #2 @@ -1724,21 +1259,12 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925 = // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x74 : retn 0x04 { 0x74, 0xC2 }, // (Offset,Value)-Pair #10 { 0x75, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZBias // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_ZBias_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, 10) // IDirect3DDevice8_SetRenderState_ZBias+0x0B : setnz al { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 { 0x0C, 0x95 }, // (Offset,Value)-Pair #2 @@ -1756,21 +1282,12 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_ZBias_1_0_3925 = // IDirect3DDevice8_SetRenderState_ZBias+0x45 : retn 0x04 { 0x71, 0xC2 }, // (Offset,Value)-Pair #9 { 0x72, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, 13) // IDirect3DDevice8_SetRenderState_ZEnable+0x13 : jz +0x11 { 0x13, 0x74 }, // (Offset,Value)-Pair #1 { 0x14, 0x11 }, // (Offset,Value)-Pair #2 @@ -1791,21 +1308,12 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925 = // IDirect3DDevice8_SetRenderState_ZEnable+0x69 : retn 0x04 { 0x69, 0xC2 }, // (Offset,Value)-Pair #12 { 0x6A, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Release // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Release_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_Release_1_0_3925, 11) // IDirect3DDevice8_Release+0x07 : mov eax, [edi+0x0408] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x87 }, // (Offset,Value)-Pair #2 @@ -1824,21 +1332,12 @@ SOOVPA<11> IDirect3DDevice8_Release_1_0_3925 = // IDirect3DDevice8_Release+0x2E : dec eax { 0x2E, 0x48 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Present // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_Present_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_Present_1_0_3925, 10) // IDirect3DDevice8_Present+0x0A : push 2 { 0x0A, 0x6A }, // (Offset,Value)-Pair #1 { 0x0B, 0x02 }, // (Offset,Value)-Pair #2 @@ -1856,21 +1355,13 @@ SOOVPA<10> IDirect3DDevice8_Present_1_0_3925 = // IDirect3DDevice8_Present+0xC0 : xor edi, edi { 0xC0, 0x33 }, // (Offset,Value)-Pair #9 { 0xC1, 0xFF }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetShaderConstantMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetShaderConstantMode_1_0_3925, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetShaderConstantMode+0x26 : mov [ebp+0x2140], eax { 0x26, 0x89 }, // (Offset,Value)-Pair #1 { 0x27, 0x85 }, // (Offset,Value)-Pair #2 @@ -1888,21 +1379,13 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_3925 = { 0xE5, 0xC3 }, // (Offset,Value)-Pair #10 { 0xE6, 0x24 }, // (Offset,Value)-Pair #11 { 0xE7, 0x01 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer_1_0_3925, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -1922,21 +1405,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_3925 = // IDirect3DDevice8_GetBackBuffer+0x31 : retn 0x0C { 0x31, 0xC2 }, // (Offset,Value)-Pair #11 { 0x32, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetRenderTarget // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_GetRenderTarget_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_GetRenderTarget_1_0_3925, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -1953,21 +1428,13 @@ SOOVPA<9> IDirect3DDevice8_GetRenderTarget_1_0_3925 = // IDirect3DDevice8_GetRenderTarget+0x1D : retn 0x04 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #8 { 0x1E, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDepthStencilSurface // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetDepthStencilSurface_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -1987,21 +1454,13 @@ SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface_1_0_3925 = // IDirect3DDevice8_GetDepthStencilSurface+0x25 : retn { 0x25, 0xC2 }, // (Offset,Value)-Pair #9 { 0x26, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexBuffer // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_CreateVertexBuffer_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexBuffer_1_0_3925, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateVertexBuffer+0x03 : push 0x40 { 0x03, 0x6A }, // (Offset,Value)-Pair #1 { 0x04, 0x40 }, // (Offset,Value)-Pair #2 @@ -2022,21 +1481,13 @@ SOOVPA<13> IDirect3DDevice8_CreateVertexBuffer_1_0_3925 = // IDirect3DDevice8_CreateVertexBuffer+0x53 : retn 0x14 { 0x53, 0xC2 }, // (Offset,Value)-Pair #12 { 0x54, 0x14 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_Lock // ****************************************************************** -SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] { 0x01, 0x8A }, // (Offset,Value)-Pair #1 { 0x02, 0x5C }, // (Offset,Value)-Pair #2 @@ -2055,21 +1506,13 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_3925 = // IDirect3DVertexBuffer8_Lock+0x4A : retn 0x14 { 0x4A, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4B, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_Register // ****************************************************************** -SOOVPA<19> IDirect3DResource8_Register_1_0_3925 = -{ - 0, // Large == 0 - 19, // Count == 19 +OOVPA_NO_XREF(IDirect3DResource8_Register_1_0_3925, 19) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_Register+0x00 : mov ecx, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x4C }, // (Offset,Value)-Pair #2 @@ -2102,21 +1545,13 @@ SOOVPA<19> IDirect3DResource8_Register_1_0_3925 = // IDirect3DResource8_Register+0x25 : retn 0x08 { 0x25, 0xC2 }, // (Offset,Value)-Pair #18 { 0x26, 0x08 }, // (Offset,Value)-Pair #19 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_Release // ****************************************************************** -SOOVPA<11> IDirect3DResource8_Release_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 8 +OOVPA_NO_XREF(IDirect3DResource8_Release_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF { 0x09, 0x81 }, // (Offset,Value)-Pair #1 { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 @@ -2137,21 +1572,13 @@ SOOVPA<11> IDirect3DResource8_Release_1_0_3925 = // IDirect3DResource8_Release+0x4B : retn 0x04 { 0x4B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4C, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_AddRef // ****************************************************************** -SOOVPA<10> IDirect3DResource8_AddRef_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 8 +OOVPA_NO_XREF(IDirect3DResource8_AddRef_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_AddRef+0x07 : test eax, 0xFFFF { 0x07, 0xA9 }, // (Offset,Value)-Pair #1 { 0x08, 0xFF }, // (Offset,Value)-Pair #2 @@ -2171,21 +1598,13 @@ SOOVPA<10> IDirect3DResource8_AddRef_1_0_3925 = // IDirect3DResource8_AddRef+0x34 : retn 0x04 { 0x34, 0xC2 }, // (Offset,Value)-Pair #9 { 0x35, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_IsBusy // ****************************************************************** -SOOVPA<11> IDirect3DResource8_IsBusy_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DResource8_IsBusy_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_IsBusy+0x24 : test eax, 0x780000 { 0x24, 0xA9 }, // (Offset,Value)-Pair #1 { 0x25, 0x00 }, // (Offset,Value)-Pair #2 @@ -2204,21 +1623,13 @@ SOOVPA<11> IDirect3DResource8_IsBusy_1_0_3925 = // IDirect3DResource8_IsBusy+0x79 : jnb +0x09 { 0x79, 0x73 }, // (Offset,Value)-Pair #10 { 0x7A, 0x09 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DSurface8_LockRect // ****************************************************************** -SOOVPA<16> IDirect3DSurface8_LockRect_1_0_3925 = -{ - 0, // Large == 0 - 16, // Count == 16 +OOVPA_NO_XREF(IDirect3DSurface8_LockRect_1_0_3925, 16) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DSurface8_LockRect+0x00 : mov eax, [esp+0x10] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -2246,21 +1657,13 @@ SOOVPA<16> IDirect3DSurface8_LockRect_1_0_3925 = // IDirect3DSurface8_LockRect+0x11 : retn 0x10 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #15 { 0x1E, 0x10 }, // (Offset,Value)-Pair #16 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DPalette8_Lock // ****************************************************************** -SOOVPA<13> IDirect3DPalette8_Lock_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DPalette8_Lock_1_0_3925, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DPalette8_Lock+0x00 : test [esp+0x0C], 0xA0 { 0x00, 0xF6 }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -2281,21 +1684,13 @@ SOOVPA<13> IDirect3DPalette8_Lock_1_0_3925 = // IDirect3DPalette8_Lock+0x1C : mov [ecx], eax { 0x1C, 0x89 }, // (Offset,Value)-Pair #12 { 0x1D, 0x01 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_LockRect // ****************************************************************** -SOOVPA<17> IDirect3DTexture8_LockRect_1_0_3925 = -{ - 0, // Large == 0 - 17, // Count == 17 +OOVPA_NO_XREF(IDirect3DTexture8_LockRect_1_0_3925, 17) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DTexture8_LockRect+0x00 : mov eax, [esp+0x14] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -2322,21 +1717,13 @@ SOOVPA<17> IDirect3DTexture8_LockRect_1_0_3925 = // IDirect3DTexture8_LockRect+0x20 : retn 0x14 { 0x20, 0xC2 }, // (Offset,Value)-Pair #16 { 0x21, 0x14 }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVolumeTexture8_LockBox // ****************************************************************** -SOOVPA<11> IDirect3DVolumeTexture8_LockBox_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DVolumeTexture8_LockBox_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVolumeTexture8_LockBox+0x08 : test bl, 0x20 { 0x08, 0xF6 }, // (Offset,Value)-Pair #1 { 0x09, 0xC3 }, // (Offset,Value)-Pair #2 @@ -2355,21 +1742,13 @@ SOOVPA<11> IDirect3DVolumeTexture8_LockBox_1_0_3925 = // IDirect3DVolumeTexture8_LockBox+0x99 : retn 0x14 { 0x99, 0xC2 }, // (Offset,Value)-Pair #10 { 0x9A, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DCubeTexture8_LockRect // ****************************************************************** -SOOVPA<11> IDirect3DCubeTexture8_LockRect_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DCubeTexture8_LockRect_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DCubeTexture8_LockRect+0x06 : test bl, 0x20 { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 @@ -2388,21 +1767,13 @@ SOOVPA<11> IDirect3DCubeTexture8_LockRect_1_0_3925 = // IDirect3DCubeTexture8_LockRect+0x98 : retn 0x18 { 0x98, 0xC2 }, // (Offset,Value)-Pair #10 { 0x99, 0x18 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_GetSurfaceLevel // ****************************************************************** -SOOVPA<11> IDirect3DTexture8_GetSurfaceLevel_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DTexture8_GetSurfaceLevel_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DTexture8_GetSurfaceLevel+0x08 : lea [esp+0x14] { 0x08, 0x8D }, // (Offset,Value)-Pair #1 { 0x0B, 0x14 }, // (Offset,Value)-Pair #2 @@ -2429,21 +1800,13 @@ SOOVPA<11> IDirect3DTexture8_GetSurfaceLevel_1_0_3925 = // IDirect3DTexture8_GetSurfaceLevel+0x4C : retn 0x0C { 0x4C, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4D, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * Lock2DSurface // ****************************************************************** -SOOVPA<11> Lock2DSurface_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(Lock2DSurface_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 { 0x08, 0x20 }, // (Offset,Value)-Pair #3 @@ -2458,21 +1821,13 @@ SOOVPA<11> Lock2DSurface_1_0_3925 = { 0x98, 0xC2 }, // (Offset,Value)-Pair #10 { 0x99, 0x18 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -2488,21 +1843,13 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_3925 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShaderSize // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetVertexShaderSize_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetVertexShaderSize_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x85 }, { 0x07, 0x09 }, @@ -2510,21 +1857,13 @@ SOOVPA<7> X_D3DDevice_GetVertexShaderSize_1_0_3925 = { 0x0D, 0x51 }, { 0x10, 0x10 }, { 0x13, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetGammaRamp // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetGammaRamp_1_0_3925, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetGammaRamp+0x11 : and eax, 1; push ebx { 0x11, 0x83 }, // (Offset,Value)-Pair #1 { 0x12, 0xE0 }, // (Offset,Value)-Pair #2 @@ -2539,21 +1878,13 @@ SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_3925 = { 0x3E, 0x53 }, // (Offset,Value)-Pair #7 { 0x3F, 0x8B }, // (Offset,Value)-Pair #8 { 0x40, 0xCA }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetMaterial_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetMaterial+0x0B : lea edi, [eax+0xB18] { 0x0B, 0x8D }, // (Offset,Value)-Pair #1 { 0x0C, 0xB8 }, // (Offset,Value)-Pair #2 @@ -2572,21 +1903,13 @@ SOOVPA<11> IDirect3DDevice8_SetMaterial_1_0_3925 = // IDirect3DDevice8_SetMaterial+0x23 : retn 0x04 { 0x23, 0xC2 }, // (Offset,Value)-Pair #11 { 0x24, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_AddRef // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_AddRef_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_AddRef_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -2604,21 +1927,13 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_3925 = { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 { 0x0E, 0x08 }, // (Offset,Value)-Pair #9 { 0x0F, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Unknown1 // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_Unknown1_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_Unknown1_1_0_3925, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Unknown1+0x00 : xor eax, eax { 0x00, 0x33 }, { 0x01, 0xC0 }, @@ -2631,21 +1946,13 @@ SOOVPA<9> IDirect3DDevice8_Unknown1_1_0_3925 = { 0x18, 0x00 }, // IDirect3DDevice8_Unknown1+0x1E : retn { 0x1E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetViewport // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetViewport_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi { 0x05, 0x56 }, // (Offset,Value)-Pair #1 { 0x06, 0x57 }, // (Offset,Value)-Pair #2 @@ -2663,21 +1970,13 @@ SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_3925 = // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetGammaRamp // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetGammaRamp_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetGammaRamp_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x0A, 0x00 }, { 0x10, 0xE1 }, @@ -2685,20 +1984,12 @@ SOOVPA<7> IDirect3DDevice8_GetGammaRamp_1_0_3925 = { 0x1C, 0x00 }, { 0x22, 0x00 }, { 0x28, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** -SOOVPA<14> D3DDevice_GetDisplayFieldStatus_1_0_3925 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus_1_0_3925, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDisplayFieldStatus+0x05 : mov edx, [eax+0x2B28] { 0x05, 0x8B }, { 0x06, 0x90 }, @@ -2717,21 +2008,13 @@ SOOVPA<14> D3DDevice_GetDisplayFieldStatus_1_0_3925 = // IDirect3DDevice8_GetDisplayFieldStatus+0x3C : retn 4 { 0x3C, 0xC2 }, { 0x3D, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x1D, 0x8B }, { 0x26, 0x8B }, @@ -2739,21 +2022,13 @@ SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_3925 = { 0x38, 0x0B }, { 0x40, 0x89 }, { 0x49, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_VertexBlend // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_3925, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_VertexBlend+0x0A : or ecx, 2 { 0x0A, 0x83 }, // (Offset,Value)-Pair #1 { 0x0B, 0xC9 }, // (Offset,Value)-Pair #2 @@ -2774,21 +2049,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_3925 = // IDirect3DDevice8_SetRenderState_VertexBlend+0x2F : retn 0x04 { 0x2F, 0xC2 }, // (Offset,Value)-Pair #12 { 0x30, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_BackFillMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_BackFillMode_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_3925, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_BackFillMode+0x2B : jnz +0x2 { 0x2B, 0x75 }, // (Offset,Value)-Pair #1 { 0x2C, 0x02 }, // (Offset,Value)-Pair #2 @@ -2808,21 +2075,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_BackFillMode_1_0_3925 = // IDirect3DDevice8_SetRenderState_BackFillMode+0x48 : retn 0x04 { 0x48, 0xC2 }, // (Offset,Value)-Pair #11 { 0x49, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TwoSidedLighting // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_3925, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x06 : or dword ptr [eax+8], 0x20 { 0x06, 0x83 }, // (Offset,Value)-Pair #1 { 0x07, 0x48 }, // (Offset,Value)-Pair #2 @@ -2843,21 +2102,13 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_3925 = // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x51 : retn 0x04 { 0x51, 0xC2 }, // (Offset,Value)-Pair #12 { 0x52, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_NormalizeNormals // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x1D : mov [esi], eax { 0x1D, 0x89 }, // (Offset,Value)-Pair #1 { 0x1E, 0x06 }, // (Offset,Value)-Pair #2 @@ -2871,21 +2122,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_3925 = // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x2A : retn 0x04 { 0x2A, 0xC2 }, // (Offset,Value)-Pair #7 { 0x2B, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FrontFace // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_FrontFace_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FrontFace_1_0_3925, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_FrontFace+0x00 : push esi { 0x00, 0x56 }, // (Offset,Value)-Pair #1 @@ -2902,21 +2145,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_FrontFace_1_0_3925 = { 0x1A, 0x83 }, // (Offset,Value)-Pair #7 { 0x1B, 0xC0 }, // (Offset,Value)-Pair #8 { 0x1C, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0414] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x86 }, // (Offset,Value)-Pair #2 @@ -2934,21 +2169,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_3925 = // IDirect3DDevice8_SetRenderState_TextureFactor+0x49 : retn 0x04 { 0x49, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4A, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_LogicOp // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_LogicOp_1_0_3925, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_LogicOp+0x11 : test ecx, ecx { 0x11, 0x85 }, // (Offset,Value)-Pair #1 { 0x12, 0xC9 }, // (Offset,Value)-Pair #2 @@ -2963,21 +2190,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_3925 = // IDirect3DDevice8_SetRenderState_LogicOp+0x49 : retn 0x04 { 0x49, 0xC2 }, // (Offset,Value)-Pair #8 { 0x4A, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_EdgeAntiAlias // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x17 : mov [eax+0x04], ecx { 0x17, 0x89 }, // (Offset,Value)-Pair #1 { 0x18, 0x48 }, // (Offset,Value)-Pair #2 @@ -2996,21 +2215,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_3925 = // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x29 : retn 0x04 { 0x29, 0xC2 }, // (Offset,Value)-Pair #10 { 0x2A, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleMask // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_3925 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_3925, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x0B : mov ecx, esi { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0xCE }, // (Offset,Value)-Pair #2 @@ -3031,21 +2242,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_3925 = // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x49 : retn 0x04 { 0x49, 0xC2 }, // (Offset,Value)-Pair #12 { 0x4A, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_3925, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x05 : mov ecx, [esp+4] { 0x05, 0x8B }, // (Offset,Value)-Pair #1 { 0x06, 0x4C }, // (Offset,Value)-Pair #2 @@ -3065,21 +2268,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_3925 = // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x22 : retn 0x04 { 0x22, 0xC2 }, // (Offset,Value)-Pair #11 { 0x23, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** -SOOVPA<14> D3DDevice_PersistDisplay_1_0_3925 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(D3DDevice_PersistDisplay_1_0_3925, 14) - XRefNotSaved, - XRefNotUsed, - - { // D3DDevice_PersistDisplay+0x25 : mov eax, [ebx+0x408] { 0x25, 0x8B }, { 0x26, 0x83 }, @@ -3097,21 +2292,13 @@ SOOVPA<14> D3DDevice_PersistDisplay_1_0_3925 = // D3DDevice_PersistDisplay+0x70 : shl edx, cl { 0x70, 0xD3 }, { 0x71, 0xE2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ShadowFunc // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_3925 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_3925, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi { 0x00, 0x56 }, // (Offset,Value)-Pair #1 @@ -3133,21 +2320,13 @@ SOOVPA<14> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_3925 = { 0x20, 0x83 }, // (Offset,Value)-Pair #12 { 0x21, 0xC0 }, // (Offset,Value)-Pair #13 { 0x22, 0x08 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_LineWidth // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_LineWidth_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x508] { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 { 0x16, 0x8E }, // (Offset,Value)-Pair #2 @@ -3165,21 +2344,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_3925 = // IDirect3DDevice8_SetRenderState_LineWidth+0x5C : retn 0x04 { 0x5C, 0xC2 }, // (Offset,Value)-Pair #9 { 0x5D, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_YuvEnable // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -3199,21 +2370,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_3925 = // IDirect3DDevice8_SetRenderState_YuvEnable+0x22 : retn 0x04 { 0x22, 0xC2 }, // (Offset,Value)-Pair #9 { 0x23, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_OcclusionCullEnable // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_3925 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_3925, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x20 : jz +0x05 { 0x20, 0x74 }, // (Offset,Value)-Pair #1 { 0x21, 0x05 }, // (Offset,Value)-Pair #2 @@ -3233,21 +2396,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_3925 = // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x59 : retn 0x04 { 0x59, 0xC2 }, // (Offset,Value)-Pair #11 { 0x5A, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilCullEnable // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x56 }, { 0x16, 0x8B }, { 0x22, 0xB9 }, @@ -3255,21 +2410,13 @@ SOOVPA<7> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_3925 = { 0x3A, 0x0C }, { 0x46, 0x03 }, { 0x52, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** -SOOVPA<8> D3DDevice_DrawVerticesUP_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_DrawVerticesUP_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1F, 0x8B }, { 0x3E, 0xC0 }, { 0x5E, 0x03 }, @@ -3278,21 +2425,13 @@ SOOVPA<8> D3DDevice_DrawVerticesUP_1_0_3925 = { 0xBE, 0x40 }, { 0xDE, 0x75 }, { 0xFE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** -SOOVPA<8> D3DDevice_DrawIndexedVerticesUP_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1F, 0x8B }, { 0x3E, 0x8B }, { 0x5E, 0xF0 }, @@ -3301,21 +2440,13 @@ SOOVPA<8> D3DDevice_DrawIndexedVerticesUP_1_0_3925 = { 0xBE, 0x83 }, { 0xDE, 0x75 }, { 0xFE, 0x75 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DrawVertices // ****************************************************************** -SOOVPA<8> D3DDevice_DrawVertices_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_DrawVertices_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x12, 0x8B }, { 0x27, 0x8B }, { 0x3A, 0x89 }, @@ -3324,21 +2455,13 @@ SOOVPA<8> D3DDevice_DrawVertices_1_0_3925 = { 0x76, 0x00 }, { 0x8A, 0x17 }, { 0x9E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetDisplayMode // ****************************************************************** -SOOVPA<7> D3DDevice_GetDisplayMode_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetDisplayMode_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0xB4 }, { 0x14, 0x8B }, { 0x1F, 0x10 }, @@ -3346,43 +2469,27 @@ SOOVPA<7> D3DDevice_GetDisplayMode_1_0_3925 = { 0x35, 0x8B }, { 0x41, 0x89 }, { 0x4B, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_BumpEnv // ****************************************************************** -SOOVPA<7> D3DDevice_SetTextureState_BumpEnv_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x8B }, { 0x16, 0x8B }, { 0x22, 0x24 }, { 0x2E, 0x24 }, { 0x3A, 0x04 }, - { 0x46, 0x8B }, + { 0x46, 0x8B }, { 0x52, 0xB5 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor // ****************************************************************** -SOOVPA<7> D3DDevice_SetTextureState_ColorKeyColor_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x56 }, { 0x0D, 0x8B }, { 0x13, 0x8D }, @@ -3390,21 +2497,13 @@ SOOVPA<7> D3DDevice_SetTextureState_ColorKeyColor_1_0_3925 = { 0x21, 0x83 }, { 0x28, 0x07 }, { 0x2F, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData4s // ****************************************************************** -SOOVPA<8> D3DDevice_SetVertexData4s_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetVertexData4s_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x56 }, { 0x10, 0x08 }, { 0x19, 0xBF }, @@ -3413,21 +2512,13 @@ SOOVPA<8> D3DDevice_SetVertexData4s_1_0_3925 = { 0x34, 0x24 }, { 0x3D, 0x08 }, { 0x46, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_SetPushBufferSize // ****************************************************************** -SOOVPA<7> Direct3D_SetPushBufferSize_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(Direct3D_SetPushBufferSize_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x07, 0x08 }, @@ -3435,21 +2526,13 @@ SOOVPA<7> Direct3D_SetPushBufferSize_1_0_3925 = { 0x0E, 0x0D }, { 0x13, 0xC2 }, { 0x14, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DResource_GetType // ****************************************************************** -SOOVPA<7> D3DResource_GetType_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DResource_GetType_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x13, 0x2A }, { 0x28, 0x00 }, { 0x3D, 0x00 }, @@ -3457,42 +2540,26 @@ SOOVPA<7> D3DResource_GetType_1_0_3925 = { 0x67, 0x00 }, { 0x7C, 0x04 }, { 0x91, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D_AllocContiguousMemory // ****************************************************************** -SOOVPA<6> D3D_AllocContiguousMemory_1_0_3925 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3D_AllocContiguousMemory_1_0_3925, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x24 }, { 0x0A, 0x04 }, { 0x0E, 0x6A }, { 0x16, 0xC2 }, { 0x17, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Deferred // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_Deferred_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Deferred_1_0_3925, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_Deferred+0x00 : mov eax, ds:(g_DirtyFromRenderState)-148[ecx*4] { 0x00, 0x8B }, { 0x01, 0x04 }, @@ -3506,21 +2573,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_Deferred_1_0_3925 = { 0x0F, 0x8D }, // IDirect3DDevice8_SetRenderState_Deferred+0x14 : retn { 0x14, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** -SOOVPA<8> D3DDevice_SetLight_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetLight_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x0F }, { 0x3C, 0xD8 }, { 0x5B, 0x00 }, @@ -3529,21 +2588,13 @@ SOOVPA<8> D3DDevice_SetLight_1_0_3925 = { 0xB8, 0xC1 }, { 0xD7, 0x00 }, { 0xF6, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_LightEnable // ****************************************************************** -SOOVPA<7> D3DDevice_LightEnable_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_LightEnable_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1A, 0x04 }, { 0x36, 0x00 }, { 0x52, 0x00 }, @@ -3551,21 +2602,13 @@ SOOVPA<7> D3DDevice_LightEnable_1_0_3925 = { 0x8A, 0x88 }, { 0xA6, 0x75 }, { 0xC2, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CreateVertexShader // ****************************************************************** -SOOVPA<8> D3DDevice_CreateVertexShader_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_CreateVertexShader_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x85 }, { 0x3E, 0xE8 }, { 0x5E, 0x5D }, @@ -3574,21 +2617,13 @@ SOOVPA<8> D3DDevice_CreateVertexShader_1_0_3925 = { 0xBE, 0x24 }, { 0xDE, 0x83 }, { 0xFE, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** -SOOVPA<7> D3DDevice_GetProjectionViewportMatrix_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x35 }, { 0x07, 0x57 }, { 0x0A, 0x24 }, @@ -3596,21 +2631,13 @@ SOOVPA<7> D3DDevice_GetProjectionViewportMatrix_1_0_3925 = { 0x12, 0xB9 }, { 0x16, 0x00 }, { 0x1A, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** -SOOVPA<7> D3DDevice_GetTile_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetTile_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x04 }, { 0x0A, 0x56 }, { 0x0D, 0x7C }, @@ -3618,21 +2645,13 @@ SOOVPA<7> D3DDevice_GetTile_1_0_3925 = { 0x17, 0x21 }, { 0x1C, 0x00 }, { 0x21, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_ApplyStateBlock // ****************************************************************** -SOOVPA<8> D3DDevice_ApplyStateBlock_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_ApplyStateBlock_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x83 }, { 0x40, 0x83 }, { 0x5B, 0x16 }, @@ -3641,21 +2660,13 @@ SOOVPA<8> D3DDevice_ApplyStateBlock_1_0_3925 = { 0xB8, 0x06 }, { 0xD7, 0x39 }, { 0xF6, 0x51 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** -SOOVPA<7> D3DDevice_CaptureStateBlock_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_CaptureStateBlock_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x76 }, { 0x3E, 0xE8 }, { 0x5E, 0x06 }, @@ -3663,21 +2674,13 @@ SOOVPA<7> D3DDevice_CaptureStateBlock_1_0_3925 = { 0x9E, 0xFF }, { 0xBE, 0x04 }, { 0xDE, 0xF8 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeleteStateBlock // ****************************************************************** -SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_DeleteStateBlock_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x11, 0x76 }, { 0x24, 0x3B }, { 0x37, 0xE8 }, @@ -3685,21 +2688,13 @@ SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_3925 = { 0x5D, 0x74 }, { 0x70, 0x06 }, { 0x83, 0xEB }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** -SOOVPA<8> D3DDevice_GetBackMaterial_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_GetBackMaterial_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x56 }, { 0x06, 0x57 }, { 0x0A, 0x0C }, @@ -3708,21 +2703,13 @@ SOOVPA<8> D3DDevice_GetBackMaterial_1_0_3925 = { 0x12, 0x11 }, { 0x16, 0xF3 }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CreateStateBlock // ****************************************************************** -SOOVPA<8> D3DDevice_CreateStateBlock_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_CreateStateBlock_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x8B }, { 0x3E, 0x89 }, { 0x5E, 0x24 }, @@ -3731,21 +2718,13 @@ SOOVPA<8> D3DDevice_CreateStateBlock_1_0_3925 = { 0xBE, 0xB6 }, { 0xDE, 0xF8 }, { 0xFE, 0x76 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeletePixelShader // ****************************************************************** -SOOVPA<7> D3DDevice_DeletePixelShader_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_DeletePixelShader_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x75 }, { 0x0A, 0x04 }, @@ -3753,21 +2732,13 @@ SOOVPA<7> D3DDevice_DeletePixelShader_1_0_3925 = { 0x12, 0x04 }, { 0x18, 0xC2 }, { 0x1A, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** -SOOVPA<7> D3DDevice_SetPixelShaderProgram_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0xA1 }, { 0x0E, 0x88 }, { 0x16, 0x00 }, @@ -3775,43 +2746,26 @@ SOOVPA<7> D3DDevice_SetPixelShaderProgram_1_0_3925 = { 0x26, 0x04 }, { 0x32, 0xC7 }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::KickOffAndWaitForIdle // ****************************************************************** // * This is for the real D3D::KickOffAndWaitForIdle // ****************************************************************** -SOOVPA<5> D3D_KickOffAndWaitForIdle_1_0_3925 = -{ - 0, // Large == 0 - 5, // Count == 5 - - XREF_D3D_KickOffAndWaitForIdle, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(D3D_KickOffAndWaitForIdle_1_0_3925, 5, XREF_D3D_KickOffAndWaitForIdle, XRefZero) { 0x05, 0x8B }, { 0x06, 0x48 }, { 0x07, 0x1C }, { 0x0A, 0x51 }, { 0x10, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetModelView // ****************************************************************** -SOOVPA<7> D3DDevice_SetModelView_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetModelView_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x12, 0x08 }, { 0x26, 0x53 }, { 0x3A, 0x8B }, @@ -3819,21 +2773,13 @@ SOOVPA<7> D3DDevice_SetModelView_1_0_3925 = { 0x62, 0x00 }, { 0x76, 0x00 }, { 0x8A, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_FlushVertexCache // ****************************************************************** -SOOVPA<8> D3DDevice_FlushVertexCache_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_FlushVertexCache_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x56 }, { 0x07, 0x56 }, { 0x08, 0xE8 }, @@ -3842,21 +2788,13 @@ SOOVPA<8> D3DDevice_FlushVertexCache_1_0_3925 = { 0x12, 0x00 }, { 0x17, 0x00 }, { 0x1C, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** -SOOVPA<8> D3DDevice_SetScissors_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetScissors_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x08 }, { 0x3C, 0x24 }, { 0x5F, 0x8B }, @@ -3865,21 +2803,13 @@ SOOVPA<8> D3DDevice_SetScissors_1_0_3925 = { 0xBA, 0xD9 }, { 0xD9, 0x8B }, { 0xF6, 0xDB }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexShaderInput // ****************************************************************** -SOOVPA<8> D3DDevice_SetVertexShaderInput_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x8B }, { 0x5E, 0xC7 }, @@ -3888,21 +2818,13 @@ SOOVPA<8> D3DDevice_SetVertexShaderInput_1_0_3925 = { 0xBE, 0x7F }, { 0xDE, 0xCA }, { 0xFE, 0x17 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_PrimeVertexCache // ****************************************************************** -SOOVPA<8> D3DDevice_PrimeVertexCache_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_PrimeVertexCache_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x00 }, { 0x1C, 0x55 }, { 0x2B, 0x00 }, @@ -3911,21 +2833,13 @@ SOOVPA<8> D3DDevice_PrimeVertexCache_1_0_3925 = { 0x58, 0x74 }, { 0x67, 0x00 }, { 0x76, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData4ub // ****************************************************************** -SOOVPA<7> D3DDevice_SetVertexData4ub_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVertexData4ub_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x56 }, { 0x10, 0x08 }, { 0x19, 0xC9 }, @@ -3933,21 +2847,13 @@ SOOVPA<7> D3DDevice_SetVertexData4ub_1_0_3925 = { 0x2B, 0x14 }, { 0x34, 0x24 }, { 0x3D, 0xFC }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** -SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x4C }, { 0x3E, 0x11 }, { 0x61, 0xDF }, @@ -3955,21 +2861,13 @@ SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_3925 = { 0x9E, 0x05 }, { 0xC0, 0x51 }, { 0xDE, 0xC4 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_InsertCallback // ****************************************************************** -SOOVPA<7> D3DDevice_InsertCallback_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_InsertCallback_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x8B }, { 0x18, 0x8B }, { 0x25, 0x50 }, @@ -3977,21 +2875,13 @@ SOOVPA<7> D3DDevice_InsertCallback_1_0_3925 = { 0x3F, 0x00 }, { 0x4C, 0x00 }, { 0x59, 0x03 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginPushBuffer // ****************************************************************** -SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BeginPushBuffer_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0xCE }, { 0x1B, 0x57 }, { 0x25, 0x00 }, @@ -3999,21 +2889,13 @@ SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_3925 = { 0x3F, 0x03 }, { 0x4C, 0x04 }, { 0x59, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** -SOOVPA<7> D3DDevice_EndPushBuffer_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_EndPushBuffer_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x11, 0x8D }, { 0x24, 0x8B }, { 0x37, 0xFC }, @@ -4021,21 +2903,16 @@ SOOVPA<7> D3DDevice_EndPushBuffer_1_0_3925 = { 0x5D, 0xF7 }, { 0x70, 0x03 }, { 0x83, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_3925, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] { 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD }, // (Offset,Value)-Pair #1 @@ -4052,21 +2929,16 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_3925 = { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 { 0x10, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_RopZRead // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZRead_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_RopZRead_1_0_3925, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_RopZRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] { 0x05, XREF_D3DRS_ROPZREAD }, // (Offset,Value)-Pair #1 @@ -4083,21 +2955,16 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZRead_1_0_3925 = { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 { 0x10, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_DoNotCullUncompressed // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_3925, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] { 0x05, XREF_D3DRS_DONOTCULLUNCOMPRESSED }, // (Offset,Value)-Pair #1 @@ -4114,21 +2981,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_3925 = { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 { 0x10, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * XMETAL_StartPush // ****************************************************************** -SOOVPA<11> XMETAL_StartPush_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XMETAL_StartPush_1_0_3925, 11) - XRefNotSaved, - XRefNotUsed, - - { // XMETAL_StartPush+0x00 : mov ecx, [esp+0x4] { 0x00, 0x8B }, { 0x01, 0x4C }, @@ -4147,21 +3006,12 @@ SOOVPA<11> XMETAL_StartPush_1_0_3925 = // XMETAL_StartPush+0x10 : retn 4 { 0x10, 0xC2 }, { 0x11, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -SOOVPA<11> D3D_SetFence_1_0_3925 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XREF_D3D_SETFENCE, // Xref Is Saved - 0, // Xref Not Used - - { +OOVPA_XREF(D3D_SetFence_1_0_3925, 11, XREF_D3D_SETFENCE, XRefZero) // D3D::SetFence+0x0F : mov edi, [esi+0x1C] { 0x0F, 0x8B }, { 0x10, 0x7E }, @@ -4180,42 +3030,29 @@ SOOVPA<11> D3D_SetFence_1_0_3925 = // D3D::SetFence+0x96 : retn 4 { 0x96, 0xC2 }, { 0x97, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_InsertFence // ****************************************************************** -SOOVPA<5> D3DDevice_InsertFence_1_0_3925 = -{ - 0, // Large == 0 - 5, // Count == 5 +OOVPA_XREF(D3DDevice_InsertFence_1_0_3925, 5, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x03, XREF_D3D_SETFENCE }, { 0x00, 0x6A }, { 0x01, 0x00 }, { 0x02, 0xE8 }, { 0x07, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** -SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x2D }, { 0x18, 0x10 }, { 0x25, 0x00 }, @@ -4223,21 +3060,13 @@ SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_3925 = { 0x3F, 0x8B }, { 0x4C, 0x00 }, { 0x59, 0xE8 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeleteVertexShader // ****************************************************************** -SOOVPA<6> X_D3DDevice_DeleteVertexShader_1_0_3925 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(X_D3DDevice_DeleteVertexShader_1_0_3925, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0xFF }, { 0x0A, 0x08 }, @@ -4246,21 +3075,13 @@ SOOVPA<6> X_D3DDevice_DeleteVertexShader_1_0_3925 = // D3DDevice_DeleteVertexShader+0x16 : retn 4 { 0x16, 0xC2 }, { 0x17, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_RunPushBuffer // ****************************************************************** -SOOVPA<15> D3DDevice_RunPushBuffer_1_0_3925 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_NO_XREF(D3DDevice_RunPushBuffer_1_0_3925, 15) - XRefNotSaved, - XRefNotUsed, - - { // D3DDevice_RunPushBuffer+0x5E : and ecx, 4 { 0x5E, 0x83 }, { 0x5F, 0xE1 }, @@ -4281,21 +3102,13 @@ SOOVPA<15> D3DDevice_RunPushBuffer_1_0_3925 = { 0xF5, 0x01 }, { 0xF6, 0x04 }, { 0xF7, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** -SOOVPA<7> D3DDevice_BlockOnFence_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BlockOnFence_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x02, 0x24 }, { 0x04, 0x6A }, @@ -4303,21 +3116,13 @@ SOOVPA<7> D3DDevice_BlockOnFence_1_0_3925 = { 0x0C, 0xC2 }, { 0x0D, 0x04 }, { 0x0E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_EnumAdapterModes // ****************************************************************** -SOOVPA<8> Direct3D_EnumAdapterModes_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(Direct3D_EnumAdapterModes_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x20, 0x8B }, { 0x3E, 0xE3 }, { 0x5E, 0x75 }, @@ -4326,21 +3131,13 @@ SOOVPA<8> Direct3D_EnumAdapterModes_1_0_3925 = { 0xBE, 0x0F }, { 0xE2, 0x89 }, { 0xFE, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_GetAdapterModeCount // ****************************************************************** -SOOVPA<8> Direct3D_GetAdapterModeCount_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(Direct3D_GetAdapterModeCount_1_0_3925, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x14, 0x8B }, { 0x26, 0xE2 }, { 0x3A, 0x00 }, @@ -4349,21 +3146,13 @@ SOOVPA<8> Direct3D_GetAdapterModeCount_1_0_3925 = { 0x76, 0x75 }, { 0x8A, 0x3B }, { 0x9E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_Reset // ****************************************************************** -SOOVPA<7> D3DDevice_Reset_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_Reset_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x15, 0x8B }, { 0x2C, 0x8B }, { 0x43, 0x8B }, @@ -4371,21 +3160,13 @@ SOOVPA<7> D3DDevice_Reset_1_0_3925 = { 0x74, 0x8B }, { 0x88, 0x50 }, { 0x9F, 0x03 }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_GetAdapterIdentifier // ****************************************************************** -SOOVPA<7> Direct3D_GetAdapterIdentifier_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(Direct3D_GetAdapterIdentifier_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x85 }, { 0x0A, 0x08 }, { 0x10, 0x56 }, @@ -4393,21 +3174,13 @@ SOOVPA<7> Direct3D_GetAdapterIdentifier_1_0_3925 = { 0x20, 0xF3 }, { 0x22, 0x5F }, { 0x28, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_GetDeviceCaps // ****************************************************************** -SOOVPA<7> Direct3D_GetDeviceCaps_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(Direct3D_GetDeviceCaps_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x85 }, { 0x0A, 0x08 }, { 0x10, 0x83 }, @@ -4415,21 +3188,13 @@ SOOVPA<7> Direct3D_GetDeviceCaps_1_0_3925 = { 0x1C, 0xC2 }, { 0x22, 0x0C }, { 0x29, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::SetCommonDebugRegisters // ****************************************************************** -SOOVPA<10> D3D_SetCommonDebugRegisters_1_0_3925 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(D3D_SetCommonDebugRegisters_1_0_3925, 10) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x08, 0x96 }, { 0x09, 0x44 }, @@ -4440,21 +3205,13 @@ SOOVPA<10> D3D_SetCommonDebugRegisters_1_0_3925 = { 0x34, 0xFF }, { 0x35, 0xEF }, { 0x36, 0xE7 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CreateImageSurface // ****************************************************************** -SOOVPA<7> D3DDevice_CreateImageSurface_1_0_3925 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_CreateImageSurface_1_0_3925, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x24 }, { 0x0A, 0x24 }, @@ -4462,21 +3219,12 @@ SOOVPA<7> D3DDevice_CreateImageSurface_1_0_3925 = { 0x12, 0x00 }, { 0x16, 0xE8 }, { 0x1B, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -SOOVPA<9> D3D_BlockOnTime_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 6 - - XREF_D3D_BLOCKONTIME, // Xref Is Saved - 0, // Xref Not Used - - { +OOVPA_XREF(D3D_BlockOnTime_1_0_3925, 9, XREF_D3D_BLOCKONTIME, XRefZero) // D3D::BlockOnFence+0x0A : push edi { 0x0A, 0x57 }, // D3D::BlockOnFence+0x4E : cmp eax, 0x8000 @@ -4489,21 +3237,12 @@ SOOVPA<9> D3D_BlockOnTime_1_0_3925 = { 0x6F, 0x00 }, { 0x70, 0x01 }, { 0x71, 0x04 } - } -}; +OOVPA_END; // ****************************************************************** // * D3D::BlockOnResource // ****************************************************************** -SOOVPA<9> D3D_BlockOnResource_1_0_3925 = -{ - 0, // Large == 0 - 9, // Count == 9 - - XREF_D3D_BlockOnResource, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(D3D_BlockOnResource_1_0_3925, 9, XREF_D3D_BlockOnResource, XRefZero) { 0x34, 0x8B }, // mov edx, [ecx+0x1C] { 0x35, 0x51 }, { 0x36, 0x1C }, @@ -4513,1539 +3252,348 @@ SOOVPA<9> D3D_BlockOnResource_1_0_3925 = { 0x7E, 0xC2 }, // retn 4 { 0x7F, 0x04 }, { 0x80, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginStateBlock // ****************************************************************** -SOOVPA<6> D3DDevice_BeginStateBlock_1_0_3925 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_BeginStateBlock_1_0_3925, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x05, 0x83 }, { 0x06, 0x48 }, { 0x07, 0x0C }, { 0x08, 0x20 }, { 0x09, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndStateBlock // ****************************************************************** -SOOVPA<6> D3DDevice_EndStateBlock_1_0_3925 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_EndStateBlock_1_0_3925, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x05, 0x83 }, { 0x06, 0x60 }, { 0x07, 0x0C }, { 0x08, 0xDF }, { 0x09, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_3925 // ****************************************************************** -OOVPATable D3D8_1_0_3925[] = -{ +OOVPATable D3D8_1_0_3925[] = { + // IDirect3D8::CreateDevice - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_3925, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3DDevice8::IsBusy - { - (OOVPA*)&IDirect3DDevice8_IsBusy_1_0_3925, - - XTL::EmuIDirect3DDevice8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_IsBusy" - #endif - }, - // IDirect3DDevice8::GetDeviceCaps - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, - // IDirect3DDevice8::BeginVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_3925, - - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // IDirect3DDevice8::EndVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_3925, - - XTL::EmuIDirect3DDevice8_EndVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndVisibilityTest" - #endif - }, - // IDirect3DDevice8::GetVisibilityTestResult - { - (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVisibilityTestResult" - #endif - }, - // IDirect3D8::KickOffAndWaitForIdle - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_3925, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, - // IDirect3DDevice8::GetMaterial - { - (OOVPA*)&D3DDevice_GetMaterial_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetMaterial" - #endif - }, - // IDirect3DDevice8::GetBackMaterial - { - (OOVPA*)&D3DDevice_GetBackMaterial_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetBackMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackMaterial" - #endif - }, - // IDirect3DDevice8::LoadVertexShader - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::SelectVertexShader - { - (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, - // IDirect3DDevice8::Release - { - (OOVPA*)&IDirect3DDevice8_Release_1_0_3925, - - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Release" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, - // IDirect3DDevice8::SetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::GetTransform - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::SetStreamSource - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::CreatePixelShader - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, - // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetViewport - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::SetTexture - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_3925, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::Begin - { - (OOVPA*)&IDirect3DDevice8_Begin_1_0_3925, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, - // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::SetVertexData2s - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2s_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData2s, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2s" - #endif - }, - // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, - // IDirect3DDevice8::SetVertexDataColor - { - (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexDataColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexDataColor" - #endif - }, - // IDirect3DDevice8::End - { - (OOVPA*)&IDirect3DDevice8_End_1_0_3925, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::Clear - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_3925, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::CreatePalette - { - (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette" - #endif - }, - // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, - // IDirect3DDevice8::CreateTexture - { - (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture" - #endif - }, - // IDirect3DDevice8::CreateVolumeTexture - { - (OOVPA*)&IDirect3DDevice8_CreateVolumeTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVolumeTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVolumeTexture" - #endif - }, - // IDirect3DDevice8::CreateCubeTexture - { - (OOVPA*)&IDirect3DDevice8_CreateCubeTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateCubeTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateCubeTexture" - #endif - }, - // IDirect3DDevice8::CreateIndexBuffer - { - (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer" - #endif - }, - // IDirect3DDevice8::CreateVertexShader - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant" - #endif - }, - // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, - // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_PSTextureModes - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_PSTextureModes" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_Simple - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetTransform - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::Present - { - (OOVPA*)&IDirect3DDevice8_Present_1_0_3925, - - XTL::EmuIDirect3DDevice8_Present, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Present" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DDevice8::GetBackBuffer - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, - // IDirect3DDevice8::GetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer" - #endif - }, - // IDirect3DVertexBuffer8::Lock - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_3925, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - }, - // IDirect3DResource8::Register - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DResource8::Release - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::AddRef - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::IsBusy - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_3925, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // IDirect3DSurface8::LockRect - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, - // IDirect3DPalette8::Lock - { - (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, - - XTL::EmuIDirect3DPalette8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock" - #endif - }, - // IDirect3DTexture8::LockRect - { - (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // IDirect3DVolumeTexture8::LockBox - { - (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_3925, - - XTL::EmuIDirect3DVolumeTexture8_LockBox, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVolumeTexture8_LockBox" - #endif - }, - // IDirect3DCubeTexture8::LockRect - { - (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DCubeTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_LockRect" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel" - #endif - }, - // Lock2DSurface - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, - // Get2DSurfacDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_3925, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_3925, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3DDevice8::IsBusy + OOVPA_TABLE_PATCH(IDirect3DDevice8_IsBusy_1_0_3925, XTL::EmuIDirect3DDevice8_IsBusy), + // IDirect3DDevice8::GetDeviceCaps + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), + // IDirect3DDevice8::BeginVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginVisibilityTest_1_0_3925, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // IDirect3DDevice8::EndVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndVisibilityTest_1_0_3925, XTL::EmuIDirect3DDevice8_EndVisibilityTest), + // IDirect3DDevice8::GetVisibilityTestResult + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, XTL::EmuIDirect3DDevice8_GetVisibilityTestResult), + // IDirect3D8::KickOffAndWaitForIdle + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_3925, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), + // IDirect3DDevice8::GetMaterial + OOVPA_TABLE_PATCH(D3DDevice_GetMaterial_1_0_3925, XTL::EmuIDirect3DDevice8_GetMaterial), + // IDirect3DDevice8::GetBackMaterial + OOVPA_TABLE_PATCH(D3DDevice_GetBackMaterial_1_0_3925, XTL::EmuIDirect3DDevice8_GetBackMaterial), + // IDirect3DDevice8::LoadVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::SelectVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SelectVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_SelectVertexShader), + // IDirect3DDevice8::Release + OOVPA_TABLE_PATCH(IDirect3DDevice8_Release_1_0_3925, XTL::EmuIDirect3DDevice8_Release), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::SetVerticalBlankCallback + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // IDirect3DDevice8::SetRenderTarget + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::GetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_3925, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::SetStreamSource + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_3925, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::CreatePixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePixelShader), + // IDirect3DDevice8::SetPixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::SetIndices + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_3925, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_3925, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::SetTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_3925, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_3925, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::Begin + OOVPA_TABLE_PATCH(IDirect3DDevice8_Begin_1_0_3925, XTL::EmuIDirect3DDevice8_Begin), + // IDirect3DDevice8::SetVertexData2f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::SetVertexData2s + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2s_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData2s), + // IDirect3DDevice8::SetVertexData4f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData4f_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData4f), + // IDirect3DDevice8::SetVertexDataColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexDataColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexDataColor), + // IDirect3DDevice8::End + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_3925, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::Clear + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_3925, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::CreatePalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePalette_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePalette), + // IDirect3DDevice8::SetPalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_3925, XTL::EmuIDirect3DDevice8_SetPalette), + // IDirect3DDevice8::CreateTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateTexture), + // IDirect3DDevice8::CreateVolumeTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVolumeTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVolumeTexture), + // IDirect3DDevice8::CreateCubeTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateCubeTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateCubeTexture), + // IDirect3DDevice8::CreateIndexBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateIndexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateIndexBuffer), + // IDirect3DDevice8::CreateVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::SetVertexShaderConstant + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant), + // IDirect3DDevice8::SetFlickerFilter + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_3925, XTL::EmuIDirect3DDevice8_SetFlickerFilter), + // IDirect3DDevice8::SetSoftDisplayFilter + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), + // IDirect3DDevice8::SetTextureState_TexCoordIndex + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetTextureState_BorderColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetRenderState_PSTextureModes + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes), + // IDirect3DDevice8::SetRenderState_StencilFail + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // IDirect3DDevice8::SetRenderState_CullMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_Simple + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_3925, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::SetRenderState_FogColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_FillMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_StencilEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), + // IDirect3DDevice8::SetRenderState_ZBias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::Present + OOVPA_TABLE_PATCH(IDirect3DDevice8_Present_1_0_3925, XTL::EmuIDirect3DDevice8_Present), + // IDirect3DDevice8::SetShaderConstantMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DDevice8::GetBackBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_GetBackBuffer), + // IDirect3DDevice8::GetRenderTarget + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget_1_0_3925, XTL::EmuIDirect3DDevice8_GetRenderTarget), + // IDirect3DDevice8::GetDepthStencilSurface + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface_1_0_3925, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface), + // IDirect3DDevice8::CreateVertexBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexBuffer), + // IDirect3DVertexBuffer8::Lock + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_3925, XTL::EmuIDirect3DVertexBuffer8_Lock), + // IDirect3DResource8::Register + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DResource8::Release + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::AddRef + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::IsBusy + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_3925, XTL::EmuIDirect3DResource8_IsBusy), + // IDirect3DSurface8::LockRect + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), + // IDirect3DPalette8::Lock + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock_1_0_3925, XTL::EmuIDirect3DPalette8_Lock), + // IDirect3DTexture8::LockRect + OOVPA_TABLE_PATCH(IDirect3DTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DTexture8_LockRect), + // IDirect3DVolumeTexture8::LockBox + OOVPA_TABLE_PATCH(IDirect3DVolumeTexture8_LockBox_1_0_3925, XTL::EmuIDirect3DVolumeTexture8_LockBox), + // IDirect3DCubeTexture8::LockRect + OOVPA_TABLE_PATCH(IDirect3DCubeTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DCubeTexture8_LockRect), + // IDirect3DTexture8::GetSurfaceLevel + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel_1_0_3925, XTL::EmuIDirect3DTexture8_GetSurfaceLevel), + // Lock2DSurface + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), + // Get2DSurfacDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_3925, XTL::EmuGet2DSurfaceDesc), // D3DDevice_GetVertexShaderSize - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), // IDirect3DDevice8_SetGammaRamp - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_3925, - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "IDirect3DDevice8_SetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_3925, XTL::EmuIDirect3DDevice8_SetGammaRamp), // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_3925, XTL::EmuIDirect3DDevice8_SetMaterial), // IDirect3DDevice8::AddRef - { - (OOVPA*)&IDirect3DDevice8_AddRef_1_0_3925, - - XTL::EmuIDirect3DDevice8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_AddRef_1_0_3925, XTL::EmuIDirect3DDevice8_AddRef), // IDirect3DDevice8_Unknown1 - { - (OOVPA*)&IDirect3DDevice8_Unknown1_1_0_3925, - - XTL::EmuIDirect3DDevice8_Unknown1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Unknown1" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Unknown1_1_0_3925, XTL::EmuIDirect3DDevice8_Unknown1), // IDirect3DDevice8::GetViewport - { - (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetViewport_1_0_3925, XTL::EmuIDirect3DDevice8_GetViewport), // IDirect3DDevice8::GetGammaRamp - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_3925, XTL::EmuIDirect3DDevice8_GetGammaRamp), // D3DDevice_GetDisplayFieldStatus - { - (OOVPA*)&D3DDevice_GetDisplayFieldStatus_1_0_3925, - XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayFieldStatus" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_VertexBlend - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetDisplayFieldStatus_1_0_3925, XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_VertexBlend + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), // IDirect3DDevice8::SetRenderState_BackFillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), // IDirect3DDevice8::SetTextureState_TwoSidedLighting - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), // IDirect3DDevice8_SetRenderState_NormalizeNormals - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), // IDirect3DDevice8::SetRenderState_FrontFace - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), // IDirect3DDevice8::SetRenderState_TextureFactor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), // IDirect3DDevice8::SetRenderState_LogicOp - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LogicOp_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), // IDirect3DDevice8::SetRenderState_EdgeAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), // IDirect3DDevice8::SetRenderState_MultiSampleMask - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), // IDirect3DDevice8::SetRenderState_MultiSampleMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), // D3DDevice_PersistDisplay - { - (OOVPA*)&D3DDevice_PersistDisplay_1_0_3925, - XTL::EmuIDirect3DDevice8_PersistDisplay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_PersistDisplay" - #endif - }, - // IDirect3DDevice8::SetRenderState_ShadowFunc - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_PersistDisplay_1_0_3925, XTL::EmuIDirect3DDevice8_PersistDisplay), + // IDirect3DDevice8::SetRenderState_ShadowFunc + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), // IDirect3DDevice8::SetRenderState_LineWidth - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LineWidth_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), // IDirect3DDevice8::SetRenderState_YuvEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilCullEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_StencilCullEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), // D3DDevice_DrawVerticesUP - { - (OOVPA*)&D3DDevice_DrawVerticesUP_1_0_3925, - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // D3DDevice_DrawIndexedVerticesUP - { - (OOVPA*)&D3DDevice_DrawIndexedVerticesUP_1_0_3925, - XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVerticesUP" - #endif - }, - // D3DDevice_DrawVertices - { - (OOVPA*)&D3DDevice_DrawVertices_1_0_3925, - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_DrawVerticesUP_1_0_3925, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // D3DDevice_DrawIndexedVerticesUP + OOVPA_TABLE_PATCH(D3DDevice_DrawIndexedVerticesUP_1_0_3925, XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP), + // D3DDevice_DrawVertices + OOVPA_TABLE_PATCH(D3DDevice_DrawVertices_1_0_3925, XTL::EmuIDirect3DDevice8_DrawVertices), // D3DDevice_GetDisplayMode - { - (OOVPA*)&D3DDevice_GetDisplayMode_1_0_3925, - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetDisplayMode_1_0_3925, XTL::EmuIDirect3DDevice8_GetDisplayMode), // D3DDevice_SetTextureState_BumpEnv - { - (OOVPA*)&D3DDevice_SetTextureState_BumpEnv_1_0_3925, - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetTextureState_BumpEnv_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), // D3DDevice_SetTextureState_ColorKeyColor - { - (OOVPA*)&D3DDevice_SetTextureState_ColorKeyColor_1_0_3925, - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetTextureState_ColorKeyColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), // D3DDevice_SetVertexData4s - { - (OOVPA*)&D3DDevice_SetVertexData4s_1_0_3925, - XTL::EmuIDirect3DDevice8_SetVertexData4s, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4s" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4s_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData4s), // IDirect3D8::SetPushBufferSize - { - (OOVPA*)&Direct3D_SetPushBufferSize_1_0_3925, - XTL::EmuIDirect3D8_SetPushBufferSize, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_SetPushBufferSize" - #endif - }, + OOVPA_TABLE_PATCH(Direct3D_SetPushBufferSize_1_0_3925, XTL::EmuIDirect3D8_SetPushBufferSize), // IDirect3DResource8::GetType // Probably not even necessary... - { - (OOVPA*)&D3DResource_GetType_1_0_3925, - - XTL::EmuIDirect3DResource8_GetType, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_GetType" - #endif - }, + OOVPA_TABLE_PATCH(D3DResource_GetType_1_0_3925, XTL::EmuIDirect3DResource8_GetType), // IDirect3D8_AllocContiguousMemory - { - (OOVPA*)&D3D_AllocContiguousMemory_1_0_3925, - XTL::EmuIDirect3D8_AllocContiguousMemory, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_AllocContiguousMemory" - #endif - }, + OOVPA_TABLE_PATCH(D3D_AllocContiguousMemory_1_0_3925, XTL::EmuIDirect3D8_AllocContiguousMemory), // IDirect3DDevice8_SetRenderState_Deferred - /*{ - (OOVPA*)&IDirect3DDevice8_SetRenderState_Deferred_1_0_3925, - XTL::EmuIDirect3DDevice8_SetRenderState_Deferred, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Deferred" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Deferred_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_Deferred), + */ // D3DDevice_SetLight - { - (OOVPA*)&D3DDevice_SetLight_1_0_3925, - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetLight_1_0_3925, XTL::EmuIDirect3DDevice8_SetLight), // D3DDevice_LightEnable - { - (OOVPA*)&D3DDevice_LightEnable_1_0_3925, - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_LightEnable_1_0_3925, XTL::EmuIDirect3DDevice8_LightEnable), // D3DDevice_CreateVertexShader - { - (OOVPA*)&D3DDevice_CreateVertexShader_1_0_3925, - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), // IDirect3DDevice8::SetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_3948, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget (3948)" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_3948, XTL::EmuIDirect3DDevice8_SetRenderTarget), // IDirect3DSurface8::GetDesc - { - (OOVPA*)&D3DSurface_GetDesc_1_0_3925, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, + OOVPA_TABLE_PATCH(D3DSurface_GetDesc_1_0_3925, XTL::EmuIDirect3DSurface8_GetDesc), // IDirect3DDevice8_GetProjectionViewportMatrix - { - (OOVPA*)&D3DDevice_GetProjectionViewportMatrix_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetProjectionViewportMatrix" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetProjectionViewportMatrix_1_0_3925, XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix), // D3DDevice_GetTile - { - (OOVPA*)&D3DDevice_GetTile_1_0_3925, - XTL::EmuIDirect3DDevice8_GetTile, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTile" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetTile_1_0_3925, XTL::EmuIDirect3DDevice8_GetTile), // D3DDevice_ApplyStateBlock - { - (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_3925, - XTL::EmuIDirect3DDevice8_ApplyStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_ApplyStateBlock" - #endif - }, - // D3DDevice_CaptureStateBlock - { - (OOVPA*)&D3DDevice_CaptureStateBlock_1_0_3925, - XTL::EmuIDirect3DDevice8_CaptureStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CaptureStateBlock" - #endif - }, - // D3DDevice_DeleteStateBlock - { - (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_3925, - XTL::EmuIDirect3DDevice8_DeleteStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteStateBlock" - #endif - }, - // D3DDevice_CreateStateBlock - { - - (OOVPA*)&D3DDevice_CreateStateBlock_1_0_3925, - XTL::EmuIDirect3DDevice8_CreateStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_ApplyStateBlock_1_0_3925, XTL::EmuIDirect3DDevice8_ApplyStateBlock), + // D3DDevice_CaptureStateBlock + OOVPA_TABLE_PATCH(D3DDevice_CaptureStateBlock_1_0_3925, XTL::EmuIDirect3DDevice8_CaptureStateBlock), + // D3DDevice_DeleteStateBlock + OOVPA_TABLE_PATCH(D3DDevice_DeleteStateBlock_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteStateBlock), + // D3DDevice_CreateStateBlock + OOVPA_TABLE_PATCH(D3DDevice_CreateStateBlock_1_0_3925, XTL::EmuIDirect3DDevice8_CreateStateBlock), // D3DDevice_DeletePixelShader - { - (OOVPA*)&D3DDevice_DeletePixelShader_1_0_3925, - XTL::EmuIDirect3DDevice8_DeletePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_DeletePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeletePixelShader), // D3DDevice_SetPixelShaderProgram - { - (OOVPA*)&D3DDevice_SetPixelShaderProgram_1_0_3925, - XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderProgram" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetPixelShaderProgram_1_0_3925, XTL::EmuIDirect3DDevice8_SetPixelShaderProgram), // D3D::KickOffAndWaitForIdle - { - - (OOVPA*)&D3D_KickOffAndWaitForIdle_1_0_3925, - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, + OOVPA_TABLE_PATCH(D3D_KickOffAndWaitForIdle_1_0_3925, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), // D3DDevice_SetModelView - { - (OOVPA*)&D3DDevice_SetModelView_1_0_3925, - XTL::EmuIDirect3DDevice8_SetModelView, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetModelView" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetModelView_1_0_3925, XTL::EmuIDirect3DDevice8_SetModelView), // D3DDevice_FlushVertexCache - { - (OOVPA*)&D3DDevice_FlushVertexCache_1_0_3925, - XTL::EmuIDirect3DDevice8_FlushVertexCache, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_FlushVertexCache" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_FlushVertexCache_1_0_3925, XTL::EmuIDirect3DDevice8_FlushVertexCache), // D3DDevice_SetScissors - { - (OOVPA*)&D3DDevice_SetScissors_1_0_3925, - XTL::EmuIDirect3DDevice8_SetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScissors" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetScissors_1_0_3925, XTL::EmuIDirect3DDevice8_SetScissors), // D3DDevice_SetVertexShaderInput - { - (OOVPA*)&D3DDevice_SetVertexShaderInput_1_0_3925, - XTL::EmuIDirect3DDevice8_SetVertexShaderInput, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderInput" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexShaderInput_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexShaderInput), // D3DDevice_PrimeVertexCache - { - (OOVPA*)&D3DDevice_PrimeVertexCache_1_0_3925, - XTL::EmuIDirect3DDevice8_PrimeVertexCache, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_PrimeVertexCache" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_PrimeVertexCache_1_0_3925, XTL::EmuIDirect3DDevice8_PrimeVertexCache), // IDirect3DDevice8::SetVertexData4ub - { - (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData4ub, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4ub" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4ub_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData4ub), // IDirect3DDevice8::SetPixelShaderConstant - { - (OOVPA*)&D3DDevice_SetPixelShaderConstant_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetPixelShaderConstant_1_0_3925, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), // IDirect3DDevice8_InsertCallback - { - (OOVPA*)&D3DDevice_InsertCallback_1_0_3925, - - XTL::EmuIDirect3DDevice8_InsertCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertCallback" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_InsertCallback_1_0_3925, XTL::EmuIDirect3DDevice8_InsertCallback), // IDirect3DDevice8::BeginPushBuffer - { - (OOVPA*)&D3DDevice_BeginPushBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_BeginPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPushBuffer" - #endif - }, - // IDirect3DDevice8::EndPushBuffer - { - (OOVPA*)&D3DDevice_EndPushBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_EndPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPushBuffer" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginPushBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_BeginPushBuffer), + // IDirect3DDevice8::EndPushBuffer + OOVPA_TABLE_PATCH(D3DDevice_EndPushBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_EndPushBuffer), // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZRead - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DDevice8::SetRenderState_RopZRead + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), // XMETAL_StartPush - /*{ - (OOVPA*)&XMETAL_StartPush_1_0_3925, - - XTL::EmuXMETAL_StartPush, - - #ifdef _DEBUG_TRACE - "EmuXMETAL_StartPush" - #endif - }*/ + /* + OOVPA_TABLE_PATCH(XMETAL_StartPush_1_0_3925, XTL::EmuXMETAL_StartPush), + */ // D3D::SetFence (XREF) - { - (OOVPA*)&D3D_SetFence_1_0_3925, 0, - - #ifdef _DEBUG_TRACE - "D3D::SetFence (XREF)" - #endif - }, + OOVPA_TABLE_XREF(D3D_SetFence_1_0_3925), // IDirect3DDevice8::InsertFence - { - (OOVPA*)&D3DDevice_InsertFence_1_0_3925, - - XTL::EmuIDirect3DDevice8_InsertFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertFence" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_InsertFence_1_0_3925, XTL::EmuIDirect3DDevice8_InsertFence), // D3DDevice_LoadVertexShaderProgram - { - (OOVPA*)&D3DDevice_LoadVertexShaderProgram_1_0_3925, - - XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShaderProgram" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_LoadVertexShaderProgram_1_0_3925, XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram), // D3DDevice_DeleteVertexShader - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteVertexShader), // IDirect3DDevice8::RunPushBuffer - { - (OOVPA*)&D3DDevice_RunPushBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_RunPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_RunPushBuffer" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_RunPushBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_RunPushBuffer), // IDirect3DDevice8::BlockOnFence - { - (OOVPA*)&D3DDevice_BlockOnFence_1_0_3925, - - XTL::EmuIDirect3DDevice8_BlockOnFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockOnFence" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BlockOnFence_1_0_3925, XTL::EmuIDirect3DDevice8_BlockOnFence), // IDirect3DDevice8::Reset - { - (OOVPA*)&D3DDevice_Reset_1_0_3925, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_Reset_1_0_3925, XTL::EmuIDirect3DDevice8_Reset), // Direct3D_GetAdapterIdentifier - { - (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, - XTL::EmuIDirect3D8_GetAdapterIdentifier, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_GetAdapterIdentifier" - #endif - }, + OOVPA_TABLE_PATCH(Direct3D_GetAdapterIdentifier_1_0_3925, XTL::EmuIDirect3D8_GetAdapterIdentifier), // Direct3D_GetDeviceCaps - { - (OOVPA*)&Direct3D_GetDeviceCaps_1_0_3925, - XTL::EmuIDirect3D8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_GetDeviceCaps" - #endif - }, + OOVPA_TABLE_PATCH(Direct3D_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3D8_GetDeviceCaps), // D3D::SetCommonDebugRegisters - { - (OOVPA*)&D3D_SetCommonDebugRegisters_1_0_3925, - XTL::EmuD3D_SetCommonDebugRegisters, - - #ifdef _DEBUG_TRACE - "EmuD3D::SetCommonDebugRegisters" - #endif - }, + OOVPA_TABLE_PATCH(D3D_SetCommonDebugRegisters_1_0_3925, XTL::EmuD3D_SetCommonDebugRegisters), // D3DDevice_CreateImageSurface - { - (OOVPA*)&D3DDevice_CreateImageSurface_1_0_3925, - XTL::EmuIDirect3DDevice8_CreateImageSurface, - - #ifdef _DEBUG_TRACE - "D3DDevice_CreateImageSurface" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_CreateImageSurface_1_0_3925, XTL::EmuIDirect3DDevice8_CreateImageSurface), // D3D::BlockOnTime - { - (OOVPA*)&D3D_BlockOnTime_1_0_3925, - XTL::EmuD3D_BlockOnTime, - - #ifdef _DEBUG_TRACE - "D3D::BlockOnTime" - #endif - }, + OOVPA_TABLE_PATCH(D3D_BlockOnTime_1_0_3925, XTL::EmuD3D_BlockOnTime), // D3D::BlockOnResource - { - (OOVPA*)&D3D_BlockOnResource_1_0_3925, - XTL::EmuD3D_BlockOnResource, - - #ifdef _DEBUG_TRACE - "D3D::BlockOnResource" - #endif - }, + OOVPA_TABLE_PATCH(D3D_BlockOnResource_1_0_3925, XTL::EmuD3D_BlockOnResource), // D3DDevice_BeginStateBlock - { - (OOVPA*)&D3DDevice_BeginStateBlock_1_0_3925, - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginStateBlock_1_0_3925, XTL::EmuIDirect3DDevice8_BeginStateBlock), // D3DDevice_EndStateBlock - { - (OOVPA*)&D3DDevice_EndStateBlock_1_0_3925, - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_EndStateBlock_1_0_3925, XTL::EmuIDirect3DDevice8_EndStateBlock), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 8b5ef13f3..85fdf9292 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -35,15 +35,7 @@ // ****************************************************************** // * IDirect3DDevice8_GetGammaRamp // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetGammaRamp_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_GetGammaRamp_1_0_4034, 7) { 0x05, 0x8B }, { 0x0A, 0x00 }, { 0x10, 0xE1 }, @@ -51,22 +43,14 @@ SOOVPA<7> IDirect3DDevice8_GetGammaRamp_1_0_4034 = { 0x1C, 0x00 }, { 0x22, 0x00 }, { 0x28, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetCreationParameters // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetCreationParameters_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetCreationParameters_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x8B }, { 0x0E, 0x8B }, { 0x16, 0x4E }, @@ -74,21 +58,13 @@ SOOVPA<7> IDirect3DDevice8_GetCreationParameters_1_0_4034 = { 0x26, 0x00 }, { 0x2E, 0x5E }, { 0x36, 0xC9 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetViewport // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetViewport_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi { 0x05, 0x56 }, // (Offset,Value)-Pair #1 { 0x06, 0x57 }, // (Offset,Value)-Pair #2 @@ -106,21 +82,13 @@ SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4034 = // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetViewport // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetViewport_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetViewport_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetViewport+0x00 : sub esp, 0x08 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -138,21 +106,13 @@ SOOVPA<10> IDirect3DDevice8_SetViewport_1_0_4034 = // IDirect3DDevice8_SetViewport+0x9B : inc edx { 0x9B, 0x42 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTransform // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTransform_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTransform+0x44 : fld dword ptr [edx+0x28] { 0x44, 0xD9 }, // (Offset,Value)-Pair #1 { 0x45, 0x42 }, // (Offset,Value)-Pair #2 @@ -170,21 +130,12 @@ SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4034 = // IDirect3DDevice8_SetTransform+0x84 : fdivp st(1), st { 0x84, 0xDE }, // (Offset,Value)-Pair #9 { 0x85, 0xF9 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_CullMode // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetRenderState_CullMode_1_0_4034 = -{ - 0, // Large == 0 - 14, // Count == 14 - - XREF_DXSRSCULLMODE, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, 14, XREF_DXSRSCULLMODE, XRefZero) // IDirect3DDevice8_SetRenderState_CullMode+0x00 : push esi { 0x00, 0x56 }, // (Offset,Value)-Pair #1 @@ -208,21 +159,13 @@ SOOVPA<14> IDirect3DDevice8_SetRenderState_CullMode_1_0_4034 = { 0x54, 0xC2 }, // (Offset,Value)-Pair #12 { 0x55, 0x04 }, // (Offset,Value)-Pair #13 { 0x56, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginVisibilityTest // ****************************************************************** -SOOVPA<7> D3DDevice_BeginVisibilityTest_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0A, 0x46 }, { 0x13, 0xC7 }, @@ -230,21 +173,13 @@ SOOVPA<7> D3DDevice_BeginVisibilityTest_1_0_4034 = { 0x1C, 0x00 }, { 0x22, 0x48 }, { 0x28, 0x06 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** -SOOVPA<7> D3DDevice_EndVisibilityTest_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_EndVisibilityTest_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x16, 0x5E }, { 0x22, 0x07 }, @@ -252,21 +187,13 @@ SOOVPA<7> D3DDevice_EndVisibilityTest_1_0_4034 = { 0x3A, 0x81 }, { 0x46, 0x89 }, { 0x55, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CopyRects // ****************************************************************** -SOOVPA<8> D3DDevice_CopyRects_1_0_4034 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_CopyRects_1_0_4034, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x57 }, { 0x3E, 0xF6 }, { 0x5E, 0xEB }, @@ -275,21 +202,13 @@ SOOVPA<8> D3DDevice_CopyRects_1_0_4034 = { 0xBE, 0x24 }, { 0xDE, 0x22 }, { 0xFE, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeletePatch // ****************************************************************** -SOOVPA<7> D3DDevice_DeletePatch_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_DeletePatch_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x0D }, { 0x0C, 0xA1 }, { 0x13, 0x34 }, @@ -297,21 +216,13 @@ SOOVPA<7> D3DDevice_DeletePatch_1_0_4034 = { 0x21, 0x00 }, { 0x2A, 0x56 }, { 0x30, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVertices // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4034 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVertices_1_0_4034, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x46 }, // (Offset,Value)-Pair #2 @@ -330,21 +241,13 @@ SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4034 = { 0xF2, 0x18 }, // (Offset,Value)-Pair #9 { 0xF3, 0x46 }, // (Offset,Value)-Pair #10 { 0xF4, 0x3C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetStreamSource // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4034 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetStreamSource_1_0_4034, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04] { 0x08, 0x8B }, // (Offset,Value)-Pair #1 { 0x09, 0x7C }, // (Offset,Value)-Pair #2 @@ -368,21 +271,13 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4034 = // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_BorderColor // ****************************************************************** -SOOVPA<7> D3DDevice_SetTextureState_BorderColor_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x08 }, @@ -390,21 +285,13 @@ SOOVPA<7> D3DDevice_SetTextureState_BorderColor_1_0_4034 = { 0x26, 0x24 }, { 0x2E, 0x89 }, { 0x39, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor // ****************************************************************** -SOOVPA<7> D3DDevice_SetTextureState_ColorKeyColor_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x08 }, @@ -412,21 +299,13 @@ SOOVPA<7> D3DDevice_SetTextureState_ColorKeyColor_1_0_4034 = { 0x26, 0x04 }, { 0x2E, 0x07 }, { 0x36, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVertices // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4034 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVertices_1_0_4034, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVertices+0x12 : mov edi, [esp+0x0C+0x0C] { 0x12, 0x8B }, // (Offset,Value)-Pair #1 { 0x13, 0x7C }, // (Offset,Value)-Pair #2 @@ -446,21 +325,13 @@ SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4034 = // IDirect3DDevice8_DrawVertices+0x9C : retn 0x0C { 0x9C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x9D, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LoadVertexShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_LoadVertexShader_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x08] { 0x07, 0x8A }, // (Offset,Value)-Pair #1 { 0x08, 0x43 }, // (Offset,Value)-Pair #2 @@ -476,21 +347,13 @@ SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4034 = // IDirect3DDevice8_LoadVertexShader+0x4E : mov [ebx], ebx { 0x4E, 0x89 }, // (Offset,Value)-Pair #9 { 0x4F, 0x13 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DrawRectPatch // ****************************************************************** -SOOVPA<8> D3DDevice_DrawRectPatch_1_0_4034 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_DrawRectPatch_1_0_4034, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x6C }, { 0x3E, 0x3C }, { 0x5E, 0x54 }, @@ -499,21 +362,13 @@ SOOVPA<8> D3DDevice_DrawRectPatch_1_0_4034 = { 0xBE, 0xD9 }, { 0xDE, 0xD9 }, { 0xFE, 0x86 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetIndices // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4034 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetIndices_1_0_4034, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 @@ -532,21 +387,13 @@ SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4034 = { 0x77, 0xBE }, // (Offset,Value)-Pair #9 { 0x78, 0x04 }, // (Offset,Value)-Pair #10 { 0x79, 0x05 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_EdgeAntiAlias // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x72 }, { 0x13, 0x8B }, @@ -554,21 +401,13 @@ SOOVPA<7> D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034 = { 0x21, 0x48 }, { 0x28, 0x89 }, { 0x2F, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_FillMode // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_FillMode_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x13, 0x8B }, { 0x19, 0x8B }, @@ -576,21 +415,13 @@ SOOVPA<7> D3DDevice_SetRenderState_FillMode_1_0_4034 = { 0x2B, 0x8C }, { 0x34, 0x08 }, { 0x40, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_BackFillMode_1_0_4034 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode_1_0_4034, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x0B, 0xA3 }, { 0x14, 0x04 }, @@ -599,21 +430,13 @@ SOOVPA<8> D3DDevice_SetRenderState_BackFillMode_1_0_4034 = { 0x35, 0xC7 }, { 0x40, 0x08 }, { 0x4C, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_FogColor // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_FogColor_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x06 }, { 0x14, 0x8B }, { 0x1C, 0x0E }, @@ -621,42 +444,26 @@ SOOVPA<7> D3DDevice_SetRenderState_FogColor_1_0_4034 = { 0x30, 0x00 }, { 0x3A, 0x89 }, { 0x44, 0x0D }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_FrontFace // ****************************************************************** -SOOVPA<6> D3DDevice_SetRenderState_FrontFace_1_0_4034 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace_1_0_4034, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x08 }, { 0x1E, 0x48 }, { 0x2A, 0x89 }, { 0x30, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x3B }, { 0x14, 0x4C }, { 0x1F, 0x04 }, @@ -664,21 +471,13 @@ SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_4034 = { 0x35, 0xBC }, { 0x40, 0x89 }, { 0x4E, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x17, 0x8B }, { 0x23, 0x8B }, @@ -686,21 +485,13 @@ SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034 = { 0x38, 0xC1 }, { 0x40, 0x7C }, { 0x4B, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_MultiSampleMask_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x17, 0x8B }, { 0x23, 0x8B }, @@ -708,21 +499,13 @@ SOOVPA<7> D3DDevice_SetRenderState_MultiSampleMask_1_0_4034 = { 0x38, 0x83 }, { 0x40, 0x7C }, { 0x4B, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_NormalizeNormals // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_NormalizeNormals_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x08 }, @@ -730,21 +513,13 @@ SOOVPA<7> D3DDevice_SetRenderState_NormalizeNormals_1_0_4034 = { 0x26, 0x0D }, { 0x2E, 0x00 }, { 0x36, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_ShadowFunc // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_ShadowFunc_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x72 }, { 0x13, 0x8B }, @@ -752,21 +527,13 @@ SOOVPA<7> D3DDevice_SetRenderState_ShadowFunc_1_0_4034 = { 0x21, 0xFF }, { 0x28, 0x08 }, { 0x31, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Simple // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4034 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Simple_1_0_4034, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08 { 0x05, 0x83 }, // (Offset,Value)-Pair #1 { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 @@ -789,21 +556,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4034 = // IDirect3DDevice8_SetRenderState_Simple+0x25 : jmp +0xD9 { 0x25, 0xEB }, // (Offset,Value)-Pair #12 { 0x26, 0xD9 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_StencilEnable // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_StencilEnable_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x13, 0x8B }, { 0x20, 0x02 }, { 0x34, 0x85 }, @@ -811,21 +570,13 @@ SOOVPA<7> D3DDevice_SetRenderState_StencilEnable_1_0_4034 = { 0x53, 0x89 }, { 0x64, 0x00 }, { 0x75, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_StencilFail // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_StencilFail_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0C, 0x72 }, { 0x1A, 0xC9 }, { 0x2A, 0x85 }, @@ -833,21 +584,13 @@ SOOVPA<7> D3DDevice_SetRenderState_StencilFail_1_0_4034 = { 0x44, 0x83 }, { 0x52, 0x24 }, { 0x60, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_YuvEnable // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_YuvEnable_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_YuvEnable_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x56 }, { 0x0B, 0xA3 }, { 0x10, 0x8B }, @@ -855,21 +598,13 @@ SOOVPA<7> D3DDevice_SetRenderState_YuvEnable_1_0_4034 = { 0x1C, 0x8B }, { 0x25, 0x89 }, { 0x28, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x18, 0x15 }, { 0x25, 0x46 }, @@ -877,21 +612,13 @@ SOOVPA<7> D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034 = { 0x43, 0x75 }, { 0x4C, 0x00 }, { 0x59, 0x3D }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_VertexBlend // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0xCA }, { 0x13, 0x89 }, { 0x19, 0x8B }, @@ -899,21 +626,13 @@ SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_4034 = { 0x2B, 0x28 }, { 0x34, 0x08 }, { 0x3D, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_CheckDeviceFormat // ****************************************************************** -SOOVPA<7> Direct3D_CheckDeviceFormat_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(Direct3D_CheckDeviceFormat_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x18 }, { 0x1E, 0x00 }, { 0x2E, 0x42 }, @@ -921,21 +640,13 @@ SOOVPA<7> Direct3D_CheckDeviceFormat_1_0_4034 = { 0x4E, 0x74 }, { 0x5E, 0x08 }, { 0x6E, 0x3C }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_SetPushBufferSize // ****************************************************************** -SOOVPA<7> Direct3D_SetPushBufferSize_1_0_4034 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(Direct3D_SetPushBufferSize_1_0_4034, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x07, 0x08 }, @@ -943,21 +654,13 @@ SOOVPA<7> Direct3D_SetPushBufferSize_1_0_4034 = { 0x0E, 0x0D }, { 0x13, 0xC2 }, { 0x14, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -/*SOOVPA<10> Get2DSurfaceDesc_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +/*OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -974,20 +677,14 @@ SOOVPA<7> Direct3D_SetPushBufferSize_1_0_4034 = { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 } -};*/ +OOVPA_END; +*/ // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1008,21 +705,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034 = // IDirect3DDevice8_SetRenderState_ZEnable+0x98 : retn 0x04 { 0x98, 0xC2 }, // (Offset,Value)-Pair #12 { 0x99, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4034 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_4034, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x050C] { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 { 0x10, 0x9E }, // (Offset,Value)-Pair #2 @@ -1045,21 +734,13 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4034 = // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x04E8] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x86 }, // (Offset,Value)-Pair #2 @@ -1076,21 +757,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034 = // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -1106,21 +779,12 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_4034 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Clear // ****************************************************************** -LOOVPA<9> IDirect3DDevice8_Clear_1_0_4034 = -{ - 1, // Large == 1 - 9, // Count == 9 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF_LARGE(IDirect3DDevice8_Clear_1_0_4034, 9) // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 @@ -1135,21 +799,13 @@ LOOVPA<9> IDirect3DDevice8_Clear_1_0_4034 = // IDirect3DDevice8_Clear+0x0399 : retn 0x18 { 0x0399, 0xC2 }, // (Offset,Value)-Pair #8 { 0x039A, 0x18 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetLight // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4034 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetLight_1_0_4034, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x50C] { 0x11, 0x8B }, // (Offset,Value)-Pair #1 { 0x12, 0xBD }, // (Offset,Value)-Pair #2 @@ -1169,21 +825,13 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4034 = { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_Lock // ****************************************************************** -SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4034 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock_1_0_4034, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] { 0x01, 0x8A }, // (Offset,Value)-Pair #1 { 0x02, 0x5C }, // (Offset,Value)-Pair #2 @@ -1202,21 +850,13 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4034 = // IDirect3DVertexBuffer8_Lock+0x50 : retn 0x14 { 0x50, 0xC2 }, // (Offset,Value)-Pair #10 { 0x51, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTexture // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTexture_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTexture+0x09 : push edi { 0x09, 0x57 }, // (Offset,Value)-Pair #1 @@ -1236,21 +876,13 @@ SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4034 = // IDirect3DDevice8_SetTexture+0xC9 : jz +0x4D { 0xC9, 0x74 }, // (Offset,Value)-Pair #9 { 0xCA, 0x4D }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPalette // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4034 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetPalette_1_0_4034, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0C08] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 @@ -1268,21 +900,13 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4034 = // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TexCoordIndex // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07 { 0x13, 0xC1 }, // (Offset,Value)-Pair #1 { 0x14, 0xE0 }, // (Offset,Value)-Pair #2 @@ -1300,21 +924,13 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034 = { 0xB4, 0xC1 }, // (Offset,Value)-Pair #8 { 0xB5, 0xE2 }, // (Offset,Value)-Pair #9 { 0xB6, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4034 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_4034, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0B70 { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 @@ -1334,21 +950,13 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4034 = // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShader // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4034 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShader_1_0_4034, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 @@ -1370,21 +978,13 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4034 = { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** -SOOVPA<11> D3DDevice_Swap_1_0_4034 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(D3DDevice_Swap_1_0_4034, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 { 0x10, 0xBB }, // (Offset,Value)-Pair #1 { 0x11, 0x05 }, // (Offset,Value)-Pair #2 @@ -1403,21 +1003,13 @@ SOOVPA<11> D3DDevice_Swap_1_0_4034 = // IDirect3DDevice8_Swap+0xB0 : retn 4 { 0xB0, 0xC2 }, // (Offset,Value)-Pair #10 { 0xB1, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_KickOffAndWaitForIdle // ****************************************************************** -SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_4034 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3D8_KickOffAndWaitForIdle_1_0_4034, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -1438,21 +1030,13 @@ SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_4034 = // IDirect3D8_KickOffAndWaitForIdle+0x10 : retn { 0x10, 0xC3 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateImageSurface // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4034 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_CreateImageSurface_1_0_4034, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18 { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 { 0x2B, 0x18 }, // (Offset,Value)-Pair #2 @@ -1469,21 +1053,13 @@ SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4034 = // IDirect3DDevice8_CreateImageSurface+0x61 : retn 0x10 { 0x61, 0xC2 }, // (Offset,Value)-Pair #8 { 0x62, 0x10 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4034 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer_1_0_4034, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -1503,1276 +1079,283 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4034 = { 0x1F, 0x81 }, // (Offset,Value)-Pair #10 { 0x20, 0xFC }, // (Offset,Value)-Pair #11 { 0x21, 0x21 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_4034 // ****************************************************************** -OOVPATable D3D8_1_0_4034[] = -{ +OOVPATable D3D8_1_0_4034[] = { + // IDirect3D8::CreateDevice (* unchanged since 1.0.3925 *) - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_3925, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_3925, XTL::EmuIDirect3D8_CreateDevice), // IDirect3DDevice8::Clear - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_4034, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DResource8::Register - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DDevice8::CreatePalette - { - (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette" - #endif - }, - - // ********************** BEG WARNING UNTESTED!!! ******************* + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_4034, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DResource8::Register + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DDevice8::CreatePalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePalette_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePalette), + // ********************** BEG WARNING UNTESTED!!! ******************* #if 0 // IDirect3DDevice8::BeginVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_3925, - - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // IDirect3DDevice8::EndVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_3925, - - XTL::EmuIDirect3DDevice8_EndVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndVisibilityTest" - #endif - }, - // IDirect3DDevice8::LoadVertexShader - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::SelectVertexShader - { - (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, - // IDirect3DDevice8::Release - { - (OOVPA*)&IDirect3DDevice8_Release_1_0_3925, - - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Release" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, - // IDirect3DDevice8::SetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::GetTransform - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::SetStreamSource - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetViewport - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::SetTexture - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_3925, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::Begin - { - (OOVPA*)&IDirect3DDevice8_Begin_1_0_3925, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, - // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, - // IDirect3DDevice8::SetVertexDataColor - { - (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexDataColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexDataColor" - #endif - }, - // IDirect3DDevice8::End - { - (OOVPA*)&IDirect3DDevice8_End_1_0_3925, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::Clear - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_3925, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant" - #endif - }, - // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, - // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_PSTextureModes - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_PSTextureModes" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode - /*{ - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - },*/ - // IDirect3DDevice8::SetRenderState_Simple - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::Present - { - (OOVPA*)&IDirect3DDevice8_Present_1_0_3925, - - XTL::EmuIDirect3DDevice8_Present, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Present" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DDevice8::GetBackBuffer - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface" - #endif - }, - // IDirect3DVertexBuffer8::Lock - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_3925, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - }, - // IDirect3DResource8::IsBusy - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_3925, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // Get2DSurfacDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_3925, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, - - // ********************** END WARNING UNTESTED!!! ******************* + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginVisibilityTest_1_0_3925, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // IDirect3DDevice8::EndVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndVisibilityTest_1_0_3925, XTL::EmuIDirect3DDevice8_EndVisibilityTest), + // IDirect3DDevice8::LoadVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::SelectVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SelectVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_SelectVertexShader), + // IDirect3DDevice8::Release + OOVPA_TABLE_PATCH(IDirect3DDevice8_Release_1_0_3925, XTL::EmuIDirect3DDevice8_Release), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::SetVerticalBlankCallback + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // IDirect3DDevice8::SetRenderTarget + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::GetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_3925, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::SetStreamSource + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_3925, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::SetPixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::SetIndices + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_3925, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_3925, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::SetTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_3925, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_3925, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::Begin + OOVPA_TABLE_PATCH(IDirect3DDevice8_Begin_1_0_3925, XTL::EmuIDirect3DDevice8_Begin), + // IDirect3DDevice8::SetVertexData2f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::SetVertexData4f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData4f_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData4f), + // IDirect3DDevice8::SetVertexDataColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexDataColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexDataColor), + // IDirect3DDevice8::End + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_3925, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::Clear + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_3925, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::SetPalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_3925, XTL::EmuIDirect3DDevice8_SetPalette), + // IDirect3DDevice8::SetVertexShaderConstant + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant), + // IDirect3DDevice8::SetFlickerFilter + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_3925, XTL::EmuIDirect3DDevice8_SetFlickerFilter), + // IDirect3DDevice8::SetSoftDisplayFilter + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), + // IDirect3DDevice8::SetTextureState_TexCoordIndex + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetTextureState_BorderColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetRenderState_PSTextureModes + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes), + // IDirect3DDevice8::SetRenderState_StencilFail + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // IDirect3DDevice8::SetRenderState_CullMode + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + */ + // IDirect3DDevice8::SetRenderState_Simple + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_FogColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_FillMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_StencilEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::Present + OOVPA_TABLE_PATCH(IDirect3DDevice8_Present_1_0_3925, XTL::EmuIDirect3DDevice8_Present), + // IDirect3DDevice8::SetShaderConstantMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DDevice8::GetBackBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_GetBackBuffer), + // IDirect3DDevice8::GetDepthStencilSurface + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface_1_0_3925, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface), + // IDirect3DVertexBuffer8::Lock + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_3925, XTL::EmuIDirect3DVertexBuffer8_Lock), + // IDirect3DResource8::IsBusy + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_3925, XTL::EmuIDirect3DResource8_IsBusy), + // Get2DSurfacDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_3925, XTL::EmuGet2DSurfaceDesc), + // ********************** END WARNING UNTESTED!!! ******************* #endif // IDirect3DDevice8::GetGammaRamp - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), // IDirect3DDevice8::GetCreationParameters - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), // IDirect3DDevice8::GetViewport - { - (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetViewport_1_0_4034, XTL::EmuIDirect3DDevice8_GetViewport), // IDirect3DDevice8::SetViewport - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_4034, XTL::EmuIDirect3DDevice8_SetViewport), // IDirect3DDevice8::SetTransform - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_4034, XTL::EmuIDirect3DDevice8_SetTransform), // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePixelShader), // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), // IDirect3DDevice8::SetRenderState_CullMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), // IDirect3DDevice8::CreateCubeTexture (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateCubeTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateCubeTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateCubeTexture" - #endif - }, - // IDirect3DDevice8::GetDeviceCaps (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateCubeTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateCubeTexture), + // IDirect3DDevice8::GetDeviceCaps (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), // IDirect3DDevice8::CreatePalette (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette" - #endif - }, - // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture" - #endif - }, - // IDirect3DDevice8::CreateVolumeTexture (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVolumeTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVolumeTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVolumeTexture" - #endif - }, - // IDirect3DDevice8::CreateIndexBuffer (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer" - #endif - }, - // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer" - #endif - }, - // IDirect3DResource8::Release (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::AddRef (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DPalette8::Lock (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, - - XTL::EmuIDirect3DPalette8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock" - #endif - }, - // IDirect3DTexture8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // IDirect3DVolumeTexture8::LockBox (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_3925, - - XTL::EmuIDirect3DVolumeTexture8_LockBox, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVolumeTexture8_LockBox" - #endif - }, - // IDirect3DCubeTexture8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DCubeTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_LockRect" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel" - #endif - }, - // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, - // Lock2DSurface (* unchanged since 3925 *) - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, - // IDirect3DDevice8_SetGammaRamp (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_3925, - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "IDirect3DDevice8_SetGammaRamp" - #endif - }, - // IDirect3DDevice8::DrawVertices - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4034, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4034, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // D3DDevice_BeginVisibilityTest - { - (OOVPA*)&D3DDevice_BeginVisibilityTest_1_0_4034, - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // D3DDevice_EndVisibilityTest - { - (OOVPA*)&D3DDevice_EndVisibilityTest_1_0_4034, - XTL::EmuIDirect3DDevice8_EndVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndVisibilityTest" - #endif - }, - // D3DDevice_CopyRects - { - (OOVPA*)&D3DDevice_CopyRects_1_0_4034, - XTL::EmuIDirect3DDevice8_CopyRects, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CopyRects" - #endif - }, - // D3DDevice_DeletePatch (TODO) - /*{ - (OOVPA*)&D3DDevice_DeletePatch_1_0_4034, - XTL::EmuIDirect3DDevice8_DeletePatch, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePatch" - #endif - },*/ - // D3DDevice_SetStreamSource - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4034, - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // D3DDevice_SetTextureState_BorderColor - { - (OOVPA*)&D3DDevice_SetTextureState_BorderColor_1_0_4034, - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // D3DDevice_SetTextureState_ColorKeyColor - { - (OOVPA*)&D3DDevice_SetTextureState_ColorKeyColor_1_0_4034, - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, - // D3DDevice_LoadVertexShader - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4034, - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVisibilityTestResult" - #endif - }, - // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, - // D3DDevice_DrawRectPatch - { - (OOVPA*)&D3DDevice_DrawRectPatch_1_0_4034, - XTL::EmuIDirect3DDevice8_DrawRectPatch, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawRectPatch" - #endif - }, - // D3DDevice_SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4034, - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // D3DDevice_SetRenderState_EdgeAntiAlias - { - (OOVPA*)&D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // D3DDevice_SetRenderState_FillMode - { - (OOVPA*)&D3DDevice_SetRenderState_FillMode_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // D3DDevice_SetRenderState_BackFillMode - { - (OOVPA*)&D3DDevice_SetRenderState_BackFillMode_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, - // D3DDevice_SetRenderState_FogColor - { - (OOVPA*)&D3DDevice_SetRenderState_FogColor_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // D3DDevice_SetRenderState_FrontFace - { - (OOVPA*)&D3DDevice_SetRenderState_FrontFace_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, - // D3DDevice_SetRenderState_LogicOp - { - (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, - // D3DDevice_SetRenderState_MultiSampleAntiAlias - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // D3DDevice_SetRenderState_MultiSampleMask - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, - // D3DDevice_SetRenderState_NormalizeNormals - { - (OOVPA*)&D3DDevice_SetRenderState_NormalizeNormals_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, - // D3DDevice_SetRenderState_ShadowFunc - { - (OOVPA*)&D3DDevice_SetRenderState_ShadowFunc_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // D3DDevice_SetRenderState_Simple - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // D3DDevice_SetRenderState_StencilEnable - { - (OOVPA*)&D3DDevice_SetRenderState_StencilEnable_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // D3DDevice_SetRenderState_StencilFail - { - (OOVPA*)&D3DDevice_SetRenderState_StencilFail_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // D3DDevice_SetRenderState_YuvEnable - { - (OOVPA*)&D3DDevice_SetRenderState_YuvEnable_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // D3DDevice_SetRenderState_TwoSidedLighting - { - (OOVPA*)&D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034, - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" - #endif - }, - // D3DDevice_SetRenderState_VertexBlend - { - (OOVPA*)&D3DDevice_SetRenderState_VertexBlend_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // IDirect3D8_CheckDeviceFormat - { - (OOVPA*)&Direct3D_CheckDeviceFormat_1_0_4034, - XTL::EmuIDirect3D8_CheckDeviceFormat, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CheckDeviceFormat" - #endif - }, - // IDirect3D8_SetPushBufferSize - { - (OOVPA*)&Direct3D_SetPushBufferSize_1_0_4034, - XTL::EmuIDirect3D8_SetPushBufferSize, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_SetPushBufferSize" - #endif - }, - // Get2DSurfacDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_4034, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePalette_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePalette), + // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateTexture), + // IDirect3DDevice8::CreateVolumeTexture (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVolumeTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVolumeTexture), + // IDirect3DDevice8::CreateIndexBuffer (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateIndexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateIndexBuffer), + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexBuffer), + // IDirect3DResource8::Release (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DPalette8::Lock (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock_1_0_3925, XTL::EmuIDirect3DPalette8_Lock), + // IDirect3DTexture8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DTexture8_LockRect), + // IDirect3DVolumeTexture8::LockBox (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DVolumeTexture8_LockBox_1_0_3925, XTL::EmuIDirect3DVolumeTexture8_LockBox), + // IDirect3DCubeTexture8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DCubeTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DCubeTexture8_LockRect), // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel" - #endif - }, - // D3DDevice_SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // D3DDevice_LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4034, - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, - // D3DDevice_SetRenderState_TextureFactor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034, - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // Direct3D_GetAdapterIdentifier (* unchanged since 3925 *) - { - (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, - XTL::EmuIDirect3D8_GetAdapterIdentifier, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_GetAdapterIdentifier" - #endif - }, - // IDirect3DSurface8::GetDesc (* unchanged since 3925 *) - { - (OOVPA*)&D3DSurface_GetDesc_1_0_3925, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel_1_0_3925, XTL::EmuIDirect3DTexture8_GetSurfaceLevel), + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), + // Lock2DSurface (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), + // IDirect3DDevice8_SetGammaRamp (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_3925, XTL::EmuIDirect3DDevice8_SetGammaRamp), + // IDirect3DDevice8::DrawVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_4034, XTL::EmuIDirect3DDevice8_DrawVertices), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_4034, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // D3DDevice_BeginVisibilityTest + OOVPA_TABLE_PATCH(D3DDevice_BeginVisibilityTest_1_0_4034, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // D3DDevice_EndVisibilityTest + OOVPA_TABLE_PATCH(D3DDevice_EndVisibilityTest_1_0_4034, XTL::EmuIDirect3DDevice8_EndVisibilityTest), + // D3DDevice_CopyRects + OOVPA_TABLE_PATCH(D3DDevice_CopyRects_1_0_4034, XTL::EmuIDirect3DDevice8_CopyRects), + // D3DDevice_DeletePatch (TODO) + /* + OOVPA_TABLE_PATCH(D3DDevice_DeletePatch_1_0_4034, XTL::EmuIDirect3DDevice8_DeletePatch), + */ + // D3DDevice_SetStreamSource + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4034, XTL::EmuIDirect3DDevice8_SetStreamSource), + // D3DDevice_SetTextureState_BorderColor + OOVPA_TABLE_PATCH(D3DDevice_SetTextureState_BorderColor_1_0_4034, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // D3DDevice_SetTextureState_ColorKeyColor + OOVPA_TABLE_PATCH(D3DDevice_SetTextureState_ColorKeyColor_1_0_4034, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), + // D3DDevice_LoadVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_4034, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, XTL::EmuIDirect3DDevice8_GetVisibilityTestResult), + // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteVertexShader), + // D3DDevice_DrawRectPatch + OOVPA_TABLE_PATCH(D3DDevice_DrawRectPatch_1_0_4034, XTL::EmuIDirect3DDevice8_DrawRectPatch), + // D3DDevice_SetIndices + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_4034, XTL::EmuIDirect3DDevice8_SetIndices), + // D3DDevice_SetRenderState_EdgeAntiAlias + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_EdgeAntiAlias_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // D3DDevice_SetRenderState_FillMode + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_FillMode_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // D3DDevice_SetRenderState_BackFillMode + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_BackFillMode_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), + // D3DDevice_SetRenderState_FogColor + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_FogColor_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // D3DDevice_SetRenderState_FrontFace + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_FrontFace_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), + // D3DDevice_SetRenderState_LogicOp + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LogicOp_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), + // D3DDevice_SetRenderState_MultiSampleAntiAlias + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // D3DDevice_SetRenderState_MultiSampleMask + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMask_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), + // D3DDevice_SetRenderState_NormalizeNormals + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_NormalizeNormals_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // D3DDevice_SetRenderState_ShadowFunc + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_ShadowFunc_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // D3DDevice_SetRenderState_Simple + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // D3DDevice_SetRenderState_StencilEnable + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_StencilEnable_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // D3DDevice_SetRenderState_StencilFail + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_StencilFail_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // D3DDevice_SetRenderState_YuvEnable + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_YuvEnable_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // D3DDevice_SetRenderState_TwoSidedLighting + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_TwoSidedLighting_1_0_4034, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), + // D3DDevice_SetRenderState_VertexBlend + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_VertexBlend_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // IDirect3D8_CheckDeviceFormat + OOVPA_TABLE_PATCH(Direct3D_CheckDeviceFormat_1_0_4034, XTL::EmuIDirect3D8_CheckDeviceFormat), + // IDirect3D8_SetPushBufferSize + OOVPA_TABLE_PATCH(Direct3D_SetPushBufferSize_1_0_4034, XTL::EmuIDirect3D8_SetPushBufferSize), // Get2DSurfacDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_4034, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_4034, XTL::EmuGet2DSurfaceDesc), + // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel_1_0_3925, XTL::EmuIDirect3DTexture8_GetSurfaceLevel), + // D3DDevice_SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // D3DDevice_LightEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_4034, XTL::EmuIDirect3DDevice8_LightEnable), + // D3DDevice_SetRenderState_TextureFactor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // Direct3D_GetAdapterIdentifier (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(Direct3D_GetAdapterIdentifier_1_0_3925, XTL::EmuIDirect3D8_GetAdapterIdentifier), + // IDirect3DSurface8::GetDesc (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(D3DSurface_GetDesc_1_0_3925, XTL::EmuIDirect3DSurface8_GetDesc), + // Get2DSurfacDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_4034, XTL::EmuGet2DSurfaceDesc), // IDirect3DDevice8::SetLight - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_4034, XTL::EmuIDirect3DDevice8_SetLight), // IDirect3DVertexBuffer8::Lock - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4034, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_4034, XTL::EmuIDirect3DVertexBuffer8_Lock), // IDirect3DDevice8::SetTexture - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_4034, XTL::EmuIDirect3DDevice8_SetTexture), // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_4034, XTL::EmuIDirect3DDevice8_SetPalette), // IDirect3DDevice8::SetRenderState_TexCoordIndex - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4034, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_4034, XTL::EmuIDirect3DDevice8_SetMaterial), // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_4034, XTL::EmuIDirect3DDevice8_SetVertexShader), // IDirect3DDevice8::Swap - { - (OOVPA*)&D3DDevice_Swap_1_0_4034, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_Swap_1_0_4034, XTL::EmuIDirect3DDevice8_Swap), // IDirect3D8::KickOffAndWaitForIdle - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_4034, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), // IDirect3DDevice8::CreateImageSurface (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_CreateImageSurface_1_0_4034, - - XTL::EmuIDirect3DDevice8_CreateImageSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateImageSurface" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateImageSurface_1_0_4034, XTL::EmuIDirect3DDevice8_CreateImageSurface), // IDirect3DDevice8::GetBackBuffer - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer_1_0_4034, XTL::EmuIDirect3DDevice8_GetBackBuffer), // D3DDevice_ - /*{ - (OOVPA*)&D3DDevice__1_0_4034, - XTL::EmuIDirect3DDevice8_, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_" - #endif - }, + /* + OOVPA_TABLE_PATCH(D3DDevice__1_0_4034, XTL::EmuIDirect3DDevice8_), // D3DDevice_ - { - (OOVPA*)&D3DDevice__1_0_4034, - XTL::EmuIDirect3DDevice8_, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice__1_0_4034, XTL::EmuIDirect3DDevice8_), // D3DDevice_ - { - (OOVPA*)&D3DDevice__1_0_4034, - XTL::EmuIDirect3DDevice8_, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_" - #endif - },*/ + OOVPA_TABLE_PATCH(D3DDevice__1_0_4034, XTL::EmuIDirect3DDevice8_), + */ }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 84bba9daa..84c9d5534 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TexCoordIndex // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07 { 0x13, 0xC1 }, // (Offset,Value)-Pair #1 { 0x14, 0xE0 }, // (Offset,Value)-Pair #2 @@ -61,21 +54,13 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134 = { 0xB4, 0xC1 }, // (Offset,Value)-Pair #8 { 0xB5, 0xE2 }, // (Offset,Value)-Pair #9 { 0xB6, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTransform // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTransform_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTransform+0x16 : lea edi, [ecx+ebx+0x750] { 0x16, 0x8D }, // (Offset,Value)-Pair #1 { 0x17, 0xBC }, // (Offset,Value)-Pair #2 @@ -93,21 +78,13 @@ SOOVPA<10> IDirect3DDevice8_SetTransform_1_0_4134 = // IDirect3DDevice8_SetTransform+0x92 : jmp +0x10 { 0x92, 0xEB }, // (Offset,Value)-Pair #9 { 0x93, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_CheckDeviceFormat // ****************************************************************** -SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CheckDeviceFormat_1_0_4134, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CheckDeviceFormat+0x0D : retn 0x18 { 0x0D, 0xC2 }, // (Offset,Value)-Pair #1 { 0x0E, 0x18 }, // (Offset,Value)-Pair #2 @@ -123,21 +100,13 @@ SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4134 = // IDirect3D8_CheckDeviceFormat+0x61 : retn 0x18 { 0x61, 0xC2 }, // (Offset,Value)-Pair #7 { 0x62, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_GetAdapterModeCount // ****************************************************************** -SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3D8_GetAdapterModeCount_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_GetAdapterModeCount+0x25 : add edx, 0xFF { 0x25, 0x81 }, // (Offset,Value)-Pair #1 { 0x26, 0xE2 }, // (Offset,Value)-Pair #2 @@ -157,21 +126,13 @@ SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4134 = { 0x99, 0x83 }, // (Offset,Value)-Pair #10 { 0x9A, 0xC4 }, // (Offset,Value)-Pair #11 { 0x9B, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_EnumAdapterModes // ****************************************************************** -SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3D8_EnumAdapterModes_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_EnumAdapterModes+0x00 : sub esp, 0x08 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -187,21 +148,13 @@ SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4134 = { 0xF6, 0x47 }, // (Offset,Value)-Pair #8 { 0xF7, 0x10 }, // (Offset,Value)-Pair #9 { 0xF8, 0x1E }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LoadVertexShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_LoadVertexShader_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_LoadVertexShader+0x07 : mov al, [ebx+0x08] { 0x07, 0x8A }, // (Offset,Value)-Pair #1 { 0x08, 0x43 }, // (Offset,Value)-Pair #2 @@ -217,21 +170,13 @@ SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_4134 = // IDirect3DDevice8_LoadVertexShader+0x4E : mov [ebx], ebx { 0x4E, 0x89 }, // (Offset,Value)-Pair #9 { 0x4F, 0x13 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FogColor // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_FogColor+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -249,21 +194,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_4134 = // IDirect3DDevice8_SetRenderState_FogColor+0x40 : mov [esi], eax { 0x40, 0x89 }, // (Offset,Value)-Pair #9 { 0x41, 0x06 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Swap_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 { 0x10, 0xBB }, // (Offset,Value)-Pair #1 { 0x11, 0x05 }, // (Offset,Value)-Pair #2 @@ -282,21 +219,12 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4134 = // IDirect3DDevice8_Swap+0xAE : retn 4 { 0xAE, 0xC2 }, // (Offset,Value)-Pair #10 { 0xAF, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Clear // ****************************************************************** -LOOVPA<9> IDirect3DDevice8_Clear_1_0_4134 = -{ - 1, // Large == 1 - 9, // Count == 9 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF_LARGE(IDirect3DDevice8_Clear_1_0_4134, 9) // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 @@ -311,21 +239,13 @@ LOOVPA<9> IDirect3DDevice8_Clear_1_0_4134 = // IDirect3DDevice8_Clear+0x0399 : retn 0x18 { 0x0399, 0xC2 }, // (Offset,Value)-Pair #8 { 0x039A, 0x18 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -345,21 +265,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer_1_0_4134 = { 0x1F, 0x81 }, // (Offset,Value)-Pair #10 { 0x20, 0x7C }, // (Offset,Value)-Pair #11 { 0x21, 0x20 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDepthStencilSurface // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_GetDepthStencilSurface_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_GetDepthStencilSurface_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -376,21 +288,13 @@ SOOVPA<9> IDirect3DDevice8_GetDepthStencilSurface_1_0_4134 = // IDirect3DDevice8_GetDepthStencilSurface+0x1D : retn 0x04 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #8 { 0x1E, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderTarget // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderTarget_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderTarget_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderTarget+0x00 : sub esp, 0x3C { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -407,21 +311,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderTarget_1_0_4134 = { 0x79, 0xC1 }, // (Offset,Value)-Pair #7 { 0x7A, 0xE9 }, // (Offset,Value)-Pair #8 { 0x7B, 0x14 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SelectVertexShader // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SelectVertexShader_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SelectVertexShader+0x13 : mov [esi+0x384], eax { 0x13, 0x89 }, // (Offset,Value)-Pair #1 { 0x14, 0x86 }, // (Offset,Value)-Pair #2 @@ -438,21 +334,13 @@ SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4134 = // IDirect3DDevice8_SelectVertexShader+0x55 : mov [esi], eax { 0x55, 0x89 }, // (Offset,Value)-Pair #10 { 0x56, 0x06 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CopyRects // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_CopyRects_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CopyRects+0x00 : sub esp, 0x01A0 { 0x00, 0x81 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -468,21 +356,13 @@ SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4134 = // IDirect3DDevice8_CopyRects+0xDD : jnz +0x22 { 0xDD, 0x75 }, // (Offset,Value)-Pair #9 { 0xDE, 0x22 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateImageSurface // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_CreateImageSurface_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18 { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 { 0x2B, 0x18 }, // (Offset,Value)-Pair #2 @@ -499,21 +379,13 @@ SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4134 = // IDirect3DDevice8_CreateImageSurface+0x61 : retn 0x10 { 0x61, 0xC2 }, // (Offset,Value)-Pair #8 { 0x62, 0x10 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x08] { 0x11, 0x8A }, // (Offset,Value)-Pair #1 { 0x12, 0x4B }, // (Offset,Value)-Pair #2 @@ -531,21 +403,13 @@ SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4134 = // IDirect3DDevice8_SetVertexShaderConstant+0x98 : retn 0x0C { 0x98, 0xC2 }, // (Offset,Value)-Pair #9 { 0x99, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0370] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0xB3 }, // (Offset,Value)-Pair #2 @@ -564,21 +428,13 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4134 = { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_BumpEnv // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03 { 0x18, 0x75 }, // (Offset,Value)-Pair #1 { 0x19, 0x03 }, // (Offset,Value)-Pair #2 @@ -598,21 +454,13 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134 = { 0x50, 0xC1 }, // (Offset,Value)-Pair #10 { 0x51, 0xE6 }, // (Offset,Value)-Pair #11 { 0x52, 0x05 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetIndices // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetIndices_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 @@ -631,21 +479,13 @@ SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4134 = { 0x77, 0xBE }, // (Offset,Value)-Pair #9 { 0x78, 0x8C }, // (Offset,Value)-Pair #10 { 0x79, 0x03 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_VertexBlend // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_VertexBlend+0x06 : or edx, 0x200 { 0x06, 0x81 }, // (Offset,Value)-Pair #1 { 0x07, 0xCA }, // (Offset,Value)-Pair #2 @@ -664,21 +504,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134 = // IDirect3DDevice8_SetRenderState_VertexBlend+0x3E : retn 0x04 { 0x3E, 0xC2 }, // (Offset,Value)-Pair #10 { 0x3F, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0370] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x86 }, // (Offset,Value)-Pair #2 @@ -695,21 +527,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134 = // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_EdgeAntiAlias // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -727,21 +551,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134 = // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x2F : retn 0x04 { 0x2F, 0xC2 }, // (Offset,Value)-Pair #9 { 0x30, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -762,20 +578,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134 = // IDirect3DDevice8_SetRenderState_ZEnable+0x98 : retn 0x04 { 0x98, 0xC2 }, // (Offset,Value)-Pair #12 { 0x99, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilEnable // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - { // IDirect3DDevice8_SetRenderState_StencilEnable+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -794,21 +603,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134 = // IDirect3DDevice8_SetRenderState_StencilEnable+0x81 : retn 0x04 { 0x81, 0xC2 }, // (Offset,Value)-Pair #10 { 0x82, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi { 0x04, 0x56 }, // (Offset,Value)-Pair #1 @@ -832,21 +633,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134 = // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x4F : retn 0x04 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x50, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetTransform // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetTransform_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetTransform+0x0A : shl ecx, 0x06 { 0x0A, 0xC1 }, // (Offset,Value)-Pair #1 { 0x0B, 0xE1 }, // (Offset,Value)-Pair #2 @@ -868,21 +661,13 @@ SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4134 = // IDirect3DDevice8_GetTransform+0x22 : retn 0x08 { 0x22, 0xC2 }, // (Offset,Value)-Pair #11 { 0x23, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetStreamSource // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4134 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetStreamSource_1_0_4134, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04] { 0x08, 0x8B }, // (Offset,Value)-Pair #1 { 0x09, 0x7C }, // (Offset,Value)-Pair #2 @@ -906,21 +691,13 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4134 = // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShader // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4134 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShader_1_0_4134, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 @@ -942,21 +719,13 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4134 = { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVerticesUP // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVerticesUP_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -972,21 +741,13 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4134 = { 0xC1, 0x81 }, // (Offset,Value)-Pair #8 { 0xC2, 0xFE }, // (Offset,Value)-Pair #9 { 0xC3, 0x80 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetLight // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetLight_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x394] { 0x11, 0x8B }, // (Offset,Value)-Pair #1 { 0x12, 0xBD }, // (Offset,Value)-Pair #2 @@ -1006,21 +767,13 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4134 = { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0940 { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 @@ -1040,21 +793,13 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4134 = // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0394] { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 { 0x10, 0x9E }, // (Offset,Value)-Pair #2 @@ -1077,21 +822,13 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4134 = // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DSurface8_GetDesc // ****************************************************************** -SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4134 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_NO_XREF(IDirect3DSurface8_GetDesc_1_0_4134, 15) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DSurface8_GetDesc+0x00 : mov eax, [esp+0x08] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1120,21 +857,13 @@ SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4134 = // IDirect3DSurface8_GetDesc+0x11 : retn 0x08 { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 { 0x12, 0x08 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_NormalizeNormals // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1148,21 +877,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134 = // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x36 : retn 0x04 { 0x36, 0xC2 }, // (Offset,Value)-Pair #7 { 0x37, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -1178,21 +899,13 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_4134 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Reset // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_Reset_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_Reset_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Reset+0x15 : mov ecx, ebp { 0x15, 0x8B }, // (Offset,Value)-Pair #1 { 0x16, 0xCD }, // (Offset,Value)-Pair #2 @@ -1210,21 +923,13 @@ SOOVPA<10> IDirect3DDevice8_Reset_1_0_4134 = // IDirect3DDevice8_Reset+0x37 : jge +0x10 { 0x37, 0x7D }, // (Offset,Value)-Pair #9 { 0x38, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TwoSidedLighting // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x11 : or edx, 0x1000 { 0x11, 0x81 }, // (Offset,Value)-Pair #1 { 0x12, 0xCA }, // (Offset,Value)-Pair #2 @@ -1245,21 +950,13 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134 = // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x60 : retn 0x04 { 0x60, 0xC2 }, // (Offset,Value)-Pair #12 { 0x61, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_BackFillMode // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_BackFillMode+0x1C : jb +0x05 { 0x1C, 0x72 }, // (Offset,Value)-Pair #1 { 0x1D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1280,21 +977,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134 = // IDirect3DDevice8_SetRenderState_BackFillMode+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #12 { 0x4F, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_ColorKeyColor // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1312,21 +1001,16 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134 = // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x36 : retn 0x08 { 0x36, 0xC2 }, // (Offset,Value)-Pair #11 { 0x37, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FrontFace // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_FrontFace+0x36 : jmp IDirect3DDevice8_SetRenderState_CullMode { 0x36, XREF_DXSRSCULLMODE}, // (Offset,Value)-Pair #1 @@ -1345,21 +1029,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134 = { 0x20, 0x83 }, // (Offset,Value)-Pair #9 { 0x21, 0xC0 }, // (Offset,Value)-Pair #10 { 0x22, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_LogicOp // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_LogicOp+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1374,21 +1050,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134 = // IDirect3DDevice8_SetRenderState_LogicOp+0x4F : retn 0x04 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #8 { 0x50, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilFail // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_StencilFail+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1408,21 +1076,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134 = // IDirect3DDevice8_SetRenderState_StencilFail+0x6A : retn 0x04 { 0x6A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x6B, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_OcclusionCullEnable // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x15 : jb +0x05 { 0x15, 0x72 }, // (Offset,Value)-Pair #1 { 0x16, 0x05 }, // (Offset,Value)-Pair #2 @@ -1442,21 +1102,16 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134 = // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x5F : retn 0x04 { 0x5F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x60, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilCullEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, 13, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_StencilCullEnable+0x0C : D3D__RenderState[D3DRS_STENCILCULLENABLE] { 0x0C, XREF_D3DRS_STENCILCULLENABLE }, // (Offset,Value)-Pair #1 @@ -1479,21 +1134,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134 = // IDirect3DDevice8_SetRenderState_StencilCullEnable+0x5F : retn 0x04 { 0x5F, 0xC2 }, // (Offset,Value)-Pair #12 { 0x60, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FillMode // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FillMode_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1512,21 +1159,16 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4134 = { 0x35, 0x83 }, // (Offset,Value)-Pair #9 { 0x36, 0xC0 }, // (Offset,Value)-Pair #10 { 0x37, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] { 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD }, // (Offset,Value)-Pair #1 @@ -1543,21 +1185,16 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134 = { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 { 0x10, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_RopZRead // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_RopZRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] { 0x05, XREF_D3DRS_ROPZREAD }, // (Offset,Value)-Pair #1 @@ -1574,21 +1211,16 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134 = { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 { 0x10, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_DoNotCullUncompressed // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderState_DoNotCullUncompressed+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] { 0x05, XREF_D3DRS_DONOTCULLUNCOMPRESSED }, // (Offset,Value)-Pair #1 @@ -1605,21 +1237,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134 = { 0x0E, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 { 0x10, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [edi+0x2070] { 0x0C, 0x8B }, // (Offset,Value)-Pair #1 { 0x0D, 0x86 }, // (Offset,Value)-Pair #2 @@ -1634,21 +1258,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134 = // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x7C : retn 0x04 { 0x7C, 0xC2 }, // (Offset,Value)-Pair #8 { 0x7D, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleMask // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x1C : jb +0x05 { 0x1C, 0x72 }, // (Offset,Value)-Pair #1 { 0x1D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1669,21 +1285,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134 = // IDirect3DDevice8_SetRenderState_MultiSampleMask+0x4F : retn 0x04 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #12 { 0x50, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x0F : mov ecx, [eax+0x2070] { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 { 0x10, 0x88 }, // (Offset,Value)-Pair #2 @@ -1703,21 +1311,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134 = // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x2A : retn 0x04 { 0x2A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2B, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x0F : mov ecx, [eax+0x2070] { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 { 0x10, 0x88 }, // (Offset,Value)-Pair #2 @@ -1737,21 +1337,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134 // IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x2A : retn 0x04 { 0x2A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2B, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ShadowFunc // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi { 0x00, 0x56 }, // (Offset,Value)-Pair #1 @@ -1774,21 +1366,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134 = { 0x26, 0x83 }, // (Offset,Value)-Pair #11 { 0x27, 0xC0 }, // (Offset,Value)-Pair #12 { 0x28, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_YuvEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1811,21 +1395,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134 = // IDirect3DDevice8_SetRenderState_YuvEnable+0x28 : retn 0x04 { 0x28, 0xC2 }, // (Offset,Value)-Pair #12 { 0x29, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVerticesUP // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800 { 0x4A, 0x81 }, // (Offset,Value)-Pair #1 { 0x4B, 0xCA }, // (Offset,Value)-Pair #2 @@ -1841,21 +1417,13 @@ SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134 = // IDirect3DDevice8_DrawIndexedVerticesUP+0x6A : mov eax, 0x10 { 0x6A, 0xB8 }, // (Offset,Value)-Pair #9 { 0x6B, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShaderConstant // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetPixelShaderConstant_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPixelShaderConstant+0x17 : test eax, eax { 0x17, 0x85 }, // (Offset,Value)-Pair #1 { 0x18, 0xC0 }, // (Offset,Value)-Pair #2 @@ -1873,21 +1441,13 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShaderConstant_1_0_4134 = { 0xC7, 0xD9 }, // (Offset,Value)-Pair #8 { 0xC8, 0x1C }, // (Offset,Value)-Pair #9 { 0xC9, 0x24 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeletePixelShader // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_DeletePixelShader_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x75 }, { 0x0A, 0x04 }, @@ -1895,21 +1455,12 @@ SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4134 = { 0x12, 0x04 }, { 0x18, 0xC2 }, { 0x1A, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_CullModeB // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 - - XREF_DXSRSCULLMODE, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, 13, XREF_DXSRSCULLMODE, XRefZero) // IDirect3DDevice8_SetRenderState_CullModeB+0x22 : mov dword ptr [eax], 0x40308 { 0x22, 0xC7 }, // (Offset,Value)-Pair #1 { 0x24, 0x08 }, // (Offset,Value)-Pair #2 @@ -1930,42 +1481,26 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134 = { 0x5D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x5E, 0x04 }, // (Offset,Value)-Pair #12 { 0x5F, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeleteVertexShader // ****************************************************************** -SOOVPA<6> X_D3DDevice_DeleteVertexShader_1_0_4134 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(X_D3DDevice_DeleteVertexShader_1_0_4134, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0xFF }, { 0x0A, 0x08 }, { 0x0E, 0x44 }, { 0x16, 0xC2 }, { 0x17, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetScreenSpaceOffset // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x56 }, { 0x07, 0xD8 }, { 0x08, 0x44 }, @@ -1973,21 +1508,12 @@ SOOVPA<7> IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134 = { 0x0A, 0x08 }, { 0x2E, 0x8B }, { 0x2F, 0x06 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -SOOVPA<12> D3D_SetFence_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XREF_D3D_SETFENCE, // Xref Is Saved - 0, // Xref Not Used - - { +OOVPA_XREF(D3D_SetFence_1_0_4134, 12, XREF_D3D_SETFENCE, XRefZero) { 0x0D, 0x72 }, { 0x0E, 0x0E }, { 0x31, 0xBA }, @@ -2000,21 +1526,13 @@ SOOVPA<12> D3D_SetFence_1_0_4134 = { 0x47, 0x3F }, { 0xAA, 0xC2 }, { 0xAB, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_LineWidth // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_LineWidth_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0C, 0x89 }, { 0x18, 0x04 }, { 0x28, 0xD9 }, @@ -2022,21 +1540,13 @@ SOOVPA<7> D3DDevice_SetRenderState_LineWidth_1_0_4134 = { 0x3F, 0x8B }, { 0x4C, 0x00 }, { 0x59, 0x06 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, // (Offset,Value)-Pair #1 { 0x06, 0x00 }, // (Offset,Value)-Pair #2 @@ -2055,23 +1565,15 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134 = // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetSwapCallback // ****************************************************************** /* This may look the same as 4361, but accuracy is not gauranteed. It might be a SetVerticalBlankCallback that has an identical signature... */ -SOOVPA<12> IDirect3DDevice8_SetSwapCallback_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetSwapCallback_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -2091,21 +1593,13 @@ SOOVPA<12> IDirect3DDevice8_SetSwapCallback_1_0_4134 = // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 { 0x11, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetTile // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_GetTile_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_GetTile_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetTile+0x13 : lea esi, [ecx+eax*8+0x211C] { 0x13, 0x8D }, // (Offset,Value)-Pair #1 { 0x14, 0xB4 }, // (Offset,Value)-Pair #2 @@ -2124,21 +1618,13 @@ SOOVPA<11> IDirect3DDevice8_GetTile_1_0_4134 = // IDirect3DDevice8_GetTile+0x23 : retn 0x08 { 0x23, 0xC2 }, // (Offset,Value)-Pair #10 { 0x24, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTile // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetTile_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetTile_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTileNoWait+0x00 : sub esp, 0x18 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -2155,21 +1641,13 @@ SOOVPA<11> IDirect3DDevice8_SetTile_1_0_4134 = { 0x3F, 0xCB }, // (Offset,Value)-Pair #9 { 0x40, 0x1C }, // (Offset,Value)-Pair #10 { 0x41, 0x21 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_IsBusy // ****************************************************************** -SOOVPA<7> D3DDevice_IsBusy_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_IsBusy_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x0C, 0x90 }, { 0x13, 0x44 }, @@ -2177,21 +1655,13 @@ SOOVPA<7> D3DDevice_IsBusy_1_0_4134 = { 0x21, 0x01 }, { 0x28, 0x00 }, { 0x2F, 0xD2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -SOOVPA<12> D3D_CDevice_KickOff_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(D3D_CDevice_KickOff_1_0_4134, 12) - XRefNotSaved, - 0, // Xref Is Used - - { // D3D::CDevice::KickOff+0x0D : test al, 4 { 0x0D, 0xA8 }, { 0x0E, 0x04 }, @@ -2208,21 +1678,13 @@ SOOVPA<12> D3D_CDevice_KickOff_1_0_4134 = { 0x28, 0xF8 }, // D3D::CDevice::KickOff+0xE3 : retn { 0xE3, 0xC3 } - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** -SOOVPA<7> D3DDevice_BlockOnFence_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BlockOnFence_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x02, 0x24 }, { 0x04, 0x6A }, @@ -2230,21 +1692,13 @@ SOOVPA<7> D3DDevice_BlockOnFence_1_0_4134 = { 0x0C, 0xC2 }, { 0x0D, 0x04 }, { 0x0E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** -SOOVPA<8> D3DDevice_GetRenderTarget_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_GetRenderTarget_1_0_4134, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x06, 0x80 }, { 0x0A, 0x00 }, @@ -2253,21 +1707,13 @@ SOOVPA<8> D3DDevice_GetRenderTarget_1_0_4134 = { 0x16, 0xE8 }, { 0x1B, 0x33 }, { 0x1E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Release // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Release_1_0_4134 = -{ - 0, // Large == 0 - 11, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_Release_1_0_4134, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Release+0x07 : mov eax, [edi+0x043C] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x87 }, // (Offset,Value)-Pair #2 @@ -2286,21 +1732,13 @@ SOOVPA<11> IDirect3DDevice8_Release_1_0_4134 = // IDirect3DDevice8_Release+0x2E : dec eax { 0x2E, 0x48 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDisplayMode // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4134 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_GetDisplayMode_1_0_4134, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] { 0x01, 0x8B }, // (Offset,Value)-Pair #1 { 0x02, 0x35 }, // (Offset,Value)-Pair #2 @@ -2323,21 +1761,13 @@ SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4134 = // IDirect3DDevice8_GetDisplayMode+0x92 : retn 0x04 { 0x92, 0xC2 }, // (Offset,Value)-Pair #12 { 0x93, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** -SOOVPA<7> D3DDevice_SetShaderConstantMode_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0xFD }, { 0x3C, 0x8B }, { 0x5B, 0x0B }, @@ -2345,1490 +1775,335 @@ SOOVPA<7> D3DDevice_SetShaderConstantMode_1_0_4134 = { 0x99, 0xC0 }, { 0xB8, 0x00 }, { 0xD7, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_4134 // ****************************************************************** -OOVPATable D3D8_1_0_4134[] = -{ +OOVPATable D3D8_1_0_4134[] = { + // IDirect3D8::CreateDevice (* unchanged since 1.0.3925 *) - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_3925, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_3925, XTL::EmuIDirect3D8_CreateDevice), // IDirect3D8::CheckDeviceFormat - { - (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4134, - - XTL::EmuIDirect3D8_CheckDeviceFormat, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CheckDeviceFormat" - #endif - }, - // IDirect3DDevice8::SetRenderState_TexCoordIndex - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetTransform - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::Swap - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_4134, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, - // IDirect3DDevice8::Clear - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_4134, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CheckDeviceFormat_1_0_4134, XTL::EmuIDirect3D8_CheckDeviceFormat), + // IDirect3DDevice8::SetRenderState_TexCoordIndex + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_4134, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::SetRenderState_FogColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::Swap + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_4134, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::Clear + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_4134, XTL::EmuIDirect3DDevice8_Clear), // ********************** BEG WARNING UNTESTED!!! ******************* // IDirect3DDevice8::GetDeviceCaps - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, - // IDirect3DDevice8::BeginVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_3925, - - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // IDirect3DDevice8::EndVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_3925, - - XTL::EmuIDirect3DDevice8_EndVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndVisibilityTest" - #endif - }, - // IDirect3DDevice8::LoadVertexShader - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::LoadVertexShader (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4034, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::SelectVertexShader - { - (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, - // IDirect3DDevice8::Release - { - (OOVPA*)&IDirect3DDevice8_Release_1_0_3925, - - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Release" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - /*{ - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - },*/ + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), + // IDirect3DDevice8::BeginVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginVisibilityTest_1_0_3925, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // IDirect3DDevice8::EndVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndVisibilityTest_1_0_3925, XTL::EmuIDirect3DDevice8_EndVisibilityTest), + // IDirect3DDevice8::LoadVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::LoadVertexShader (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_4034, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::SelectVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SelectVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_SelectVertexShader), + // IDirect3DDevice8::Release + OOVPA_TABLE_PATCH(IDirect3DDevice8_Release_1_0_3925, XTL::EmuIDirect3DDevice8_Release), + // IDirect3DDevice8::BlockUntilVerticalBlank + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_3925, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + */ // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, - // IDirect3DDevice8::GetTransform - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::SetStreamSource - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShader - /* { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - },*/ + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_3925, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // IDirect3DDevice8::GetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_3925, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::SetStreamSource + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_3925, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShader + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexShader), + */ // IDirect3DDevice8::SetPixelShader - /*{ - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_SetPixelShader), + */ // IDirect3DDevice8::SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::SetTexture - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::Begin - { - (OOVPA*)&IDirect3DDevice8_Begin_1_0_3925, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, - // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, - // IDirect3DDevice8::SetVertexDataColor - { - (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexDataColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexDataColor" - #endif - }, - // IDirect3DDevice8::End - { - (OOVPA*)&IDirect3DDevice8_End_1_0_3925, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::CreatePalette - { - (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette" - #endif - }, - // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, - // IDirect3DDevice8::CreateTexture - { - (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture" - #endif - }, - // IDirect3DDevice8::CreateVolumeTexture - { - (OOVPA*)&IDirect3DDevice8_CreateVolumeTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVolumeTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVolumeTexture" - #endif - }, - // IDirect3DDevice8::CreateCubeTexture - { - (OOVPA*)&IDirect3DDevice8_CreateCubeTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateCubeTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateCubeTexture" - #endif - }, - // IDirect3DDevice8::CreateIndexBuffer - { - (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer" - #endif - }, - // IDirect3DDevice8::CreateVertexShader - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant" - #endif - }, - // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, - // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_PSTextureModes - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_PSTextureModes" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail - /*{ - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - },*/ + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_3925, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_4034, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::SetTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_3925, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::Begin + OOVPA_TABLE_PATCH(IDirect3DDevice8_Begin_1_0_3925, XTL::EmuIDirect3DDevice8_Begin), + // IDirect3DDevice8::SetVertexData2f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::SetVertexData4f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData4f_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexData4f), + // IDirect3DDevice8::SetVertexDataColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexDataColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexDataColor), + // IDirect3DDevice8::End + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_3925, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::CreatePalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePalette_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePalette), + // IDirect3DDevice8::SetPalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_3925, XTL::EmuIDirect3DDevice8_SetPalette), + // IDirect3DDevice8::CreateTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateTexture), + // IDirect3DDevice8::CreateVolumeTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVolumeTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVolumeTexture), + // IDirect3DDevice8::CreateCubeTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateCubeTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateCubeTexture), + // IDirect3DDevice8::CreateIndexBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateIndexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateIndexBuffer), + // IDirect3DDevice8::CreateVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::SetVertexShaderConstant + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant_1_0_3925, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant), + // IDirect3DDevice8::SetFlickerFilter + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_3925, XTL::EmuIDirect3DDevice8_SetFlickerFilter), + // IDirect3DDevice8::SetSoftDisplayFilter + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSoftDisplayFilter_1_0_3925, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), + // IDirect3DDevice8::SetTextureState_BorderColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetRenderState_PSTextureModes + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_PSTextureModes_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_PSTextureModes), + // IDirect3DDevice8::SetRenderState_StencilFail + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + */ // IDirect3DDevice8::SetRenderState_Simple - /*{ - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + */ // IDirect3DDevice8::SetRenderState_FogColor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode - /*{ - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - },*/ + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_FillMode + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + */ // IDirect3DDevice8::SetRenderState_StencilEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::Present - { - (OOVPA*)&IDirect3DDevice8_Present_1_0_3925, - - XTL::EmuIDirect3DDevice8_Present, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Present" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode - /*{ - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - },*/ + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), + // IDirect3DDevice8::SetRenderState_ZBias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::Present + OOVPA_TABLE_PATCH(IDirect3DDevice8_Present_1_0_3925, XTL::EmuIDirect3DDevice8_Present), + // IDirect3DDevice8::SetShaderConstantMode + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_3925, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + */ // IDirect3DDevice8::GetBackBuffer - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer" - #endif - }, - // IDirect3DVertexBuffer8::Lock - /* { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_3925, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - },*/ + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_GetBackBuffer), + // IDirect3DDevice8::CreateVertexBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexBuffer), + // IDirect3DVertexBuffer8::Lock + /* + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_3925, XTL::EmuIDirect3DVertexBuffer8_Lock), + */ // IDirect3DResource8::Register - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DResource8::Release - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::AddRef - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::IsBusy - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_3925, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // IDirect3DPalette8::Lock - { - (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, - - XTL::EmuIDirect3DPalette8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock" - #endif - }, - // IDirect3DTexture8::LockRect - { - (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // IDirect3DVolumeTexture8::LockBox - { - (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_3925, - - XTL::EmuIDirect3DVolumeTexture8_LockBox, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVolumeTexture8_LockBox" - #endif - }, - // IDirect3DCubeTexture8::LockRect - { - (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DCubeTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_LockRect" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel" - #endif - }, - // Get2DSurfacDesc - /*{ - (OOVPA*)&Get2DSurfaceDesc_1_0_3925, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - },*/ + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DResource8::Release + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::AddRef + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::IsBusy + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_3925, XTL::EmuIDirect3DResource8_IsBusy), + // IDirect3DPalette8::Lock + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock_1_0_3925, XTL::EmuIDirect3DPalette8_Lock), + // IDirect3DTexture8::LockRect + OOVPA_TABLE_PATCH(IDirect3DTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DTexture8_LockRect), + // IDirect3DVolumeTexture8::LockBox + OOVPA_TABLE_PATCH(IDirect3DVolumeTexture8_LockBox_1_0_3925, XTL::EmuIDirect3DVolumeTexture8_LockBox), + // IDirect3DCubeTexture8::LockRect + OOVPA_TABLE_PATCH(IDirect3DCubeTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DCubeTexture8_LockRect), + // IDirect3DTexture8::GetSurfaceLevel + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel_1_0_3925, XTL::EmuIDirect3DTexture8_GetSurfaceLevel), + // Get2DSurfacDesc + /* + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_3925, XTL::EmuGet2DSurfaceDesc), + */ // ********************** END WARNING UNTESTED!!! ******************* // IDirect3DDevice8::GetBackBuffer - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer_1_0_4134, XTL::EmuIDirect3DDevice8_GetBackBuffer), + // IDirect3DDevice8::GetDepthStencilSurface + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface_1_0_4134, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface), // IDirect3DDevice8::SetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderTarget), // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePixelShader), // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteVertexShader), // Lock2DSurface (* unchanged since 3925 *) - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), // IDirect3DDevice8_SetGammaRamp (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_3925, - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "IDirect3DDevice8_SetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_3925, XTL::EmuIDirect3DDevice8_SetGammaRamp), // IDirect3DDevice8::LoadVertexShader - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::SelectVertexShader - { - (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_4134, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::SelectVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SelectVertexShader_1_0_4134, XTL::EmuIDirect3DDevice8_SelectVertexShader), // IDirect3DDevice8::CopyRects - { - (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_4134, - - XTL::EmuIDirect3DDevice8_CopyRects, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CopyRects" - #endif - }, - // IDirect3DDevice8::CreateImageSurface - { - (OOVPA*)&IDirect3DDevice8_CreateImageSurface_1_0_4034, - - XTL::EmuIDirect3DDevice8_CreateImageSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateImageSurface" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CopyRects_1_0_4134, XTL::EmuIDirect3DDevice8_CopyRects), + // IDirect3DDevice8::CreateImageSurface + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateImageSurface_1_0_4034, XTL::EmuIDirect3DDevice8_CreateImageSurface), // IDirect3DDevice8::SetVertexShaderConstant - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant_1_0_4134, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant), // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_4134, XTL::EmuIDirect3DDevice8_SetPixelShader), // IDirect3DDevice8::SetTextureState_BumpEnv - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), // IDirect3DDevice8::SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetTexture (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_4134, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetTexture (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_4034, XTL::EmuIDirect3DDevice8_SetTexture), // IDirect3DDevice8::SetRenderState_VertexBlend - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), // IDirect3DDevice8::SetRenderState_TextureFactor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::GetTransform - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::SetStreamSource - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::DrawVertices (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4034, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, - // IDirect3DDevice8::DrawVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4134, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4034, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::SetLight - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, - // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, - // IDirect3DDevice8::LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, - // IDirect3DVertexBuffer8::Lock (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4034, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_StencilEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::GetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_4134, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::SetStreamSource + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4134, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_4134, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::DrawVertices (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_4034, XTL::EmuIDirect3DDevice8_DrawVertices), + // IDirect3DDevice8::DrawVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUP_1_0_4134, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_4034, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::SetLight + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_4134, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::SetMaterial + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_4134, XTL::EmuIDirect3DDevice8_SetMaterial), + // IDirect3DDevice8::LightEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_4134, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DVertexBuffer8::Lock (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_4034, XTL::EmuIDirect3DVertexBuffer8_Lock), // Get2DSurfacDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_4134, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, - // IDirect3DSurface8::GetDesc - { - (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4134, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_4134, XTL::EmuGet2DSurfaceDesc), + // IDirect3DSurface8::GetDesc + OOVPA_TABLE_PATCH(IDirect3DSurface8_GetDesc_1_0_4134, XTL::EmuIDirect3DSurface8_GetDesc), // IDirect3DDevice8_SetRenderState_StencilFail - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), // IDirect3DDevice8_SetRenderState_NormalizeNormals - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), // IDirect3DDevice8::Reset - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4134, XTL::EmuIDirect3DDevice8_Reset), // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_4034, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), // IDirect3DDevice8::SetTextureState_TwoSidedLighting - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), // IDirect3DDevice8::SetRenderState_BackFillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), // IDirect3DDevice8::SetTextureState_ColorKeyColor - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), // IDirect3DDevice8::SetRenderState_FrontFace - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), // IDirect3DDevice8::SetRenderState_LogicOp - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilCullEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), + // IDirect3DDevice8::SetRenderState_StencilFail + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_StencilCullEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), // IDirect3DDevice8::SetRenderState_FillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZRead - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DDevice8::SetRenderState_RopZRead + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), // IDirect3DDevice8::SetRenderState_MultiSampleMask - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), // IDirect3DDevice8::SetRenderState_MultiSampleMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), // IDirect3DDevice8::SetRenderState_ShadowFunc - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SetRenderState_YuvEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), // IDirect3DDevice8::DrawIndexedVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, - - XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVerticesUP" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP), // IDirect3DDevice8::SetPixelShaderConstant - { - (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), // IDirect3DDevice8::DeletePixelShader - { - (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_DeletePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DeletePixelShader_1_0_4134, XTL::EmuIDirect3DDevice8_DeletePixelShader), // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullModeB" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), // D3DDevice_DeleteVertexShader (* unchanged since 4134 *) - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_4134, XTL::EmuIDirect3DDevice8_DeleteVertexShader), // IDirect3DDevice8_SetScreenSpaceOffset - { - (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), // D3D::SetFence (XREF) - { - (OOVPA*)&D3D_SetFence_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "D3D::SetFence (XREF)" - #endif - }, + OOVPA_TABLE_XREF(D3D_SetFence_1_0_4134), // IDirect3DDevice8::SetRenderState_LineWidth - { - (OOVPA*)&D3DDevice_SetRenderState_LineWidth_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LineWidth_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4134, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), // IDirect3DDevice8::SetSwapCallback - { - (OOVPA*)&IDirect3DDevice8_SetSwapCallback_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetSwapCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSwapCallback" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSwapCallback_1_0_4134, XTL::EmuIDirect3DDevice8_SetSwapCallback), // IDirect3DDevice8::GetTile - { - (OOVPA*)&IDirect3DDevice8_GetTile_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetTile, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTile" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTile_1_0_4134, XTL::EmuIDirect3DDevice8_GetTile), // IDirect3DDevice8::SetTile - { - (OOVPA*)&IDirect3DDevice8_SetTile_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTileNoWait, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTile" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTile_1_0_4134, XTL::EmuIDirect3DDevice8_SetTileNoWait), // IDirect3DDevice8::IsBusy - { - (OOVPA*)&D3DDevice_IsBusy_1_0_4134, - - XTL::EmuIDirect3DDevice8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_IsBusy" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_IsBusy_1_0_4134, XTL::EmuIDirect3DDevice8_IsBusy), // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), // D3D::CDevice::KickOff - { - (OOVPA*)&D3D_CDevice_KickOff_1_0_4134, - - XTL::EmuD3DDevice_KickOff, - - #ifdef _DEBUG_TRACE - "D3D::CDevice::KickOff" - #endif - }, + OOVPA_TABLE_PATCH(D3D_CDevice_KickOff_1_0_4134, XTL::EmuD3DDevice_KickOff), // IDirect3DDevice8::InsertFence (* unchanged since 3925 *) - { - (OOVPA*)&D3DDevice_InsertFence_1_0_3925, - - XTL::EmuIDirect3DDevice8_InsertFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertFence" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_InsertFence_1_0_3925, XTL::EmuIDirect3DDevice8_InsertFence), // IDirect3DDevice8::BlockOnFence - { - (OOVPA*)&D3DDevice_BlockOnFence_1_0_4134, - - XTL::EmuIDirect3DDevice8_BlockOnFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockOnFence" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BlockOnFence_1_0_4134, XTL::EmuIDirect3DDevice8_BlockOnFence), // IDirect3DDevice8::GetRenderTarget - { - (OOVPA*)&D3DDevice_GetRenderTarget_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetRenderTarget_1_0_4134, XTL::EmuIDirect3DDevice8_GetRenderTarget), // IDirect3DDevice8::Release - { - (OOVPA*)&IDirect3DDevice8_Release_1_0_4134, - - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Release" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Release_1_0_4134, XTL::EmuIDirect3DDevice8_Release), // IDirect3DDevice8::GetDisplayMode - { - (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayMode_1_0_4134, XTL::EmuIDirect3DDevice8_GetDisplayMode), // Direct3D_GetAdapterIdentifier (* unchanged since 3925 *) - { - (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, - XTL::EmuIDirect3D8_GetAdapterIdentifier, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_GetAdapterIdentifier" - #endif - }, + OOVPA_TABLE_PATCH(Direct3D_GetAdapterIdentifier_1_0_3925, XTL::EmuIDirect3D8_GetAdapterIdentifier), // D3DDevice_SetShaderConstantMode - { - (OOVPA*)&D3DDevice_SetShaderConstantMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, - // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVisibilityTestResult" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetShaderConstantMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, XTL::EmuIDirect3DDevice8_GetVisibilityTestResult), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 77615dfc2..649d47eb5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -35,15 +35,7 @@ // ****************************************************************** // * IDirect3D8_CreateDevice // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDevice_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3D8_CreateDevice_1_0_4361, 8) // IDirect3D8_CreateDevice+0x07 : jnz +0x0A { 0x07, 0x75 }, // (Offset,Value)-Pair #1 { 0x08, 0x0A }, // (Offset,Value)-Pair #2 @@ -59,21 +51,13 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_4361 = // IDirect3D8_CreateDevice+0xA0 : retn 0x18 { 0xA0, 0xC2 }, // (Offset,Value)-Pair #7 { 0xA1, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_CheckDeviceFormat // ****************************************************************** -SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CheckDeviceFormat_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CheckDeviceFormat+0x0D : retn 0x18 { 0x0D, 0xC2 }, // (Offset,Value)-Pair #1 { 0x0E, 0x18 }, // (Offset,Value)-Pair #2 @@ -89,42 +73,26 @@ SOOVPA<8> IDirect3D8_CheckDeviceFormat_1_0_4361 = // IDirect3D8_CheckDeviceFormat+0x61 : retn 0x18 { 0x61, 0xC2 }, // (Offset,Value)-Pair #7 { 0x62, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4361 = -{ - 0, // Large == 0 - 6, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetVerticalBlankCallback_1_0_4361, 6) - XRefNotSaved, - 0, // XRef Is Used - - { { 0x01, 0x44 }, { 0x03, 0x04 }, { 0x05, 0x0D }, { 0x0C, 0x30 }, { 0x0D, 0x24 }, { 0x11, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_GetAdapterModeCount // ****************************************************************** -SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3D8_GetAdapterModeCount_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_GetAdapterModeCount+0x25 : add edx, 0xFF { 0x25, 0x81 }, // (Offset,Value)-Pair #1 { 0x26, 0xE2 }, // (Offset,Value)-Pair #2 @@ -144,21 +112,13 @@ SOOVPA<12> IDirect3D8_GetAdapterModeCount_1_0_4361 = { 0x99, 0x83 }, // (Offset,Value)-Pair #10 { 0x9A, 0xC4 }, // (Offset,Value)-Pair #11 { 0x9B, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_GetAdapterDisplayMode // ****************************************************************** -SOOVPA<13> IDirect3D8_GetAdapterDisplayMode_1_0_4361 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3D8_GetAdapterDisplayMode_1_0_4361, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_GetAdapterDisplayMode+0x08 : mov eax, 0x8876086C { 0x08, 0xB8 }, // (Offset,Value)-Pair #1 { 0x09, 0x6C }, // (Offset,Value)-Pair #2 @@ -179,21 +139,13 @@ SOOVPA<13> IDirect3D8_GetAdapterDisplayMode_1_0_4361 = // IDirect3D8_GetAdapterDisplayMode+0xBD : retn 0x08 { 0xBD, 0xC2 }, // (Offset,Value)-Pair #12 { 0xBE, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_EnumAdapterModes // ****************************************************************** -SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3D8_EnumAdapterModes_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_EnumAdapterModes+0x00 : sub esp, 0x08 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -209,21 +161,13 @@ SOOVPA<10> IDirect3D8_EnumAdapterModes_1_0_4361 = { 0xF6, 0x47 }, // (Offset,Value)-Pair #8 { 0xF7, 0x10 }, // (Offset,Value)-Pair #9 { 0xF8, 0x1E }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SelectVertexShader // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SelectVertexShader_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SelectVertexShader+0x13 : mov [esi+0x384], eax { 0x13, 0x89 }, // (Offset,Value)-Pair #1 { 0x14, 0x86 }, // (Offset,Value)-Pair #2 @@ -240,21 +184,13 @@ SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_4361 = // IDirect3DDevice8_SelectVertexShader+0x55 : mov [esi], eax { 0x55, 0x89 }, // (Offset,Value)-Pair #10 { 0x56, 0x06 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_AddRef // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_AddRef_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_AddRef_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -272,21 +208,12 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_4361 = { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 { 0x0E, 0x40 }, // (Offset,Value)-Pair #9 { 0x0F, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D_ClearStateBlockFlags // ****************************************************************** -SOOVPA<9> IDirect3D_ClearStateBlockFlags_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 - - XREF_CLEARSTATEBLOCKFLAGS, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(IDirect3D_ClearStateBlockFlags_1_0_4361, 9, XREF_CLEARSTATEBLOCKFLAGS, XRefZero) // IDirect3D_ClearStateBlockFlags+0x0A : movzx ecx, 0x82 { 0x0A, 0xB9 }, // (Offset,Value)-Pair #1 { 0x0B, 0x82 }, // (Offset,Value)-Pair #2 @@ -301,21 +228,12 @@ SOOVPA<9> IDirect3D_ClearStateBlockFlags_1_0_4361 = { 0x2F, 0x81 }, // (Offset,Value)-Pair #7 { 0x30, 0xC1 }, // (Offset,Value)-Pair #8 { 0x31, 0x90 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D_RecordStateBlock // ****************************************************************** -SOOVPA<10> IDirect3D_RecordStateBlock_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XREF_RECORDSTATEBLOCK, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(IDirect3D_RecordStateBlock_1_0_4361, 10, XREF_RECORDSTATEBLOCK, XRefZero) // IDirect3D_RecordStateBlock+0x0F : mov eax, [edi+0x0390] { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 { 0x10, 0x87 }, // (Offset,Value)-Pair #2 @@ -331,21 +249,13 @@ SOOVPA<10> IDirect3D_RecordStateBlock_1_0_4361 = { 0xD6, 0x46 }, // (Offset,Value)-Pair #8 { 0xD7, 0x0C }, // (Offset,Value)-Pair #9 { 0xD8, 0x01 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetGammaRamp // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetGammaRamp_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetGammaRamp+0x11 : and eax, 1; push ebx { 0x11, 0x83 }, // (Offset,Value)-Pair #1 { 0x12, 0xE0 }, // (Offset,Value)-Pair #2 @@ -360,21 +270,16 @@ SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_4361 = { 0x3E, 0x53 }, // (Offset,Value)-Pair #7 { 0x3F, 0x8B }, // (Offset,Value)-Pair #8 { 0x40, 0xCA }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BeginStateBlock // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_BeginStateBlock_1_0_4361 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(IDirect3DDevice8_BeginStateBlock_1_0_4361, 6, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_BeginStateBlock+0x0F : call [ClearStateBlockFlags] { 0x0A, XREF_CLEARSTATEBLOCKFLAGS }, // (Offset,Value)-Pair #1 @@ -386,21 +291,13 @@ SOOVPA<6> IDirect3DDevice8_BeginStateBlock_1_0_4361 = { 0x06, 0x48 }, // (Offset,Value)-Pair #4 { 0x07, 0x08 }, // (Offset,Value)-Pair #5 { 0x08, 0x20 }, // (Offset,Value)-Pair #6 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CaptureStateBlock // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_CaptureStateBlock_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_CaptureStateBlock_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CaptureStateBlock+0x36 : mov eax, [edi+eax*4+0x0A78] { 0x36, 0x8B }, // (Offset,Value)-Pair #1 { 0x37, 0x84 }, // (Offset,Value)-Pair #2 @@ -413,21 +310,13 @@ SOOVPA<9> IDirect3DDevice8_CaptureStateBlock_1_0_4361 = { 0xAA, 0x7E }, // (Offset,Value)-Pair #7 { 0xAB, 0x0C }, // (Offset,Value)-Pair #8 { 0xAC, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeleteStateBlock // ****************************************************************** -SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_DeleteStateBlock_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x11, 0x76 }, { 0x24, 0x3B }, { 0x37, 0xE8 }, @@ -435,22 +324,13 @@ SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_4361 = { 0x5D, 0x74 }, { 0x70, 0x06 }, { 0x83, 0xEB }, - } -}; - +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_ApplyStateBlock // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_ApplyStateBlock_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_ApplyStateBlock_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_ApplyStateBlock+0x0E : lea esi, [edi+0x3C] { 0x0E, 0x8D }, // (Offset,Value)-Pair #1 { 0x0F, 0x77 }, // (Offset,Value)-Pair #2 @@ -465,21 +345,16 @@ SOOVPA<9> IDirect3DDevice8_ApplyStateBlock_1_0_4361 = { 0x9E, 0x83 }, // (Offset,Value)-Pair #7 { 0x9F, 0xE8 }, // (Offset,Value)-Pair #8 { 0xA0, 0x60 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_EndStateBlock // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_EndStateBlock_1_0_4361 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(IDirect3DDevice8_EndStateBlock_1_0_4361, 6, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_EndStateBlock+0x0F : call [ClearStateBlockFlags] { 0x0A, XREF_RECORDSTATEBLOCK }, // (Offset,Value)-Pair #1 @@ -491,21 +366,13 @@ SOOVPA<6> IDirect3DDevice8_EndStateBlock_1_0_4361 = { 0x06, 0x60 }, // (Offset,Value)-Pair #4 { 0x07, 0x08 }, // (Offset,Value)-Pair #5 { 0x08, 0xDF }, // (Offset,Value)-Pair #6 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CopyRects // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_CopyRects_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CopyRects+0x00 : sub esp, 0x01A0 { 0x00, 0x81 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -521,21 +388,13 @@ SOOVPA<10> IDirect3DDevice8_CopyRects_1_0_4361 = // IDirect3DDevice8_CopyRects+0xDD : jnz +0x22 { 0xDD, 0x75 }, // (Offset,Value)-Pair #9 { 0xDE, 0x22 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateImageSurface // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_CreateImageSurface_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateImageSurface+0x2A : push 0x18 { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 { 0x2B, 0x18 }, // (Offset,Value)-Pair #2 @@ -552,22 +411,14 @@ SOOVPA<9> IDirect3DDevice8_CreateImageSurface_1_0_4361 = // IDirect3DDevice8_CreateImageSurface+0x61 : retn 0x10 { 0x61, 0xC2 }, // (Offset,Value)-Pair #8 { 0x62, 0x10 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetRenderTarget // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_GetRenderTarget_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_GetRenderTarget_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -584,21 +435,13 @@ SOOVPA<9> IDirect3DDevice8_GetRenderTarget_1_0_4361 = // IDirect3DDevice8_GetRenderTarget+0x1D : retn 0x04 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #8 { 0x1E, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x08] { 0x11, 0x8A }, // (Offset,Value)-Pair #1 { 0x12, 0x4B }, // (Offset,Value)-Pair #2 @@ -616,21 +459,13 @@ SOOVPA<10> IDirect3DDevice8_SetVertexShaderConstant_1_0_4361 = // IDirect3DDevice8_SetVertexShaderConstant+0x98 : retn 0x0C { 0x98, 0xC2 }, // (Offset,Value)-Pair #9 { 0x99, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPixelShader+0x0E : mov esi, [ebx+0x0370] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0xB3 }, // (Offset,Value)-Pair #2 @@ -649,21 +484,13 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4361 = { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetViewport // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetViewport_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi { 0x05, 0x56 }, // (Offset,Value)-Pair #1 { 0x06, 0x57 }, // (Offset,Value)-Pair #2 @@ -681,21 +508,13 @@ SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4361 = // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_BumpEnv // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03 { 0x18, 0x75 }, // (Offset,Value)-Pair #1 { 0x19, 0x03 }, // (Offset,Value)-Pair #2 @@ -715,21 +534,13 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361 = { 0x50, 0xC1 }, // (Offset,Value)-Pair #10 { 0x51, 0xE6 }, // (Offset,Value)-Pair #11 { 0x52, 0x05 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_BorderColor // ****************************************************************** -SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, 15) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_BorderColor+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -752,21 +563,13 @@ SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361 = // IDirect3DDevice8_SetTextureState_BorderColor+0x3A : retn 0x08 { 0x3A, 0xC2 }, // (Offset,Value)-Pair #14 { 0x3B, 0x08 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetIndices // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetIndices_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetIndices+0x0E : jz +0x10 { 0x0E, 0x74 }, // (Offset,Value)-Pair #1 { 0x0F, 0x10 }, // (Offset,Value)-Pair #2 @@ -785,21 +588,13 @@ SOOVPA<11> IDirect3DDevice8_SetIndices_1_0_4361 = { 0x77, 0xBE }, // (Offset,Value)-Pair #9 { 0x78, 0x8C }, // (Offset,Value)-Pair #10 { 0x79, 0x03 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTexture // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTexture_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTexture+0x09 : push edi { 0x09, 0x57 }, // (Offset,Value)-Pair #1 @@ -819,21 +614,13 @@ SOOVPA<10> IDirect3DDevice8_SetTexture_1_0_4361 = // IDirect3DDevice8_SetTexture+0xC9 : jz +0x4D { 0xC9, 0x74 }, // (Offset,Value)-Pair #9 { 0xCA, 0x4D }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SwitchTexture // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SwitchTexture_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SwitchTexture_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SwitchTexture+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -853,21 +640,13 @@ SOOVPA<10> IDirect3DDevice8_SwitchTexture_1_0_4361 = // IDirect3DDevice8_SwitchTexture+0x2E : jmp +0xD0 { 0x2E, 0xEB }, // (Offset,Value)-Pair #9 { 0x2F, 0xD0 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDisplayMode // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4361 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_GetDisplayMode_1_0_4361, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] { 0x01, 0x8B }, // (Offset,Value)-Pair #1 { 0x02, 0x35 }, // (Offset,Value)-Pair #2 @@ -890,21 +669,13 @@ SOOVPA<13> IDirect3DDevice8_GetDisplayMode_1_0_4361 = // IDirect3DDevice8_GetDisplayMode+0x92 : retn 0x04 { 0x92, 0xC2 }, // (Offset,Value)-Pair #12 { 0x93, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Swap_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 { 0x10, 0xBB }, // (Offset,Value)-Pair #1 { 0x11, 0x05 }, // (Offset,Value)-Pair #2 @@ -923,21 +694,13 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4361 = // IDirect3DDevice8_Swap+0xAE : retn 4 { 0xAE, 0xC2 }, // (Offset,Value)-Pair #10 { 0xAF, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_EnableOverlay // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_EnableOverlay_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_EnableOverlay_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_EnableOverlay+0x0B : mov ecx, [eax+0x8700] { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x88 }, // (Offset,Value)-Pair #2 @@ -956,21 +719,13 @@ SOOVPA<11> IDirect3DDevice8_EnableOverlay_1_0_4361 = // IDirect3DDevice8_EnableOverlay+0x60 : retn 0x04 { 0x60, 0xC2 }, // (Offset,Value)-Pair #10 { 0x61, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_UpdateOverlay // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_UpdateOverlay_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2A90], ecx { 0x0F, 0x89 }, // (Offset,Value)-Pair #1 { 0x10, 0x88 }, // (Offset,Value)-Pair #2 @@ -987,21 +742,13 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4361 = { 0xA3, 0x8E }, // (Offset,Value)-Pair #9 { 0xA4, 0x20 }, // (Offset,Value)-Pair #10 { 0xA5, 0x89 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, // (Offset,Value)-Pair #1 { 0x06, 0x00 }, // (Offset,Value)-Pair #2 @@ -1020,21 +767,13 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361 = // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TexCoordIndex // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07 { 0x0D, 0xC1 }, // (Offset,Value)-Pair #1 { 0x0E, 0xE0 }, // (Offset,Value)-Pair #2 @@ -1052,21 +791,13 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361 = { 0xB3, 0xC1 }, // (Offset,Value)-Pair #8 { 0xB4, 0xE2 }, // (Offset,Value)-Pair #9 { 0xB5, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_VertexBlend // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_VertexBlend+0x06 : or edx, 0x200 { 0x06, 0x81 }, // (Offset,Value)-Pair #1 { 0x07, 0xCA }, // (Offset,Value)-Pair #2 @@ -1085,21 +816,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361 = // IDirect3DDevice8_SetRenderState_VertexBlend+0x3E : retn 0x04 { 0x3E, 0xC2 }, // (Offset,Value)-Pair #10 { 0x3F, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0370] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x86 }, // (Offset,Value)-Pair #2 @@ -1116,21 +839,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361 = // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_EdgeAntiAlias // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1148,21 +863,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361 = // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x2F : retn 0x04 { 0x2F, 0xC2 }, // (Offset,Value)-Pair #9 { 0x30, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FillMode // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1181,21 +888,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_4361 = { 0x35, 0x83 }, // (Offset,Value)-Pair #9 { 0x36, 0xC0 }, // (Offset,Value)-Pair #10 { 0x37, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Simple // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4361 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Simple_1_0_4361, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_Simple+0x05 : add eax, 0x08 { 0x05, 0x83 }, // (Offset,Value)-Pair #1 { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 @@ -1218,21 +917,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_Simple_1_0_4361 = // IDirect3DDevice8_SetRenderState_Simple+0x25 : jmp +0xD9 { 0x25, 0xEB }, // (Offset,Value)-Pair #12 { 0x26, 0xD9 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1253,20 +944,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361 = // IDirect3DDevice8_SetRenderState_ZEnable+0x98 : retn 0x04 { 0x98, 0xC2 }, // (Offset,Value)-Pair #12 { 0x99, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilEnable // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - { // IDirect3DDevice8_SetRenderState_StencilEnable+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1285,21 +969,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361 = // IDirect3DDevice8_SetRenderState_StencilEnable+0x81 : retn 0x04 { 0x81, 0xC2 }, // (Offset,Value)-Pair #10 { 0x82, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi { 0x04, 0x56 }, // (Offset,Value)-Pair #1 @@ -1323,21 +999,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361 = // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x4F : retn 0x04 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x50, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetTransform // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetTransform_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetTransform+0x0A : shl ecx, 0x06 { 0x0A, 0xC1 }, // (Offset,Value)-Pair #1 { 0x0B, 0xE1 }, // (Offset,Value)-Pair #2 @@ -1359,21 +1027,13 @@ SOOVPA<12> IDirect3DDevice8_GetTransform_1_0_4361 = // IDirect3DDevice8_GetTransform+0x22 : retn 0x08 { 0x22, 0xC2 }, // (Offset,Value)-Pair #11 { 0x23, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetStreamSource // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4361 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetStreamSource_1_0_4361, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetStreamSource+0x08 : mov edi, [esp+8+0x04] { 0x08, 0x8B }, // (Offset,Value)-Pair #1 { 0x09, 0x7C }, // (Offset,Value)-Pair #2 @@ -1397,21 +1057,13 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_4361 = // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShader // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4361 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShader_1_0_4361, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 @@ -1433,21 +1085,13 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_4361 = { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVertices // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVertices_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVertices+0x12 : mov edi, [esp+0x0C+0x0C] { 0x12, 0x8B }, // (Offset,Value)-Pair #1 { 0x13, 0x7C }, // (Offset,Value)-Pair #2 @@ -1467,21 +1111,13 @@ SOOVPA<12> IDirect3DDevice8_DrawVertices_1_0_4361 = // IDirect3DDevice8_DrawVertices+0x9C : retn 0x0C { 0x9C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x9D, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVerticesUP // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVerticesUP_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -1497,21 +1133,13 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4361 = { 0xC1, 0x81 }, // (Offset,Value)-Pair #8 { 0xC2, 0xFE }, // (Offset,Value)-Pair #9 { 0xC3, 0x80 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVertices // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVertices_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x46 }, // (Offset,Value)-Pair #2 @@ -1530,21 +1158,13 @@ SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4361 = { 0xF2, 0x18 }, // (Offset,Value)-Pair #9 { 0xF3, 0x46 }, // (Offset,Value)-Pair #10 { 0xF4, 0x3C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetLight // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetLight_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x394] { 0x11, 0x8B }, // (Offset,Value)-Pair #1 { 0x12, 0xBD }, // (Offset,Value)-Pair #2 @@ -1564,21 +1184,13 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_4361 = { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0940 { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 @@ -1598,21 +1210,13 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4361 = // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4361 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_4361, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0394] { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 { 0x10, 0x9E }, // (Offset,Value)-Pair #2 @@ -1635,21 +1239,13 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_4361 = // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_Lock // ****************************************************************** -SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] { 0x01, 0x8A }, // (Offset,Value)-Pair #1 { 0x02, 0x5C }, // (Offset,Value)-Pair #2 @@ -1668,21 +1264,13 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4361 = // IDirect3DVertexBuffer8_Lock+0x50 : retn 0x14 { 0x50, 0xC2 }, // (Offset,Value)-Pair #10 { 0x51, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_Release // ****************************************************************** -SOOVPA<13> IDirect3DResource8_Release_1_0_4361 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DResource8_Release_1_0_4361, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF { 0x09, 0x81 }, // (Offset,Value)-Pair #1 { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 @@ -1705,21 +1293,13 @@ SOOVPA<13> IDirect3DResource8_Release_1_0_4361 = // IDirect3DResource8_Release+0x4B : retn 0x04 { 0x4B, 0xC2 }, // (Offset,Value)-Pair #12 { 0x4C, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_IsBusy // ****************************************************************** -SOOVPA<11> IDirect3DResource8_IsBusy_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DResource8_IsBusy_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_IsBusy+0x24 : test eax, 0x780000 { 0x24, 0xA9 }, // (Offset,Value)-Pair #1 { 0x25, 0x00 }, // (Offset,Value)-Pair #2 @@ -1738,21 +1318,13 @@ SOOVPA<11> IDirect3DResource8_IsBusy_1_0_4361 = // IDirect3DResource8_IsBusy+0x76 : jnb +0x09 { 0x76, 0x73 }, // (Offset,Value)-Pair #10 { 0x77, 0x09 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DSurface8_GetDesc // ****************************************************************** -SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4361 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_NO_XREF(IDirect3DSurface8_GetDesc_1_0_4361, 15) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DSurface8_GetDesc+0x00 : mov eax, [esp+0x08] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1781,21 +1353,13 @@ SOOVPA<15> IDirect3DSurface8_GetDesc_1_0_4361 = // IDirect3DSurface8_GetDesc+0x11 : retn 0x08 { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 { 0x12, 0x08 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DBaseTexture8_GetLevelCount // ****************************************************************** -SOOVPA<13> IDirect3DBaseTexture8_GetLevelCount_1_0_4361 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DBaseTexture8_GetLevelCount_1_0_4361, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DBaseTexture8_GetLevelCount+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1816,21 +1380,13 @@ SOOVPA<13> IDirect3DBaseTexture8_GetLevelCount_1_0_4361 = // IDirect3DBaseTexture8_GetLevelCount+0x0B : retn 0x04 { 0x0B, 0xC2 }, // (Offset,Value)-Pair #12 { 0x0C, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -1846,22 +1402,14 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_4361 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilFail // ****************************************************************** /* Blueshogun96 8/29/08: This is the same as 4432. Copied and pasted. Lazy, I know... */ -SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_StencilFail+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1881,21 +1429,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361 = // IDirect3DDevice8_SetRenderState_StencilFail+0x6A : retn 0x04 { 0x6A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x6B, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_NormalizeNormals // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1909,21 +1449,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361 = // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x36 : retn 0x04 { 0x36, 0xC2 }, // (Offset,Value)-Pair #7 { 0x37, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPalette // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetPalette_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 @@ -1941,22 +1473,14 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4361 = // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetShaderConstantMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetShaderConstantMode_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetShaderConstantMode+0x26 : mov [ebx+0x20D8], eax { 0x26, 0x89 }, // (Offset,Value)-Pair #1 { 0x27, 0x83 }, // (Offset,Value)-Pair #2 @@ -1974,21 +1498,13 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_4361 = { 0xE8, 0xC6 }, // (Offset,Value)-Pair #10 { 0xE9, 0x24 }, // (Offset,Value)-Pair #11 { 0xEA, 0x01 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetFlickerFilter_1_0_4361, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x2268] { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 { 0x1E, 0x7C }, // (Offset,Value)-Pair #3 @@ -2005,21 +1521,13 @@ SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4361 = // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x40, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x2268] { 0x25, 0x8B }, // (Offset,Value)-Pair #1 { 0x26, 0x90 }, // (Offset,Value)-Pair #2 @@ -2037,21 +1545,13 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361 = // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_PrimeVertexCache // ****************************************************************** -SOOVPA<7> D3DDevice_PrimeVertexCache_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_PrimeVertexCache_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0xE8 }, { 0x1E, 0xEE }, { 0x2E, 0xC1 }, @@ -2059,21 +1559,13 @@ SOOVPA<7> D3DDevice_PrimeVertexCache_1_0_4361 = { 0x4E, 0x8B }, { 0x5E, 0x04 }, { 0x6E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginPush // ****************************************************************** -SOOVPA<7> D3DDevice_BeginPush_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BeginPush_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x6A }, { 0x08, 0x00 }, { 0x10, 0x8B }, @@ -2081,21 +1573,13 @@ SOOVPA<7> D3DDevice_BeginPush_1_0_4361 = { 0x17, 0xE8 }, { 0x1C, 0x8B }, { 0x21, 0x01 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndPush // ****************************************************************** -SOOVPA<8> D3DDevice_EndPush_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_EndPush_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x02, 0x24 }, { 0x04, 0x8B }, @@ -2104,21 +1588,13 @@ SOOVPA<8> D3DDevice_EndPush_1_0_4361 = { 0x0C, 0xC2 }, { 0x0D, 0x04 }, { 0x0E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_Begin // ****************************************************************** -SOOVPA<7> D3DDevice_Begin_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_Begin_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0xE8 }, { 0x0C, 0x8B }, { 0x13, 0xE8 }, @@ -2126,21 +1602,13 @@ SOOVPA<7> D3DDevice_Begin_1_0_4361 = { 0x21, 0x00 }, { 0x28, 0x89 }, { 0x2F, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_End // ****************************************************************** -SOOVPA<7> D3DDevice_End_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_End_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x17 }, @@ -2148,21 +1616,13 @@ SOOVPA<7> D3DDevice_End_1_0_4361 = { 0x26, 0x46 }, { 0x2E, 0x01 }, { 0x36, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData2f // ****************************************************************** -SOOVPA<8> D3DDevice_SetVertexData2f_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetVertexData2f_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x72 }, { 0x13, 0x8B }, @@ -2171,21 +1631,13 @@ SOOVPA<8> D3DDevice_SetVertexData2f_1_0_4361 = { 0x28, 0x89 }, { 0x2F, 0xC0 }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData4f // ****************************************************************** -SOOVPA<7> D3DDevice_SetVertexData4f_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVertexData4f_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x46 }, { 0x16, 0x08 }, { 0x22, 0x09 }, @@ -2193,21 +1645,13 @@ SOOVPA<7> D3DDevice_SetVertexData4f_1_0_4361 = { 0x3A, 0x24 }, { 0x46, 0x8B }, { 0x52, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData4ub // ****************************************************************** -SOOVPA<7> D3DDevice_SetVertexData4ub_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVertexData4ub_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x06 }, { 0x13, 0x8B }, { 0x1C, 0x04 }, @@ -2215,21 +1659,13 @@ SOOVPA<7> D3DDevice_SetVertexData4ub_1_0_4361 = { 0x30, 0x24 }, { 0x3A, 0x24 }, { 0x44, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_Release // ****************************************************************** -SOOVPA<8> D3DDevice_Release_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_Release_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x00 }, { 0x13, 0xCF }, @@ -2238,21 +1674,13 @@ SOOVPA<8> D3DDevice_Release_1_0_4361 = { 0x2A, 0xF3 }, { 0x2F, 0x89 }, { 0x36, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginPushBuffer // ****************************************************************** -SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BeginPushBuffer_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0xCE }, { 0x1B, 0x89 }, { 0x25, 0x00 }, @@ -2260,21 +1688,13 @@ SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_4361 = { 0x3F, 0x03 }, { 0x4C, 0x04 }, { 0x59, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** -SOOVPA<7> D3DDevice_EndPushBuffer_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_EndPushBuffer_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x11, 0x8D }, { 0x24, 0x8B }, { 0x37, 0x58 }, @@ -2282,21 +1702,13 @@ SOOVPA<7> D3DDevice_EndPushBuffer_1_0_4361 = { 0x5D, 0xF7 }, { 0x70, 0x03 }, { 0x83, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetPushBufferOffset // ****************************************************************** -SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x14, 0xB8 }, { 0x2A, 0x8B }, { 0x40, 0x47 }, @@ -2304,21 +1716,13 @@ SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_4361 = { 0x6C, 0xAB }, { 0x82, 0x04 }, { 0x98, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_RunPushBuffer // ****************************************************************** -SOOVPA<8> D3DDevice_RunPushBuffer_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_RunPushBuffer_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x07 }, { 0x3E, 0x00 }, { 0x5E, 0x46 }, @@ -2327,21 +1731,13 @@ SOOVPA<8> D3DDevice_RunPushBuffer_1_0_4361 = { 0xBE, 0x74 }, { 0xE2, 0x8B }, { 0xFE, 0x24 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CreateCubeTexture // ****************************************************************** -SOOVPA<8> D3DDevice_CreateCubeTexture_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_CreateCubeTexture_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x18 }, { 0x08, 0x8B }, { 0x0D, 0x8B }, @@ -2350,21 +1746,13 @@ SOOVPA<8> D3DDevice_CreateCubeTexture_1_0_4361 = { 0x1C, 0x6A }, { 0x25, 0xC2 }, { 0x26, 0x18 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** -SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x44 }, { 0x14, 0x24 }, { 0x1F, 0x50 }, @@ -2372,1375 +1760,289 @@ SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_4361 = { 0x35, 0x8B }, { 0x40, 0x24 }, { 0x4B, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_4361 // ****************************************************************** -OOVPATable D3D8_1_0_4361[] = -{ +OOVPATable D3D8_1_0_4361[] = { + // IDirect3D8::CreateDevice - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_4361, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3D8::CheckDeviceFormat - { - (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, - - XTL::EmuIDirect3D8_CheckDeviceFormat, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CheckDeviceFormat" - #endif - }, - // IDirect3DDevice8::LoadVertexShader (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_4034, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::SelectVertexShader - { - (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_4361, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, - // IDirect3DDevice8::SetRenderTarget (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::AddRef - { - (OOVPA*)&IDirect3DDevice8_AddRef_1_0_4361, - - XTL::EmuIDirect3DDevice8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_4361, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3D8::CheckDeviceFormat + OOVPA_TABLE_PATCH(IDirect3D8_CheckDeviceFormat_1_0_4361, XTL::EmuIDirect3D8_CheckDeviceFormat), + // IDirect3DDevice8::LoadVertexShader (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_4034, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::SelectVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SelectVertexShader_1_0_4361, XTL::EmuIDirect3DDevice8_SelectVertexShader), + // IDirect3DDevice8::SetRenderTarget (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::AddRef + OOVPA_TABLE_PATCH(IDirect3DDevice8_AddRef_1_0_4361, XTL::EmuIDirect3DDevice8_AddRef), // IDirect3D::ClearStateBlockFlags - { - (OOVPA*)&IDirect3D_ClearStateBlockFlags_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D_ClearStateBlockFlags (XREF)" - #endif - }, - // IDirect3DDevice8::SetGammaRamp - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetGammaRamp" - #endif - }, + OOVPA_TABLE_XREF(IDirect3D_ClearStateBlockFlags_1_0_4361), + // IDirect3DDevice8::SetGammaRamp + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_4361, XTL::EmuIDirect3DDevice8_SetGammaRamp), // IDirect3D::RecordStateBlock - { - (OOVPA*)&IDirect3D_RecordStateBlock_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D_RecordStateBlock (XREF)" - #endif - }, - // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, - // IDirect3DDevice8::CaptureStateBlock - { - (OOVPA*)&IDirect3DDevice8_CaptureStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_CaptureStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CaptureStateBlock" - #endif - }, + OOVPA_TABLE_XREF(IDirect3D_RecordStateBlock_1_0_4361), + // IDirect3DDevice8::BeginStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_BeginStateBlock), + // IDirect3DDevice8::CaptureStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_CaptureStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_CaptureStateBlock), // D3DDevice_DeleteStateBlock - { - (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_4361, - XTL::EmuIDirect3DDevice8_DeleteStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteStateBlock" - #endif - }, - // IDirect3DDevice8::ApplyStateBlock - { - (OOVPA*)&IDirect3DDevice8_ApplyStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_ApplyStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_ApplyStateBlock" - #endif - }, - // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, - // IDirect3DDevice8::CopyRects - { - (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_4361, - - XTL::EmuIDirect3DDevice8_CopyRects, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CopyRects" - #endif - }, - // IDirect3DDevice8::CreateImageSurface - { - (OOVPA*)&IDirect3DDevice8_CreateImageSurface_1_0_4361, - - XTL::EmuIDirect3DDevice8_CreateImageSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateImageSurface" - #endif - }, - // IDirect3DDevice8::GetBackBuffer (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, - // IDirect3DDevice8::GetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface" - #endif - }, - // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant" - #endif - }, - // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, - // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::GetViewport - { - (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture" - #endif - }, - // IDirect3DDevice8::SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetTexture - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::SwitchTexture - { - (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SwitchTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SwitchTexture" - #endif - }, - // IDirect3DDevice8::GetDisplayMode - { - (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, - // IDirect3DDevice8::Clear (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_4134, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::Swap - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_4361, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer" - #endif - }, - // IDirect3DDevice8::EnableOverlay - { - (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, - - XTL::EmuIDirect3DDevice8_EnableOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EnableOverlay" - #endif - }, - // IDirect3DDevice8::UpdateOverlay - { - (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_4361, - - XTL::EmuIDirect3DDevice8_UpdateOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_UpdateOverlay" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetRenderState_VertexBlend - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_TextureFactor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_Simple - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::GetTransform - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::SetStreamSource - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::DrawVertices - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4361, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, - // IDirect3DDevice8::DrawVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4361, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4361, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::SetLight - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, - // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, - // IDirect3DDevice8::LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, - // IDirect3DVertexBuffer8::Lock - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4361, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - }, - // IDirect3DResource8::Register (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DResource8::Release - { - (OOVPA*)&IDirect3DResource8_Release_1_0_4361, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::IsBusy - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // Get2DSurfacDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_4361, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, - // IDirect3DSurface8::GetDesc - { - (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, - // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, - // IDirect3DBaseTexture8::GetLevelCount - { - (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, - - XTL::EmuIDirect3DBaseTexture8_GetLevelCount, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DBaseTexture8_GetLevelCount" - #endif - }, - // IDirect3DTexture8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_3925, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_DeleteStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_DeleteStateBlock), + // IDirect3DDevice8::ApplyStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_ApplyStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_ApplyStateBlock), + // IDirect3DDevice8::EndStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_EndStateBlock), + // IDirect3DDevice8::CopyRects + OOVPA_TABLE_PATCH(IDirect3DDevice8_CopyRects_1_0_4361, XTL::EmuIDirect3DDevice8_CopyRects), + // IDirect3DDevice8::CreateImageSurface + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateImageSurface_1_0_4361, XTL::EmuIDirect3DDevice8_CreateImageSurface), + // IDirect3DDevice8::GetBackBuffer (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer_1_0_4134, XTL::EmuIDirect3DDevice8_GetBackBuffer), + // IDirect3DDevice8::GetRenderTarget + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget_1_0_4361, XTL::EmuIDirect3DDevice8_GetRenderTarget), + // IDirect3DDevice8::GetDepthStencilSurface (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface_1_0_4134, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface), + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::SetVertexShaderConstant + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant), + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePixelShader), + // IDirect3DDevice8::SetPixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_4361, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_4034, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::GetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetViewport_1_0_4361, XTL::EmuIDirect3DDevice8_GetViewport), + // IDirect3DDevice8::SetTextureState_BumpEnv + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetTextureState_BorderColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateTexture), + // IDirect3DDevice8::SetIndices + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_4361, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::SwitchTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_SwitchTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SwitchTexture), + // IDirect3DDevice8::GetDisplayMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayMode_1_0_4361, XTL::EmuIDirect3DDevice8_GetDisplayMode), + // IDirect3DDevice8::Clear (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_4134, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::Swap + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_4361, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexBuffer), + // IDirect3DDevice8::EnableOverlay + OOVPA_TABLE_PATCH(IDirect3DDevice8_EnableOverlay_1_0_4361, XTL::EmuIDirect3DDevice8_EnableOverlay), + // IDirect3DDevice8::UpdateOverlay + OOVPA_TABLE_PATCH(IDirect3DDevice8_UpdateOverlay_1_0_4361, XTL::EmuIDirect3DDevice8_UpdateOverlay), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4361, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::SetTextureState_TexCoordIndex + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetRenderState_VertexBlend + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_TextureFactor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DDevice8::SetRenderState_FillMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_Simple + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_StencilEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_4134, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::GetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_4361, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::SetStreamSource + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4361, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::DrawVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_4361, XTL::EmuIDirect3DDevice8_DrawVertices), + // IDirect3DDevice8::DrawVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUP_1_0_4361, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_4361, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::SetLight + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_4361, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::SetMaterial + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_4361, XTL::EmuIDirect3DDevice8_SetMaterial), + // IDirect3DDevice8::LightEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_4361, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DVertexBuffer8::Lock + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_4361, XTL::EmuIDirect3DVertexBuffer8_Lock), + // IDirect3DResource8::Register (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DResource8::Release + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_4361, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::IsBusy + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_4361, XTL::EmuIDirect3DResource8_IsBusy), + // Get2DSurfacDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_4361, XTL::EmuGet2DSurfaceDesc), + // IDirect3DSurface8::GetDesc + OOVPA_TABLE_PATCH(IDirect3DSurface8_GetDesc_1_0_4361, XTL::EmuIDirect3DSurface8_GetDesc), + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), + // IDirect3DBaseTexture8::GetLevelCount + OOVPA_TABLE_PATCH(IDirect3DBaseTexture8_GetLevelCount_1_0_4361, XTL::EmuIDirect3DBaseTexture8_GetLevelCount), + // IDirect3DTexture8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DTexture8_LockRect), + // IDirect3DTexture8::GetSurfaceLevel (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel_1_0_3925, XTL::EmuIDirect3DTexture8_GetSurfaceLevel), // IDirect3DDevice8_SetRenderState_StencilFail - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), // IDirect3DDevice8_SetRenderState_NormalizeNormals - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), // IDirect3DDevice8::CreatePalette (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePalette_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePalette), // IDirect3DDevice8::CreateIndexBuffer // TODO: This needs to be verified on 4361, not just 4242! - { - (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateIndexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateIndexBuffer), // IDirect3DDevice8::SetRenderState_ZBias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), // IDirect3DResource8::AddRef - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::Release - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::Release + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), // IDirect3DPalette8::Lock (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, - - XTL::EmuIDirect3DPalette8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock_1_0_3925, XTL::EmuIDirect3DPalette8_Lock), // IDirect3DCubeTexture8::LockRect // TODO: This needs to be verified on 4361, not just 4242! - { - (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DCubeTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_LockRect_4242" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DCubeTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DCubeTexture8_LockRect), // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_4361, XTL::EmuIDirect3DDevice8_SetPalette), // IDirect3DDevice8::Reset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4134, XTL::EmuIDirect3DDevice8_Reset), // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_4034, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), // IDirect3DDevice8::SetTextureState_TwoSidedLighting (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), // IDirect3DDevice8::SetRenderState_LogicOp (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), // IDirect3DDevice8::SetRenderState_MultiSampleMask (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), // IDirect3DDevice8::SetRenderState_MultiSampleMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), // IDirect3DDevice8::DrawIndexedVerticesUP (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, - - XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVerticesUP" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP), // IDirect3DDevice8::SetPixelShaderConstant (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_DeletePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DeletePixelShader_1_0_4134, XTL::EmuIDirect3DDevice8_DeletePixelShader), // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullModeB" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteVertexShader), // IDirect3DDevice8_SetScreenSpaceOffset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), // D3D::SetFence (XREF) (* unchanged since 4134 *) - { - (OOVPA*)&D3D_SetFence_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "D3D::SetFence (XREF)" - #endif - }, + OOVPA_TABLE_XREF(D3D_SetFence_1_0_4134), // IDirect3DDevice8::SetRenderState_LineWidth (* unchanged since 4134 *) - { - (OOVPA*)&D3DDevice_SetRenderState_LineWidth_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LineWidth_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), // IDirect3DDevice8::SetSwapCallback (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetSwapCallback_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetSwapCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSwapCallback" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSwapCallback_1_0_4134, XTL::EmuIDirect3DDevice8_SetSwapCallback), // IDirect3DDevice8::GetTile (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_GetTile_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetTile, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTile" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTile_1_0_4134, XTL::EmuIDirect3DDevice8_GetTile), // IDirect3DDevice8::SetTile (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTile_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTileNoWait, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTile" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTile_1_0_4134, XTL::EmuIDirect3DDevice8_SetTileNoWait), // IDirect3DDevice8::IsBusy (* unchanged since 4134 *) - { - (OOVPA*)&D3DDevice_IsBusy_1_0_4134, - - XTL::EmuIDirect3DDevice8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_IsBusy" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_IsBusy_1_0_4134, XTL::EmuIDirect3DDevice8_IsBusy), // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, - // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVisibilityTestResult" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, XTL::EmuIDirect3DDevice8_GetVisibilityTestResult), // IDirect3DDevice8::SetShaderConstantMode - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_4361, XTL::EmuIDirect3DDevice8_SetFlickerFilter), // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSoftDisplayFilter_1_0_4361, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), // D3DDevice_PrimeVertexCache - { - (OOVPA*)&D3DDevice_PrimeVertexCache_1_0_4361, - XTL::EmuIDirect3DDevice8_PrimeVertexCache, - - #ifdef _DEBUG_TRACE - "D3DDevice_PrimeVertexCache" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_PrimeVertexCache_1_0_4361, XTL::EmuIDirect3DDevice8_PrimeVertexCache), // D3DDevice_BeginPush - { - (OOVPA*)&D3DDevice_BeginPush_1_0_4361, - XTL::EmuIDirect3DDevice8_BeginPush, - - #ifdef _DEBUG_TRACE - "D3DDevice_BeginPush" - #endif - }, - // D3DDevice_EndPush - { - (OOVPA*)&D3DDevice_EndPush_1_0_4361, - XTL::EmuIDirect3DDevice8_EndPush, - - #ifdef _DEBUG_TRACE - "D3DDevice_EndPush" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginPush_1_0_4361, XTL::EmuIDirect3DDevice8_BeginPush), + // D3DDevice_EndPush + OOVPA_TABLE_PATCH(D3DDevice_EndPush_1_0_4361, XTL::EmuIDirect3DDevice8_EndPush), // IDirect3DDevice8::Begin - { - (OOVPA*)&D3DDevice_Begin_1_0_4361, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_Begin_1_0_4361, XTL::EmuIDirect3DDevice8_Begin), // IDirect3DDevice8::End - { - (OOVPA*)&D3DDevice_End_1_0_4361, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_End_1_0_4361, XTL::EmuIDirect3DDevice8_End), // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_4361, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&D3DDevice_SetVertexData2f_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData2f_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::SetVertexData4f + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4f_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4f), // IDirect3DDevice8::SetVertexData4ub - { - (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4ub, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4ub" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4ub_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4ub), // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), // IDirect3DDevice8::BlockOnFence (* unchanged since 4134 *) - { - (OOVPA*)&D3DDevice_BlockOnFence_1_0_4134, - - XTL::EmuIDirect3DDevice8_BlockOnFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockOnFence" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BlockOnFence_1_0_4134, XTL::EmuIDirect3DDevice8_BlockOnFence), // Direct3D_GetAdapterIdentifier (* unchanged since 3925 *) - { - (OOVPA*)&Direct3D_GetAdapterIdentifier_1_0_3925, - XTL::EmuIDirect3D8_GetAdapterIdentifier, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_GetAdapterIdentifier" - #endif - }, + OOVPA_TABLE_PATCH(Direct3D_GetAdapterIdentifier_1_0_3925, XTL::EmuIDirect3D8_GetAdapterIdentifier), // IDirect3DDevice8::Release - { - (OOVPA*)&D3DDevice_Release_1_0_4361, - - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Release" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_Release_1_0_4361, XTL::EmuIDirect3DDevice8_Release), // IDirect3DDevice8::BeginPushBuffer - { - (OOVPA*)&D3DDevice_BeginPushBuffer_1_0_4361, - - XTL::EmuIDirect3DDevice8_BeginPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPushBuffer" - #endif - }, - // IDirect3DDevice8::EndPushBuffer - { - (OOVPA*)&D3DDevice_EndPushBuffer_1_0_4361, - - XTL::EmuIDirect3DDevice8_EndPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPushBuffer" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginPushBuffer_1_0_4361, XTL::EmuIDirect3DDevice8_BeginPushBuffer), + // IDirect3DDevice8::EndPushBuffer + OOVPA_TABLE_PATCH(D3DDevice_EndPushBuffer_1_0_4361, XTL::EmuIDirect3DDevice8_EndPushBuffer), // IDirect3DDevice8::RunPushBuffer - { - (OOVPA*)&D3DDevice_RunPushBuffer_1_0_4361, - - XTL::EmuIDirect3DDevice8_RunPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_RunPushBuffer" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_RunPushBuffer_1_0_4361, XTL::EmuIDirect3DDevice8_RunPushBuffer), // IDirect3DDevice8::GetPushBufferOffset - { - (OOVPA*)&D3DDevice_GetPushBufferOffset_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetPushBufferOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetPushBufferOffset" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetPushBufferOffset_1_0_4361, XTL::EmuIDirect3DDevice8_GetPushBufferOffset), // IDirect3DDevice8::CreateCubeTexture - { - (OOVPA*)&D3DDevice_CreateCubeTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_CreateCubeTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateCubeTexture" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_CreateCubeTexture_1_0_4361, XTL::EmuIDirect3DDevice8_CreateCubeTexture), // IDirect3DCubeTexture8::GetCubeMapSurface - { - (OOVPA*)&D3DCubeTexture_GetCubeMapSurface_1_0_4361, - - XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_GetCubeMapSurface" - #endif - }, + OOVPA_TABLE_PATCH(D3DCubeTexture_GetCubeMapSurface_1_0_4361, XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface), // Lock2DSurface (* unchanged since 3925 *) - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 19edb7738..631aac223 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * IDirect3D8_CreateDevice // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDevice_1_0_4432 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CreateDevice_1_0_4432, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CreateDevice+0x07 : jnz +0x0A { 0x07, 0x75 }, // (Offset,Value)-Pair #1 { 0x08, 0x0A }, // (Offset,Value)-Pair #2 @@ -59,21 +52,13 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_4432 = // IDirect3D8_CreateDevice+0xA0 : retn 0x18 { 0xA0, 0xC2 }, // (Offset,Value)-Pair #7 { 0xA1, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetRenderTarget // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_GetRenderTarget_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_GetRenderTarget_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetRenderTarget+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -96,21 +81,13 @@ SOOVPA<11> IDirect3DDevice8_GetRenderTarget_1_0_4432 = // IDirect3DDevice8_GetRenderTarget+0x1D : retn 0x04 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #10 { 0x1E, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDepthStencilSurface // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_GetDepthStencilSurface_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_GetDepthStencilSurface_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDepthStencilSurface+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -133,21 +110,13 @@ SOOVPA<11> IDirect3DDevice8_GetDepthStencilSurface_1_0_4432 = // IDirect3DDevice8_GetDepthStencilSurface+0x25 : retn 0x04 { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 { 0x26, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4432 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_4432, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPixelShader+0x22 : or ecx, 0x4800 { 0x22, 0x81 }, // (Offset,Value)-Pair #1 { 0x23, 0xC9 }, // (Offset,Value)-Pair #2 @@ -165,21 +134,13 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4432 = // IDirect3DDevice8_SetPixelShader+0xE3 : rep movsd { 0xE3, 0xF3 }, // (Offset,Value)-Pair #9 { 0xE4, 0xA5 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TwoSidedLighting // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4432 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4432, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x11 : or edx, 0x1000 { 0x11, 0x81 }, // (Offset,Value)-Pair #1 { 0x12, 0xCA }, // (Offset,Value)-Pair #2 @@ -200,21 +161,13 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4432 = // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x60 : retn 0x04 { 0x60, 0xC2 }, // (Offset,Value)-Pair #12 { 0x61, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_ColorKeyColor // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4432, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -232,21 +185,13 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4432 = // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x36 : retn 0x08 { 0x36, 0xC2 }, // (Offset,Value)-Pair #11 { 0x37, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_NormalizeNormals // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -260,21 +205,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432 = // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x36 : retn 0x04 { 0x36, 0xC2 }, // (Offset,Value)-Pair #7 { 0x37, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -295,21 +232,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432 = // IDirect3DDevice8_SetRenderState_ZEnable+0x8C : retn 0x04 { 0x8C, 0xC2 }, // (Offset,Value)-Pair #12 { 0x8D, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi { 0x04, 0x56 }, // (Offset,Value)-Pair #1 @@ -328,21 +257,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432 = // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x4F : retn 0x04 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #8 { 0x50, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_LineWidth // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x460] { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 { 0x16, 0x8E }, // (Offset,Value)-Pair #2 @@ -360,21 +281,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432 = // IDirect3DDevice8_SetRenderState_LineWidth+0x62 : retn 0x04 { 0x62, 0xC2 }, // (Offset,Value)-Pair #9 { 0x63, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPalette // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetPalette_1_0_4432, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 @@ -392,21 +305,13 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_4432 = // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Swap_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 { 0x10, 0xBB }, // (Offset,Value)-Pair #1 { 0x11, 0x05 }, // (Offset,Value)-Pair #2 @@ -425,21 +330,13 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4432 = // IDirect3DDevice8_Swap+0xAE : retn 4 { 0xAE, 0xC2 }, // (Offset,Value)-Pair #10 { 0xAF, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Swap_1_0_4531 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_4531, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Swap+0x10 : mov ebx, 5 { 0x10, 0xBB }, // (Offset,Value)-Pair #1 { 0x11, 0x05 }, // (Offset,Value)-Pair #2 @@ -458,21 +355,13 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4531 = // IDirect3DDevice8_Swap+0xAE : retn 4 { 0xB9, 0xC2 }, // (Offset,Value)-Pair #10 { 0xBA, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_UpdateOverlay // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_UpdateOverlay_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2AA4], ecx { 0x0F, 0x89 }, // (Offset,Value)-Pair #1 { 0x10, 0x88 }, // (Offset,Value)-Pair #2 @@ -489,21 +378,13 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4432 = { 0xA3, 0x8E }, // (Offset,Value)-Pair #9 { 0xA4, 0x20 }, // (Offset,Value)-Pair #10 { 0xA5, 0x89 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, // (Offset,Value)-Pair #1 { 0x06, 0x00 }, // (Offset,Value)-Pair #2 @@ -522,21 +403,13 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432 = // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -556,21 +429,13 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432 = // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 { 0x11, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BackFillMode // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_BackFillMode_1_0_4531 = -{ - 0, // Large == 0 - 9, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_BackFillMode_1_0_4531, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x56 }, { 0x10, 0x8B }, { 0x11, 0x06 }, @@ -580,42 +445,26 @@ SOOVPA<9> IDirect3DDevice8_BackFillMode_1_0_4531 = { 0x41, 0x83 }, { 0x42, 0xC0 }, { 0x43, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginPush // ****************************************************************** -SOOVPA<6> D3DDevice_BeginPush_1_0_4432 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_BeginPush_1_0_4432, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x8B }, { 0x0A, 0xCE }, { 0x10, 0x8B }, { 0x11, 0x44 }, { 0x17, 0xE8 }, { 0x1D, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndPush // ****************************************************************** -SOOVPA<8> D3DDevice_EndPush_1_0_4432 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_EndPush_1_0_4432, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x02, 0x24 }, { 0x04, 0x8B }, @@ -624,22 +473,14 @@ SOOVPA<8> D3DDevice_EndPush_1_0_4432 = { 0x0C, 0xC2 }, { 0x0D, 0x04 }, { 0x0E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeletePixelShader // ****************************************************************** // TODO: Add -SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4531 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_DeletePixelShader_1_0_4531, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x75 }, { 0x0A, 0x04 }, @@ -647,21 +488,13 @@ SOOVPA<7> IDirect3DDevice8_DeletePixelShader_1_0_4531 = { 0x12, 0x04 }, { 0x18, 0xC2 }, { 0x1A, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Release // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_Release_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_Release_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x08, 0x87 }, { 0x09, 0x40 }, @@ -673,21 +506,13 @@ SOOVPA<14> IDirect3DDevice8_Release_1_0_4432 = { 0x1D, 0x0A }, { 0x1E, 0x00 }, { 0x1F, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_GetSurfaceLevel // ****************************************************************** -SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel_1_0_4432 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DTexture8_GetSurfaceLevel_1_0_4432, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DTexture8_GetSurfaceLevel+0x00 : sub esp, 0x0C { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -715,21 +540,13 @@ SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel_1_0_4432 = // IDirect3DTexture8_GetSurfaceLevel+0x4C : retn 0x0C { 0x4C, 0xC2 }, // (Offset,Value)-Pair #13 { 0x4D, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDisplayMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetDisplayMode_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetDisplayMode_1_0_4432, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] { 0x01, 0x8B }, // (Offset,Value)-Pair #1 { 0x02, 0x35 }, // (Offset,Value)-Pair #2 @@ -751,21 +568,13 @@ SOOVPA<12> IDirect3DDevice8_GetDisplayMode_1_0_4432 = // IDirect3DDevice8_GetDisplayMode+0x92 : retn 4 { 0x92, 0xC2 }, // (Offset,Value)-Pair #11 { 0x93, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetFlickerFilter_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x227C] { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 { 0x1E, 0x7C }, // (Offset,Value)-Pair #3 @@ -782,21 +591,13 @@ SOOVPA<11> IDirect3DDevice8_SetFlickerFilter_1_0_4432 = // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x40, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x227C] { 0x25, 0x8B }, // (Offset,Value)-Pair #1 { 0x26, 0x90 }, // (Offset,Value)-Pair #2 @@ -814,21 +615,13 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432 = // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_Lock // ****************************************************************** -SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4531 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock_1_0_4531, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVertexBuffer8_Lock+0x01 : mov bl, [esp+0x18] { 0x01, 0x8A }, // (Offset,Value)-Pair #1 { 0x02, 0x5C }, // (Offset,Value)-Pair #2 @@ -847,21 +640,13 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock_1_0_4531 = // IDirect3DVertexBuffer8_Lock+0x50 : retn 0x14 { 0x54, 0xC2 }, // (Offset,Value)-Pair #10 { 0x55, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** -SOOVPA<7> D3DDevice_GetProjectionViewportMatrix_1_0_4432 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix_1_0_4432, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x35 }, { 0x07, 0x57 }, { 0x0A, 0x24 }, @@ -869,21 +654,13 @@ SOOVPA<7> D3DDevice_GetProjectionViewportMatrix_1_0_4432 = { 0x12, 0xB9 }, { 0x16, 0x00 }, { 0x1A, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexShaderInput // ****************************************************************** -SOOVPA<8> D3DDevice_SetVertexShaderInput_1_0_4432 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput_1_0_4432, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x83 }, { 0x3E, 0x10 }, { 0x5E, 0x00 }, @@ -892,21 +669,13 @@ SOOVPA<8> D3DDevice_SetVertexShaderInput_1_0_4432 = { 0xBE, 0x81 }, { 0xDE, 0xC6 }, { 0xFE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetModelView // ****************************************************************** -SOOVPA<7> D3DDevice_SetModelView_1_0_4432 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetModelView_1_0_4432, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x15, 0x25 }, { 0x2F, 0x81 }, { 0x43, 0x43 }, @@ -914,1181 +683,247 @@ SOOVPA<7> D3DDevice_SetModelView_1_0_4432 = { 0x72, 0x8D }, { 0x88, 0x00 }, { 0x9F, 0x75 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_4432 // ****************************************************************** -OOVPATable D3D8_1_0_4432[] = -{ +OOVPATable D3D8_1_0_4432[] { + // IDirect3D8::CreateDevice - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_4432, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, - - XTL::EmuIDirect3D8_CheckDeviceFormat, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CheckDeviceFormat" - #endif - }, - // IDirect3DDevice8::SetRenderTarget (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::AddRef (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_AddRef_1_0_4361, - - XTL::EmuIDirect3DDevice8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_AddRef" - #endif - }, - // IDirect3DDevice8::GetBackBuffer (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer_1_0_4134, - - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, - // IDirect3DDevice8::Reset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, - // IDirect3DDevice8::GetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget_1_0_4432, - - XTL::EmuIDirect3DDevice8_GetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface_1_0_4432, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface" - #endif - }, - // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4034, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, - // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::SetTexture (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, - - XTL::EmuIDirect3DDevice8_EnableOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EnableOverlay" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetTextureState_TwoSidedLighting (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting" - #endif - }, - // IDirect3DDevice8::SetRenderState_BackFillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, - // IDirect3DDevice8::SetRenderState_LogicOp (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, - // IDirect3DDevice8::SetRenderState_NormalizeNormals - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, - // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, - // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVisibilityTestResult" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_LineWidth - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, - // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleMask (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SwitchTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SwitchTexture" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::Clear (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_4134, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::CreatePalette (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePalette_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette" - #endif - }, - // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, - // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateTexture_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture" - #endif - }, - // IDirect3DDevice8::Swap - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_4432, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_4432, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3D8_CheckDeviceFormat_1_0_4361, XTL::EmuIDirect3D8_CheckDeviceFormat), + // IDirect3DDevice8::SetRenderTarget (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::AddRef (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_AddRef_1_0_4361, XTL::EmuIDirect3DDevice8_AddRef), + // IDirect3DDevice8::GetBackBuffer (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer_1_0_4134, XTL::EmuIDirect3DDevice8_GetBackBuffer), + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4134, XTL::EmuIDirect3DDevice8_Reset), + // IDirect3DDevice8::GetRenderTarget + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget_1_0_4432, XTL::EmuIDirect3DDevice8_GetRenderTarget), + // IDirect3DDevice8::GetDepthStencilSurface + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface_1_0_4432, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface), + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::SetPixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_4432, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_4034, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), + // IDirect3DDevice8::SetViewport (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_4034, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::SetTexture (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EnableOverlay_1_0_4361, XTL::EmuIDirect3DDevice8_EnableOverlay), + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetTextureState_TwoSidedLighting (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), + // IDirect3DDevice8::SetRenderState_BackFillMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), + // IDirect3DDevice8::SetRenderState_LogicOp (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LogicOp_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), + // IDirect3DDevice8::SetRenderState_NormalizeNormals + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, XTL::EmuIDirect3DDevice8_GetVisibilityTestResult), + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_LineWidth + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_MultiSampleMask (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), + // IDirect3DDevice8::SetRenderState_MultiSampleMode (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SwitchTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SwitchTexture), + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_4134, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_4361, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::Clear (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_4134, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::CreatePalette (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePalette_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePalette), + // IDirect3DDevice8::SetPalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_4432, XTL::EmuIDirect3DDevice8_SetPalette), + // IDirect3DDevice8::CreateTexture (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture_1_0_3925, XTL::EmuIDirect3DDevice8_CreateTexture), // IDirect3DDevice8::Swap - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_4531, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap (4531)" - #endif - }, - // IDirect3DDevice8::UpdateOverlay - { - (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_4432, - - XTL::EmuIDirect3DDevice8_UpdateOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_UpdateOverlay" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, - // IDirect3DDevice8::DrawIndexedVerticesUP (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, - - XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVerticesUP" - #endif - }, - // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShader (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::DrawVerticesUP (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4361, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // IDirect3DDevice8::SetLight (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, - // IDirect3DDevice8::LightEnable (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, - // IDirect3DResource8::Register (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DResource8::AddRef (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::Release (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::IsBusy (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel_1_0_4432, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel" - #endif - }, - // IDirect3DPalette8::Lock (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DPalette8_Lock_1_0_3925, - - XTL::EmuIDirect3DPalette8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock" - #endif - }, - // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_4432, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::Swap + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_4531, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::UpdateOverlay + OOVPA_TABLE_PATCH(IDirect3DDevice8_UpdateOverlay_1_0_4432, XTL::EmuIDirect3DDevice8_UpdateOverlay), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::SetVerticalBlankCallback + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // IDirect3DDevice8::DrawIndexedVerticesUP (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4134, XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP), + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4361, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShader (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::DrawVerticesUP (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUP_1_0_4361, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::SetLight (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_4361, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::LightEnable (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_4361, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DResource8::Register (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::Release (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_4361, XTL::EmuIDirect3DResource8_IsBusy), + // IDirect3DTexture8::GetSurfaceLevel + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel_1_0_4432, XTL::EmuIDirect3DTexture8_GetSurfaceLevel), + // IDirect3DPalette8::Lock (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock_1_0_3925, XTL::EmuIDirect3DPalette8_Lock), + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), // IDirect3DDevice8_Release - { - (OOVPA*)&IDirect3DDevice8_Release_1_0_4432, - - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Release" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Release_1_0_4432, XTL::EmuIDirect3DDevice8_Release), // IDirect3DDevice8::SetMaterial (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_4361, XTL::EmuIDirect3DDevice8_SetMaterial), // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), // IDirect3DDevice8_BackFillMode_4531 - { - (OOVPA*)&IDirect3DDevice8_BackFillMode_1_0_4531, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode (4531)" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_BackFillMode_1_0_4531, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DSurface8_GetDesc_1_0_4361, XTL::EmuIDirect3DSurface8_GetDesc), // Get2DSurfacDesc (* unchanged since 4361 *) - { - (OOVPA*)&Get2DSurfaceDesc_1_0_4361, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_4361, XTL::EmuGet2DSurfaceDesc), // IDirect3DDevice8::SetPixelShaderConstant (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_DeletePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DeletePixelShader_1_0_4134, XTL::EmuIDirect3DDevice8_DeletePixelShader), // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullModeB" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteVertexShader), // IDirect3DDevice8_SetScreenSpaceOffset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), // D3D::SetFence (XREF) (* unchanged since 4134 *) - { - (OOVPA*)&D3D_SetFence_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "D3D::SetFence (XREF)" - #endif - }, + OOVPA_TABLE_XREF(D3D_SetFence_1_0_4134), // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), // IDirect3DDevice8::GetDisplayMode - { - (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4432, - - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayMode_1_0_4432, XTL::EmuIDirect3DDevice8_GetDisplayMode), // IDirect3DDevice8::CreateVertexBuffer (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexBuffer), // IDirect3DVertexBuffer8::Lock (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4361, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_4361, XTL::EmuIDirect3DVertexBuffer8_Lock), // IDirect3DVertexBuffer8::Lock - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_4531, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock (4531)" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_4531, XTL::EmuIDirect3DVertexBuffer8_Lock), // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), // IDirect3DDevice8::SetVertexShaderConstant (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant), // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePixelShader), // IDirect3DDevice8::GetViewport (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetViewport_1_0_4361, XTL::EmuIDirect3DDevice8_GetViewport), // IDirect3DDevice8::DrawVertices (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4361, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_4361, XTL::EmuIDirect3DDevice8_DrawVertices), // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_4432, XTL::EmuIDirect3DDevice8_SetFlickerFilter), // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSoftDisplayFilter_1_0_4432, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), // IDirect3DDevice8::SetGammaRamp (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetGammaRamp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_4361, XTL::EmuIDirect3DDevice8_SetGammaRamp), // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4361, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_4361, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), // IDirect3DDevice8::Begin (* unchanged since 4361 *) - { - (OOVPA*)&D3DDevice_Begin_1_0_4361, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_Begin_1_0_4361, XTL::EmuIDirect3DDevice8_Begin), // IDirect3DDevice8::End (* unchanged since 4361 *) - { - (OOVPA*)&D3DDevice_End_1_0_4361, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_End_1_0_4361, XTL::EmuIDirect3DDevice8_End), // IDirect3DDevice8::SetVertexData2f (* unchanged since 4361 *) - { - (OOVPA*)&D3DDevice_SetVertexData2f_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::SetVertexData4f (* unchanged since 4361 *) - { - (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData2f_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::SetVertexData4f (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4f_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4f), // IDirect3DDevice8::SetVertexData4ub (* un`anged since 4361 *) - { - (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4ub, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4ub" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4ub_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4ub), // IDirect3DDevice8::SetIndices (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_4361, XTL::EmuIDirect3DDevice8_SetIndices), // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, - // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, - // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), + // IDirect3DDevice8::BeginStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_BeginStateBlock), + // IDirect3DDevice8::EndStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_EndStateBlock), // Lock2DSurface (* unchanged since 3925 *) - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, - - XTL::EmuIDirect3DBaseTexture8_GetLevelCount, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DBaseTexture8_GetLevelCount" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DBaseTexture8_GetLevelCount_1_0_4361, XTL::EmuIDirect3DBaseTexture8_GetLevelCount), // IDirect3DDevice8_GetProjectionViewportMatrix - { - (OOVPA*)&D3DDevice_GetProjectionViewportMatrix_1_0_4432, - - XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetProjectionViewportMatrix" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetProjectionViewportMatrix_1_0_4432, XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix), // D3DDevice_SetVertexShaderInputDirect - { - (OOVPA*)&D3DDevice_SetVertexShaderInput_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetVertexShaderInput, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderInput" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexShaderInput_1_0_4432, XTL::EmuIDirect3DDevice8_SetVertexShaderInput), // D3DDevice_SetModelView - { - (OOVPA*)&D3DDevice_SetModelView_1_0_4432, - XTL::EmuIDirect3DDevice8_SetModelView, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetModelView" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetModelView_1_0_4432, XTL::EmuIDirect3DDevice8_SetModelView), // IDirect3DDevice8::BeginPush - { - (OOVPA*)&D3DDevice_BeginPush_1_0_4432, - - XTL::EmuIDirect3DDevice8_BeginPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPush" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginPush_1_0_4432, XTL::EmuIDirect3DDevice8_BeginPush), // IDirect3DDevice8::EndPush - { - (OOVPA*)&D3DDevice_EndPush_1_0_4432, - - XTL::EmuIDirect3DDevice8_EndPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPush" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_EndPush_1_0_4432, XTL::EmuIDirect3DDevice8_EndPush), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index b00584e85..711f56787 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * IDirect3D8_CreateDevice // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDevice_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CreateDevice_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CreateDevice+0x07 : jnz +0x0A { 0x07, 0x75 }, // (Offset,Value)-Pair #1 { 0x08, 0x0A }, // (Offset,Value)-Pair #2 @@ -59,21 +52,13 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_4627 = // IDirect3D8_CreateDevice+0x90 : retn 0x18 { 0x90, 0xC2 }, // (Offset,Value)-Pair #7 { 0x91, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_CreateDeviceX (From D3D8X) // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDeviceX_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CreateDeviceX_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CreateDevice+0x07 : jnz +0x0A { 0x07, 0x75 }, // (Offset,Value)-Pair #1 { 0x08, 0x0A }, // (Offset,Value)-Pair #2 @@ -89,21 +74,13 @@ SOOVPA<8> IDirect3D8_CreateDeviceX_1_0_4627 = // IDirect3D8_CreateDevice+0xA0 : retn 0x18 { 0xA0, 0xC2 }, // (Offset,Value)-Pair #7 { 0xA1, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BeginVisibilityTest // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BeginVisibilityTest_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_BeginVisibilityTest_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_BeginVisibilityTest+0x13 : mov dword ptr [eax], 0x000817C8 { 0x13, 0xC7 }, // (Offset,Value)-Pair #1 { 0x14, 0x00 }, // (Offset,Value)-Pair #2 @@ -120,21 +97,13 @@ SOOVPA<11> IDirect3DDevice8_BeginVisibilityTest_1_0_4627 = { 0x24, 0x83 }, // (Offset,Value)-Pair #9 { 0x25, 0xC0 }, // (Offset,Value)-Pair #10 { 0x26, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_CreateDevice // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDevice_1_0_5028 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CreateDevice_1_0_5028, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CreateDevice+0x0A : jnz +0x0A { 0x0A, 0x75 }, // (Offset,Value)-Pair #1 { 0x0B, 0x0A }, // (Offset,Value)-Pair #2 @@ -150,21 +119,13 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_5028 = // IDirect3D8_CreateDevice+0x91 : retn 0x18 { 0x91, 0xC2 }, // (Offset,Value)-Pair #7 { 0x92, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_EndVisibilityTest // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_EndVisibilityTest_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_EndVisibilityTest_1_0_4627, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_EndVisibilityTest+0x11 : mov eax, 0x8007000E { 0x11, 0xB8 }, // (Offset,Value)-Pair #1 { 0x12, 0x0E }, // (Offset,Value)-Pair #2 @@ -183,21 +144,13 @@ SOOVPA<13> IDirect3DDevice8_EndVisibilityTest_1_0_4627 = { 0x49, 0x83 }, // (Offset,Value)-Pair #11 { 0x4A, 0xC0 }, // (Offset,Value)-Pair #12 { 0x4B, 0x0C }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_GetAdapterDisplayMode // ****************************************************************** -SOOVPA<13> IDirect3D8_GetAdapterDisplayMode_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3D8_GetAdapterDisplayMode_1_0_4627, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_GetAdapterDisplayMode+0x08 : mov eax, 0x8876086C { 0x08, 0xB8 }, // (Offset,Value)-Pair #1 { 0x09, 0x6C }, // (Offset,Value)-Pair #2 @@ -218,21 +171,13 @@ SOOVPA<13> IDirect3D8_GetAdapterDisplayMode_1_0_4627 = // IDirect3D8_GetAdapterDisplayMode+0xB6 : retn 0x08 { 0xB6, 0xC2 }, // (Offset,Value)-Pair #12 { 0xB7, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_KickOffAndWaitForIdle // ****************************************************************** -SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3D8_KickOffAndWaitForIdle_1_0_4627, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -253,21 +198,13 @@ SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_4627 = // IDirect3D8_KickOffAndWaitForIdle+0x10 : retn { 0x10, 0xC3 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_KickOffAndWaitForIdle2 // ****************************************************************** -SOOVPA<11> IDirect3D8_KickOffAndWaitForIdle2_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3D8_KickOffAndWaitForIdle2_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_KickOffAndWaitForIdle2+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -292,21 +229,13 @@ SOOVPA<11> IDirect3D8_KickOffAndWaitForIdle2_1_0_4627 = // IDirect3D8_KickOffAndWaitForIdle2+0x1D : retn 0x08 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #10 { 0x1E, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BeginPush // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_BeginPush_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_BeginPush_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x00 }, { 0x12, 0x8B }, { 0x1C, 0x02 }, @@ -314,21 +243,13 @@ SOOVPA<7> IDirect3DDevice8_BeginPush_1_0_4627 = { 0x30, 0xE8 }, { 0x3A, 0x76 }, { 0x44, 0x52 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetViewport // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetViewport_1_0_4627, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetViewport+0x0A : mov eax, [esi+0x21B4] { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 { 0x0B, 0x86 }, // (Offset,Value)-Pair #2 @@ -343,21 +264,16 @@ SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_4627 = { 0xDF, 0x83 }, // (Offset,Value)-Pair #7 { 0xE0, 0xE1 }, // (Offset,Value)-Pair #8 { 0xE1, 0x0F }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * D3D_CommonSetRenderTarget // ****************************************************************** -SOOVPA<12> D3D_CommonSetRenderTarget_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(D3D_CommonSetRenderTarget_1_0_4627, 12, - XREF_COMMONSETRENDERTARGET, // XRef Is Saved - 0, // XRef Not Used + XREF_COMMONSETRENDERTARGET, + XRefZero) - { // D3D_CommonSetRenderTarget+0x00 : sub esp, 0x20 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -377,21 +293,16 @@ SOOVPA<12> D3D_CommonSetRenderTarget_1_0_4627 = { 0xC6, 0x83 }, // (Offset,Value)-Pair #10 { 0xC7, 0xE1 }, // (Offset,Value)-Pair #11 { 0xC8, 0x0F }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3D_CommonSetRenderTargetB // ****************************************************************** -SOOVPA<11> D3D_CommonSetRenderTargetB_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(D3D_CommonSetRenderTargetB_1_0_4627, 11, - XREF_COMMONSETRENDERTARGET, // XRef Is Saved - 0, // XRef Not Used + XREF_COMMONSETRENDERTARGET, + XRefZero) - { // D3D_CommonSetRenderTargetB+0x00 : sub esp, 0x24 { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -410,21 +321,16 @@ SOOVPA<11> D3D_CommonSetRenderTargetB_1_0_4627 = // D3D_CommonSetRenderTargetB+0xF4 : jge +0x06 { 0xF4, 0x7D }, // (Offset,Value)-Pair #10 { 0xF5, 0x06 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderTarget // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderTarget_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(IDirect3DDevice8_SetRenderTarget_1_0_4627, 13, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirect3DDevice8_SetRenderTarget+0x10 : call [D3D_CommonSetRenderTarget] { 0x10, XREF_COMMONSETRENDERTARGET }, // (Offset,Value)-Pair #1 @@ -447,21 +353,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderTarget_1_0_4627 = // IDirect3DDevice8_SetRenderTarget+0x14 : retn 0x08 { 0x14, 0xC2 }, // (Offset,Value)-Pair #12 { 0x15, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_AddRef // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_AddRef_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_AddRef_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -479,21 +377,13 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_4627 = { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 { 0x0E, 0x00 }, // (Offset,Value)-Pair #9 { 0x0F, 0x05 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetGammaRamp // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_4928 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetGammaRamp_1_0_4928, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x25, 0x57 }, // (Offset,Value)-Pair #1 { 0x26, 0x83 }, // (Offset,Value)-Pair #2 { 0x27, 0xE0 }, // (Offset,Value)-Pair #3 @@ -505,21 +395,13 @@ SOOVPA<9> IDirect3DDevice8_SetGammaRamp_1_0_4928 = { 0x5A, 0x89 }, // (Offset,Value)-Pair #7 { 0x5B, 0x82 }, // (Offset,Value)-Pair #8 { 0x5C, 0xE4 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetShaderConstantMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetShaderConstantMode_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetShaderConstantMode+0x26 : mov [ebx+0x20D8], eax { 0x26, 0x89 }, // (Offset,Value)-Pair #1 { 0x27, 0x83 }, // (Offset,Value)-Pair #2 @@ -537,21 +419,13 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_4627 = { 0xE8, 0xC6 }, // (Offset,Value)-Pair #10 { 0xE9, 0x24 }, // (Offset,Value)-Pair #11 { 0xEA, 0x01 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CopyRects // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_CopyRects_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_CopyRects_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x57 }, { 0x3E, 0xF6 }, { 0x5E, 0x00 }, @@ -560,21 +434,13 @@ SOOVPA<8> IDirect3DDevice8_CopyRects_1_0_4627 = { 0xBE, 0x0C }, { 0xDE, 0xF7 }, { 0xFE, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer2_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -594,21 +460,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_4627 = // IDirect3DDevice8_GetBackBuffer+0x40 : retn 0x04 { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 { 0x41, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer2B // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer2B_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer2B_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer2B+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -628,21 +486,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2B_1_0_4627 = // IDirect3DDevice8_GetBackBuffer2B+0x4C : retn 0x04 { 0x4C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x4D, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetRenderTarget2 // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetRenderTarget2_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetRenderTarget2_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetRenderTarget2+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -664,21 +514,13 @@ SOOVPA<10> IDirect3DDevice8_GetRenderTarget2_1_0_4627 = // IDirect3DDevice8_GetRenderTarget2+0x19 : retn { 0x19, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetRenderTarget2B // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetRenderTarget2B_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetRenderTarget2B_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetRenderTarget2B+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -700,21 +542,13 @@ SOOVPA<10> IDirect3DDevice8_GetRenderTarget2B_1_0_4627 = // IDirect3DDevice8_GetRenderTarget2B+0x37 : retn { 0x37, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDepthStencilSurface2 // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetDepthStencilSurface2_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDepthStencilSurface2+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -736,21 +570,13 @@ SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2_1_0_4627 = // IDirect3DDevice8_GetDepthStencilSurface2+0x1D : retn { 0x1D, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDepthStencilSurface2B // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2B_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetDepthStencilSurface2B_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDepthStencilSurface2B+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -772,21 +598,13 @@ SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2B_1_0_4627 = // IDirect3DDevice8_GetDepthStencilSurface2B+0x3B : retn { 0x3B, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetTile // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_GetTile_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_GetTile_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetTile+0x13 : lea esi, [ecx+eax*8+0x2260] { 0x13, 0x8D }, // (Offset,Value)-Pair #1 { 0x14, 0xB4 }, // (Offset,Value)-Pair #2 @@ -805,21 +623,13 @@ SOOVPA<11> IDirect3DDevice8_GetTile_1_0_4627 = // IDirect3DDevice8_GetTile+0x23 : retn 0x08 { 0x23, 0xC2 }, // (Offset,Value)-Pair #10 { 0x24, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTileNoWait // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetTileNoWait_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetTileNoWait_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTileNoWait+0x06 : sub esp, 0x18 { 0x06, 0x83 }, // (Offset,Value)-Pair #1 { 0x07, 0xEC }, // (Offset,Value)-Pair #2 @@ -836,21 +646,13 @@ SOOVPA<11> IDirect3DDevice8_SetTileNoWait_1_0_4627 = { 0x3F, 0xCA }, // (Offset,Value)-Pair #9 { 0x40, 0x60 }, // (Offset,Value)-Pair #10 { 0x41, 0x22 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateIndexBuffer2 // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_CreateIndexBuffer2_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_CreateIndexBuffer2_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0xC0 }, { 0x0F, 0x85 }, { 0x13, 0xC2 }, @@ -858,21 +660,13 @@ SOOVPA<7> IDirect3DDevice8_CreateIndexBuffer2_1_0_4627 = { 0x21, 0x08 }, { 0x28, 0x00 }, { 0x2F, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShaderConstant // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetPixelShaderConstant_1_0_4928 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShaderConstant_1_0_4928, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPixelShaderConstant+0x1E : test eax, eax { 0x1E, 0x85 }, // (Offset,Value)-Pair #1 { 0x1F, 0xC0 }, // (Offset,Value)-Pair #2 @@ -893,21 +687,13 @@ SOOVPA<13> IDirect3DDevice8_SetPixelShaderConstant_1_0_4928 = { 0xC0, 0x0A }, // (Offset,Value)-Pair #11 { 0xC1, 0x04 }, // (Offset,Value)-Pair #12 { 0xC2, 0x00 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant1 // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstant1+0x06 : add eax, 0x1C { 0x06, 0x83 }, // (Offset,Value)-Pair #1 { 0x07, 0xC0 }, // (Offset,Value)-Pair #2 @@ -928,21 +714,13 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627 = // IDirect3DDevice8_SetVertexShaderConstant1+0x5D : jmp +0xA2 { 0x5D, 0xEB }, // (Offset,Value)-Pair #10 { 0x5E, 0xA2 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant4 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstant4+0x05 : add eax, 0x4C { 0x05, 0x83 }, // (Offset,Value)-Pair #1 { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 @@ -962,21 +740,13 @@ SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627 = // IDirect3DDevice8_SetVertexShaderConstant4+0x91 : emms { 0x91, 0x0F }, // (Offset,Value)-Pair #11 { 0x92, 0x77 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstantNotInline // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x02 : test byte ptr ds:[abs], 0x10 { 0x02, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0x00 }, // (Offset,Value)-Pair #2 @@ -998,21 +768,13 @@ SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_4627 = // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x28 : call [abs] { 0x28, 0xE8 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPixelShader+0x26 : or ecx, 0x4800 { 0x26, 0x81 }, // (Offset,Value)-Pair #1 { 0x27, 0xC9 }, // (Offset,Value)-Pair #2 @@ -1030,21 +792,13 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4627 = // IDirect3DDevice8_SetPixelShader+0xDE : rep movsd { 0xDE, 0xF3 }, // (Offset,Value)-Pair #9 { 0xDF, 0xA5 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateTexture2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreateTexture2_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_CreateTexture2_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateTexture2+0x02 : lea eax, [esp+0x20] { 0x02, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x20 }, // (Offset,Value)-Pair #2 @@ -1068,21 +822,13 @@ SOOVPA<12> IDirect3DDevice8_CreateTexture2_1_0_4627 = // IDirect3DDevice8_CreateTexture2+0xAE : retn 0x1C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #11 { 0xAF, 0x1C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateTexture2B // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreateTexture2B_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_CreateTexture2B_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateTexture2B+0x02 : lea eax, [esp+0x20] { 0x02, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x20 }, // (Offset,Value)-Pair #2 @@ -1106,21 +852,13 @@ SOOVPA<12> IDirect3DDevice8_CreateTexture2B_1_0_4627 = // IDirect3DDevice8_CreateTexture2B+0xAE : retn 0x1C { 0x81, 0xC2 }, // (Offset,Value)-Pair #11 { 0x82, 0x1C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateTexture2C // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreateTexture2C_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_CreateTexture2C_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateTexture2C+0x02 : lea eax, [esp+0x20] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x07, 0x20 }, // (Offset,Value)-Pair #2 @@ -1144,21 +882,13 @@ SOOVPA<12> IDirect3DDevice8_CreateTexture2C_1_0_4627 = // IDirect3DDevice8_CreateTexture2C+0xAE : retn 0x1C { 0x88, 0xC2 }, // (Offset,Value)-Pair #11 { 0x89, 0x1C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetIndicesB // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetIndicesB_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetIndicesB_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetIndicesB+0x0F : jz +0x10 { 0x0F, 0x74 }, // (Offset,Value)-Pair #1 { 0x10, 0x10 }, // (Offset,Value)-Pair #2 @@ -1177,21 +907,13 @@ SOOVPA<11> IDirect3DDevice8_SetIndicesB_1_0_4627 = { 0x79, 0x9E }, // (Offset,Value)-Pair #9 { 0x7A, 0x8C }, // (Offset,Value)-Pair #10 { 0x7B, 0x03 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureB // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureB_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureB_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureB+0x0F : push edi { 0x0F, 0x57 }, // (Offset,Value)-Pair #1 @@ -1211,21 +933,13 @@ SOOVPA<10> IDirect3DDevice8_SetTextureB_1_0_4627 = // IDirect3DDevice8_SetTextureB+0xD9 : jz +0x4D { 0xD9, 0x74 }, // (Offset,Value)-Pair #9 { 0xDA, 0x4D }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureC // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureC_1_0_4928 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureC_1_0_4928, 10) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x56 }, // (Offset,Value)-Pair #1 { 0x21, 0x74 }, // (Offset,Value)-Pair #2 @@ -1240,21 +954,13 @@ SOOVPA<10> IDirect3DDevice8_SetTextureC_1_0_4928 = { 0x50, 0x75 }, // (Offset,Value)-Pair #9 { 0x51, 0x47 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDisplayMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetDisplayMode_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetDisplayMode_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetDisplayMode+0x01 : mov esi, ds:[*] { 0x01, 0x8B }, // (Offset,Value)-Pair #1 { 0x02, 0x35 }, // (Offset,Value)-Pair #2 @@ -1276,21 +982,13 @@ SOOVPA<12> IDirect3DDevice8_GetDisplayMode_1_0_4627 = // IDirect3DDevice8_GetDisplayMode+0x7F : jmp +0x1C { 0x7F, 0xEB }, // (Offset,Value)-Pair #11 { 0x80, 0x1C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_RunPushBuffer // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_RunPushBuffer_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_RunPushBuffer_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_RunPushBuffer+0x3C : mov edx, [esi+30h] { 0x3C, 0x8B }, // (Offset,Value)-Pair #1 { 0x3D, 0x56 }, // (Offset,Value)-Pair #2 @@ -1308,21 +1006,13 @@ SOOVPA<10> IDirect3DDevice8_RunPushBuffer_1_0_4627 = { 0xED, 0x8D }, // (Offset,Value)-Pair #8 { 0xEE, 0x78 }, // (Offset,Value)-Pair #9 { 0xEF, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Begin // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_Begin_1_0_4627 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_Begin_1_0_4627, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Begin+0x25 : mov dword ptr [eax], 0x417FC { 0x25, 0xC7 }, // (Offset,Value)-Pair #1 { 0x26, 0x00 }, // (Offset,Value)-Pair #2 @@ -1344,21 +1034,13 @@ SOOVPA<14> IDirect3DDevice8_Begin_1_0_4627 = // IDirect3DDevice8_Begin+0x3B : retn 0x08 { 0x3B, 0xC2 }, // (Offset,Value)-Pair #13 { 0x3C, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexData2f // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_4627 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData2f_1_0_4627, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexData2f+0x20 : lea edx, ds:abs[ecx*8] { 0x20, 0x8D }, // (Offset,Value)-Pair #1 { 0x21, 0x14 }, // (Offset,Value)-Pair #2 @@ -1380,21 +1062,13 @@ SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_4627 = // IDirect3DDevice8_SetVertexData2f+0x3D : retn 0x0C { 0x3D, 0xC2 }, // (Offset,Value)-Pair #13 { 0x3E, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexData4f // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexData4f_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData4f_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexData4f+0x20 : cmp ecx, -1; jnz +0x07 { 0x20, 0x83 }, // (Offset,Value)-Pair #1 { 0x21, 0xF9 }, // (Offset,Value)-Pair #2 @@ -1411,21 +1085,13 @@ SOOVPA<11> IDirect3DDevice8_SetVertexData4f_1_0_4627 = // IDirect3DDevice8_SetVertexData4f+0x5F : retn 0x14 { 0x5F, 0xC2 }, // (Offset,Value)-Pair #10 { 0x60, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_End // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_End_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_End_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_End+0x1C : mov dword ptr [eax], 0x417FC { 0x1C, 0xC7 }, // (Offset,Value)-Pair #1 { 0x1D, 0x00 }, // (Offset,Value)-Pair #2 @@ -1445,21 +1111,12 @@ SOOVPA<12> IDirect3DDevice8_End_1_0_4627 = // IDirect3DDevice8_End+0x45 : retn { 0x45, 0xC3 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Clear // ****************************************************************** -LOOVPA<9> IDirect3DDevice8_Clear_1_0_4627 = -{ - 1, // Large == 1 - 9, // Count == 9 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF_LARGE(IDirect3DDevice8_Clear_1_0_4627, 9) // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 @@ -1474,21 +1131,12 @@ LOOVPA<9> IDirect3DDevice8_Clear_1_0_4627 = // IDirect3DDevice8_Clear+0x0399 : retn 0x18 { 0x0399, 0xC2 }, // (Offset,Value)-Pair #8 { 0x039A, 0x18 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_ClearB // ****************************************************************** -LOOVPA<9> IDirect3DDevice8_ClearB_1_0_4627 = -{ - 1, // Large == 1 - 9, // Count == 9 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF_LARGE(IDirect3DDevice8_ClearB_1_0_4627, 9) // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 @@ -1503,21 +1151,13 @@ LOOVPA<9> IDirect3DDevice8_ClearB_1_0_4627 = // IDirect3DDevice8_Clear+0x03C6 : retn 0x18 { 0x03C6, 0xC2 }, // (Offset,Value)-Pair #8 { 0x03C7, 0x18 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Swap_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Swap+0x2A : mov ebx, 5 { 0x2A, 0xBB }, // (Offset,Value)-Pair #1 { 0x2B, 0x05 }, // (Offset,Value)-Pair #2 @@ -1536,21 +1176,13 @@ SOOVPA<11> IDirect3DDevice8_Swap_1_0_4627 = // IDirect3DDevice8_Swap+0xD8 : retn 4 { 0xD8, 0xC2 }, // (Offset,Value)-Pair #10 { 0xD9, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexBuffer2 // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_CreateVertexBuffer2_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexBuffer2_1_0_4627, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateVertexBuffer2+0x03 : push 0x40 { 0x03, 0x6A }, // (Offset,Value)-Pair #1 { 0x04, 0x40 }, // (Offset,Value)-Pair #2 @@ -1571,21 +1203,13 @@ SOOVPA<13> IDirect3DDevice8_CreateVertexBuffer2_1_0_4627 = // IDirect3DDevice8_CreateVertexBuffer2+0x4A : retn 0x04 { 0x4A, 0xC2 }, // (Offset,Value)-Pair #12 { 0x4B, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_UpdateOverlay // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_UpdateOverlay_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_UpdateOverlay+0x0F : mov [eax+0x2BA8], ecx { 0x0F, 0x89 }, // (Offset,Value)-Pair #1 { 0x10, 0x88 }, // (Offset,Value)-Pair #2 @@ -1602,21 +1226,13 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_4627 = { 0xAD, 0x86 }, // (Offset,Value)-Pair #9 { 0xAE, 0x30 }, // (Offset,Value)-Pair #10 { 0xAF, 0x89 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetOverlayUpdateStatus // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetOverlayUpdateStatus_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x2BA8] { 0x05, 0x8B }, // (Offset,Value)-Pair #1 { 0x06, 0x88 }, // (Offset,Value)-Pair #2 @@ -1636,21 +1252,13 @@ SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_4627 = // IDirect3DDevice8_GetOverlayUpdateStatus+0x1C : retn { 0x1C, 0xC3 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, // (Offset,Value)-Pair #1 { 0x06, 0x00 }, // (Offset,Value)-Pair #2 @@ -1669,21 +1277,13 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4627 = // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetVerticalBlankCallback_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1703,21 +1303,13 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4627 = // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 { 0x11, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetViewport // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetViewport_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetViewport+0x05 : push esi; push edi { 0x05, 0x56 }, // (Offset,Value)-Pair #1 { 0x06, 0x57 }, // (Offset,Value)-Pair #2 @@ -1735,21 +1327,13 @@ SOOVPA<10> IDirect3DDevice8_GetViewport_1_0_4627 = // IDirect3DDevice8_GetViewport+0x1A : retn 0x04 { 0x1A, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1B, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TexCoordIndex // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x14 : shl eax, 0x07 { 0x14, 0xC1 }, // (Offset,Value)-Pair #1 { 0x15, 0xE0 }, // (Offset,Value)-Pair #2 @@ -1767,21 +1351,13 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627 = { 0xAA, 0xC1 }, // (Offset,Value)-Pair #8 { 0xAB, 0xE3 }, // (Offset,Value)-Pair #9 { 0xAC, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_NormalizeNormalsB // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormalsB_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_NormalizeNormalsB_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_NormalizeNormalsB+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1795,21 +1371,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormalsB_1_0_4627 = // IDirect3DDevice8_SetRenderState_NormalizeNormalsB+0x3F : retn 0x04 { 0x3F, 0xC2 }, // (Offset,Value)-Pair #7 { 0x40, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_EdgeAntiAliasB // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAliasB_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_EdgeAntiAliasB_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_EdgeAntiAliasB+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1827,21 +1395,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAliasB_1_0_4627 = // IDirect3DDevice8_SetRenderState_EdgeAntiAliasB+0x38 : retn 0x04 { 0x38, 0xC2 }, // (Offset,Value)-Pair #9 { 0x39, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4627, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0D : mov eax, [edi+0x21B4] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x87 }, // (Offset,Value)-Pair #2 @@ -1856,21 +1416,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4627 = // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x74 : retn 0x04 { 0x74, 0xC2 }, // (Offset,Value)-Pair #8 { 0x75, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4627, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ZEnable+0x0C : jb +0x05 { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x05 }, // (Offset,Value)-Pair #2 @@ -1891,21 +1443,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4627 = // IDirect3DDevice8_SetRenderState_ZEnable+0x8C : retn 0x04 { 0x8C, 0xC2 }, // (Offset,Value)-Pair #12 { 0x8D, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnableB // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnableB_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnableB_1_0_4627, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ZEnableB+0x0C : jb +0x0E { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x0E }, // (Offset,Value)-Pair #2 @@ -1926,20 +1470,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnableB_1_0_4627 = // IDirect3DDevice8_SetRenderState_ZEnableB+0x99 : retn 0x04 { 0x99, 0xC2 }, // (Offset,Value)-Pair #12 { 0x9A, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilEnableB // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnableB_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilEnableB_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - { // IDirect3DDevice8_SetRenderState_StencilEnableB+0x0C : jb +0x0E { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x0E }, // (Offset,Value)-Pair #2 @@ -1958,21 +1495,13 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_StencilEnableB_1_0_4627 = // IDirect3DDevice8_SetRenderState_StencilEnableB+0x8A : retn 0x04 { 0x8A, 0xC2 }, // (Offset,Value)-Pair #10 { 0x8B, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi { 0x04, 0x56 }, // (Offset,Value)-Pair #1 @@ -1996,21 +1525,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627 = // IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x6F : retn 0x04 { 0x6F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x70, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x04 : push esi { 0x04, 0x56 }, // (Offset,Value)-Pair #1 @@ -2034,21 +1555,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB_1_0_4627 = // IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB+0x7B : retn 0x04 { 0x7B, 0xC2 }, // (Offset,Value)-Pair #11 { 0x7C, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVerticesUP // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVerticesUP_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -2064,21 +1577,13 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_4627 = { 0xC2, 0x81 }, // (Offset,Value)-Pair #8 { 0xC3, 0xFE }, // (Offset,Value)-Pair #9 { 0xC4, 0x80 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVerticesUPB // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawVerticesUPB_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVerticesUPB_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVerticesUPB+0x03 : sub esp, 0x14 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -2094,21 +1599,13 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUPB_1_0_4627 = { 0xF9, 0x81 }, // (Offset,Value)-Pair #8 { 0xFA, 0xFF }, // (Offset,Value)-Pair #9 { 0xFB, 0x80 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVertices // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVertices_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawIndexedVertices+0x0E : mov eax, [esi+0x1C] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x46 }, // (Offset,Value)-Pair #2 @@ -2127,21 +1624,13 @@ SOOVPA<11> IDirect3DDevice8_DrawIndexedVertices_1_0_4627 = { 0xFC, 0x18 }, // (Offset,Value)-Pair #9 { 0xFD, 0x46 }, // (Offset,Value)-Pair #10 { 0xFE, 0x3C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetMaterial+0x0C : add edi, 0x0AB0 { 0x0C, 0x81 }, // (Offset,Value)-Pair #1 { 0x0D, 0xC7 }, // (Offset,Value)-Pair #2 @@ -2161,21 +1650,13 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_4627 = // IDirect3DDevice8_SetMaterial+0x2D : retn 0x04 { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_Lock2 // ****************************************************************** -SOOVPA<11> IDirect3DVertexBuffer8_Lock2_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock2_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVertexBuffer8_Lock2+0x01 : mov bl, [esp+0x0C] { 0x01, 0x8A }, // (Offset,Value)-Pair #1 { 0x02, 0x5C }, // (Offset,Value)-Pair #2 @@ -2194,21 +1675,13 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock2_1_0_4627 = // IDirect3DVertexBuffer8_Lock2+0x48 : retn 0x08 { 0x48, 0xC2 }, // (Offset,Value)-Pair #10 { 0x49, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_Lock2B // ****************************************************************** -SOOVPA<11> IDirect3DVertexBuffer8_Lock2B_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock2B_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVertexBuffer8_Lock2B+0x01 : mov bl, [esp+0x0C] { 0x01, 0x8A }, // (Offset,Value)-Pair #1 { 0x02, 0x5C }, // (Offset,Value)-Pair #2 @@ -2227,21 +1700,13 @@ SOOVPA<11> IDirect3DVertexBuffer8_Lock2B_1_0_4627 = // IDirect3DVertexBuffer8_Lock2B+0x48 : retn 0x08 { 0x6B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x6C, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_ReleaseB // ****************************************************************** -SOOVPA<11> IDirect3DResource8_ReleaseB_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 8 +OOVPA_NO_XREF(IDirect3DResource8_ReleaseB_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_ReleaseB+0x09 : and ecx, 0xFFFF { 0x09, 0x81 }, // (Offset,Value)-Pair #1 { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 @@ -2262,21 +1727,13 @@ SOOVPA<11> IDirect3DResource8_ReleaseB_1_0_4627 = // IDirect3DResource8_ReleaseB+0x4A : retn 0x04 { 0x4A, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4B, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_GetType // ****************************************************************** -SOOVPA<7> IDirect3DResource8_GetType_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DResource8_GetType_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x10, 0x77 }, { 0x22, 0x83 }, { 0x34, 0x00 }, @@ -2284,21 +1741,13 @@ SOOVPA<7> IDirect3DResource8_GetType_1_0_4627 = { 0x58, 0x00 }, { 0x6A, 0x74 }, { 0x7C, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVolumeTexture8_LockBox // ****************************************************************** -SOOVPA<15> IDirect3DVolumeTexture8_LockBox_1_0_4627 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_NO_XREF(IDirect3DVolumeTexture8_LockBox_1_0_4627, 15) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DVolumeTexture8_LockBox+0x00 : mov eax, [esp+0x14] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -2325,21 +1774,13 @@ SOOVPA<15> IDirect3DVolumeTexture8_LockBox_1_0_4627 = // IDirect3DVolumeTexture8_LockBox+0x1D : retn 0x14 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #14 { 0x1E, 0x14 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DSurface8_LockRectB // ****************************************************************** -SOOVPA<17> IDirect3DSurface8_LockRectB_1_0_4627 = -{ - 0, // Large == 0 - 17, // Count == 17 +OOVPA_NO_XREF(IDirect3DSurface8_LockRectB_1_0_4627, 17) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DSurface8_LockRectB+0x00 : mov eax, [esp+0x10] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -2366,21 +1807,13 @@ SOOVPA<17> IDirect3DSurface8_LockRectB_1_0_4627 = // IDirect3DSurface8_LockRectB+0x1D : retn 0x10 { 0x1D, 0xC2 }, // (Offset,Value)-Pair #16 { 0x1E, 0x10 }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -2396,21 +1829,16 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_4627 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDescB // ****************************************************************** -SOOVPA<9> Get2DSurfaceDescB_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(Get2DSurfaceDescB_1_0_4627, 9, - XREF_GET2DSURFACEDESCB, // XRef Is Saved - 0, // XRef Not Used + XREF_GET2DSURFACEDESCB, + XRefZero) - { // Get2DSurfaceDescB+0x1D : movzx ecx, byte ptr [edi+0x0D] { 0x1D, 0x0F }, // (Offset,Value)-Pair #1 { 0x1E, 0xB6 }, // (Offset,Value)-Pair #2 @@ -2425,21 +1853,17 @@ SOOVPA<9> Get2DSurfaceDescB_1_0_4627 = // Get2DSurfaceDescB+0x9E : retn { 0x9E, 0xC3 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDescC // ****************************************************************** -SOOVPA<10> Get2DSurfaceDescC_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(Get2DSurfaceDescC_1_0_4627, +10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // Get2DSurfaceDescC+0x10 : call [Get2DSurfaceDescB] { 0x10, XREF_GET2DSURFACEDESCB }, // (Offset,Value)-Pair #1 @@ -2457,21 +1881,17 @@ SOOVPA<10> Get2DSurfaceDescC_1_0_4627 = // Get2DSurfaceDescC+0x17 : retn 0x0C { 0x17, 0xC2 }, // (Offset,Value)-Pair #9 { 0x18, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDescD // ****************************************************************** -SOOVPA<10> Get2DSurfaceDescD_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(Get2DSurfaceDescD_1_0_4627, +10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // Get2DSurfaceDescD+0x0E : call [Get2DSurfaceDescB] { 0x0E, XREF_GET2DSURFACEDESCB }, // (Offset,Value)-Pair #1 @@ -2489,21 +1909,13 @@ SOOVPA<10> Get2DSurfaceDescD_1_0_4627 = // Get2DSurfaceDescD+0x15 : retn 0x08 { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 { 0x16, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_GetSurfaceLevel2 // ****************************************************************** -SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel2_1_0_4627 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DTexture8_GetSurfaceLevel2+0x00 : sub esp, 0x0C { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -2531,21 +1943,13 @@ SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel2_1_0_4627 = // IDirect3DTexture8_GetSurfaceLevel2+0x47 : retn 0x08 { 0x47, 0xC2 }, // (Offset,Value)-Pair #13 { 0x48, 0x08 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_GetSurfaceLevel2B // ****************************************************************** -SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel2B_1_0_4627 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DTexture8_GetSurfaceLevel2B_1_0_4627, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DTexture8_GetSurfaceLevel2B+0x00 : sub esp, 0x0C { 0x00, 0x83 }, // (Offset,Value)-Pair #1 { 0x01, 0xEC }, // (Offset,Value)-Pair #2 @@ -2573,21 +1977,13 @@ SOOVPA<14> IDirect3DTexture8_GetSurfaceLevel2B_1_0_4627 = // IDirect3DTexture8_GetSurfaceLevel2B+0x47 : retn 0x08 { 0x45, 0xC2 }, // (Offset,Value)-Pair #13 { 0x46, 0x08 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetViewportOffsetAndScale@8 // ****************************************************************** -SOOVPA<8> X_D3DDevice_GetViewportOffsetAndScale_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(X_D3DDevice_GetViewportOffsetAndScale_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0xD8 }, { 0x40, 0xD8 }, { 0x5E, 0xC9 }, @@ -2596,21 +1992,13 @@ SOOVPA<8> X_D3DDevice_GetViewportOffsetAndScale_1_0_4627 = { 0xBE, 0x00 }, { 0xDE, 0x14 }, { 0xFE, 0xE0 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SelectVertexShaderDirect // ****************************************************************** -SOOVPA<7> X_D3DDevice_SelectVertexShaderDirect_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_SelectVertexShaderDirect_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x85 }, { 0x0C, 0x00 }, { 0x14, 0xF3 }, @@ -2618,21 +2006,13 @@ SOOVPA<7> X_D3DDevice_SelectVertexShaderDirect_1_0_4627 = { 0x21, 0x4C }, { 0x29, 0x5E }, { 0x2F, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetShaderConstantMode_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetShaderConstantMode_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0xD8 }, @@ -2640,21 +2020,13 @@ SOOVPA<7> X_D3DDevice_GetShaderConstantMode_1_0_4627 = { 0x0D, 0x24 }, { 0x10, 0x0A }, { 0x13, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetVertexShader_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetVertexShader_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x84 }, @@ -2662,21 +2034,13 @@ SOOVPA<7> X_D3DDevice_GetVertexShader_1_0_4627 = { 0x0D, 0x24 }, { 0x10, 0x0A }, { 0x13, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShaderConstant // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetVertexShaderConstant_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetVertexShaderConstant_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x15 }, { 0x0C, 0x24 }, { 0x13, 0xE0 }, @@ -2684,21 +2048,13 @@ SOOVPA<7> X_D3DDevice_GetVertexShaderConstant_1_0_4627 = { 0x21, 0x8B }, { 0x28, 0x8B }, { 0x2F, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexShaderInputDirect // ****************************************************************** -SOOVPA<7> X_D3DDevice_SetVertexShaderInputDirect_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_SetVertexShaderInputDirect_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x85 }, { 0x0C, 0x00 }, { 0x14, 0xF3 }, @@ -2706,21 +2062,13 @@ SOOVPA<7> X_D3DDevice_SetVertexShaderInputDirect_1_0_4627 = { 0x21, 0x54 }, { 0x29, 0x5E }, { 0x2F, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShaderInput // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetVertexShaderInput_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetVertexShaderInput_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x74 }, { 0x18, 0x04 }, { 0x25, 0x57 }, @@ -2728,21 +2076,13 @@ SOOVPA<7> X_D3DDevice_GetVertexShaderInput_1_0_4627 = { 0x3F, 0x00 }, { 0x4C, 0x03 }, { 0x59, 0xD0 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_RunVertexStateShader // ****************************************************************** -SOOVPA<7> X_D3DDevice_RunVertexStateShader_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_RunVertexStateShader_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x3B }, { 0x14, 0x4C }, { 0x1F, 0xC0 }, @@ -2750,21 +2090,17 @@ SOOVPA<7> X_D3DDevice_RunVertexStateShader_1_0_4627 = { 0x35, 0xF4 }, { 0x40, 0xC7 }, { 0x4B, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_EndPush // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_EndPush_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 10 +OOVPA_XREF(IDirect3DDevice8_EndPush_1_0_4627, +12, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x06, XREF_D3DDEVICE }, // 1 { 0x00, 0x8B }, // 2 @@ -2778,21 +2114,13 @@ SOOVPA<12> IDirect3DDevice8_EndPush_1_0_4627 = { 0x0C, 0xC2 }, // 10 { 0x0D, 0x04 }, // 11 { 0x0E, 0x00 }, // 12 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_LoadVertexShader // ****************************************************************** -SOOVPA<7> X_D3DDevice_LoadVertexShader_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_LoadVertexShader_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x08 }, { 0x14, 0x75 }, { 0x21, 0x8B }, @@ -2800,21 +2128,13 @@ SOOVPA<7> X_D3DDevice_LoadVertexShader_1_0_4627 = { 0x35, 0x9C }, { 0x40, 0x14 }, { 0x4B, 0x8D }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** -SOOVPA<7> X_D3DDevice_LoadVertexShaderProgram_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_LoadVertexShaderProgram_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x2D }, { 0x18, 0x10 }, { 0x25, 0xE0 }, @@ -2822,21 +2142,13 @@ SOOVPA<7> X_D3DDevice_LoadVertexShaderProgram_1_0_4627 = { 0x3F, 0x8B }, { 0x4C, 0x00 }, { 0x59, 0xE8 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** -SOOVPA<8> X_D3DDevice_SelectVertexShader_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(X_D3DDevice_SelectVertexShader_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x49 }, { 0x1E, 0x00 }, { 0x2E, 0x72 }, @@ -2845,21 +2157,13 @@ SOOVPA<8> X_D3DDevice_SelectVertexShader_1_0_4627 = { 0x5E, 0x05 }, { 0x6E, 0x89 }, { 0x7E, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShaderType@8 // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetVertexShaderType_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetVertexShaderType_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x8B }, { 0x0A, 0x07 }, { 0x10, 0xEB }, @@ -2867,22 +2171,14 @@ SOOVPA<7> X_D3DDevice_GetVertexShaderType_1_0_4627 = { 0x1C, 0x40 }, { 0x22, 0xC9 }, { 0x28, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** -SOOVPA<8> X_D3DDevice_GetVertexShaderDeclaration_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(X_D3DDevice_GetVertexShaderDeclaration_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0xC2 }, { 0x3E, 0x00 }, { 0x5E, 0x00 }, @@ -2891,21 +2187,13 @@ SOOVPA<8> X_D3DDevice_GetVertexShaderDeclaration_1_0_4627 = { 0xBE, 0x2B }, { 0xDE, 0x9A }, { 0xFE, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShaderFunction // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetVertexShaderFunction_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetVertexShaderFunction_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x16, 0xC0 }, { 0x2E, 0x01 }, { 0x46, 0x10 }, @@ -2913,21 +2201,13 @@ SOOVPA<7> X_D3DDevice_GetVertexShaderFunction_1_0_4627 = { 0x76, 0xC7 }, { 0x8E, 0x00 }, { 0xA6, 0xF8 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexShaderInput // ****************************************************************** -SOOVPA<8> X_D3DDevice_SetVertexShaderInput_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(X_D3DDevice_SetVertexShaderInput_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x83 }, { 0x3E, 0x10 }, { 0x5E, 0x00 }, @@ -2936,21 +2216,13 @@ SOOVPA<8> X_D3DDevice_SetVertexShaderInput_1_0_4627 = { 0xBE, 0x81 }, { 0xDE, 0xC6 }, { 0xFE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetStreamSource2 (Maybe same in older versions) // ****************************************************************** -SOOVPA<7> X_D3DDevice_GetStreamSource2_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(X_D3DDevice_GetStreamSource2_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x34 }, { 0x12, 0x85 }, { 0x16, 0x57 }, @@ -2958,21 +2230,13 @@ SOOVPA<7> X_D3DDevice_GetStreamSource2_1_0_4627 = { 0x26, 0x89 }, { 0x2E, 0x00 }, { 0x36, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderB // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexShaderB_1_0_4627 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderB_1_0_4627, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderB+0x06 : test bl, 1 { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 @@ -2994,21 +2258,13 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShaderB_1_0_4627 = { 0xC4, 0x4C }, // (Offset,Value)-Pair #12 { 0xC5, 0x19 }, // (Offset,Value)-Pair #13 { 0xC6, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_Release // ****************************************************************** -SOOVPA<8> X_D3DDevice_Release_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(X_D3DDevice_Release_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x00 }, { 0x13, 0xCF }, @@ -3017,21 +2273,13 @@ SOOVPA<8> X_D3DDevice_Release_1_0_4627 = { 0x28, 0x00 }, { 0x2F, 0x89 }, { 0x36, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_LineWidth // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0xXXXX] { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 { 0x16, 0x8E }, // (Offset,Value)-Pair #2 @@ -3047,21 +2295,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627 = // IDirect3DDevice8_SetRenderState_LineWidth+0x62 : retn 0x04 { 0x62, 0xC2 }, // (Offset,Value)-Pair #9 { 0x63, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetBackBufferScale // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_SetBackBufferScale_1_0_4627 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(IDirect3DDevice8_SetBackBufferScale_1_0_4627, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x24 }, { 0x3E, 0x06 }, // { 0x62, 0xEC }, @@ -3069,21 +2309,13 @@ SOOVPA<6> IDirect3DDevice8_SetBackBufferScale_1_0_4627 = { 0x9E, 0xBF }, { 0xBE, 0x89 }, { 0xDE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Reset // ****************************************************************** -SOOVPA<18> IDirect3DDevice8_Reset_1_0_4627 = -{ - 0, // Large == 0 - 18, // Count == 18 +OOVPA_NO_XREF(IDirect3DDevice8_Reset_1_0_4627, 18) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x01, 0x81 }, { 0x02, 0xBC }, @@ -3102,23 +2334,15 @@ SOOVPA<18> IDirect3DDevice8_Reset_1_0_4627 = { 0x0F, 0x8B }, { 0x10, 0x04 }, { 0x11, 0x81 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShaderProgram // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetPixelShaderProgram_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShaderProgram_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, - { 0x01, 0x54 }, + { 0x01, 0x54 }, { 0x02, 0x24 }, { 0x03, 0x04 }, { 0x04, 0x85 }, @@ -3127,21 +2351,13 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShaderProgram_1_0_4627 = { 0x2A, 0x4C }, { 0x2B, 0x24 }, { 0x2C, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDisplayFieldStatus // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetDisplayFieldStatus_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetDisplayFieldStatus_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x0C, 0x4C }, { 0x0D, 0x24 }, @@ -3149,21 +2365,13 @@ SOOVPA<7> IDirect3DDevice8_GetDisplayFieldStatus_1_0_4627 = { 0x1E, 0x56 }, { 0x25, 0x33 }, { 0x26, 0xD2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateStateBlock // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_CreateStateBlock_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_CreateStateBlock_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { { 0x0C, 0x57 }, { 0x1C, 0xF3 }, { 0x1D, 0xAB }, @@ -3175,21 +2383,13 @@ SOOVPA<11> IDirect3DDevice8_CreateStateBlock_1_0_4627 = { 0x46, 0x00 }, { 0x8B, 0x33 }, { 0x8C, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_InsertCallback // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_InsertCallback_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_InsertCallback_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x0E }, { 0x1C, 0x8B }, { 0x2B, 0x48 }, @@ -3197,21 +2397,13 @@ SOOVPA<7> IDirect3DDevice8_InsertCallback_1_0_4627 = { 0x49, 0x89 }, { 0x58, 0x10 }, { 0x67, 0x07 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawRectPatch // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_DrawRectPatch_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_DrawRectPatch_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x6C }, { 0x3E, 0x3C }, { 0x5E, 0x54 }, @@ -3220,21 +2412,13 @@ SOOVPA<8> IDirect3DDevice8_DrawRectPatch_1_0_4627 = { 0xBE, 0x00 }, { 0xDE, 0xD8 }, { 0xFE, 0xD9 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetProjectionViewportMatrix // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetProjectionViewportMatrix_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetProjectionViewportMatrix_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x35 }, { 0x07, 0x57 }, { 0x0A, 0x24 }, @@ -3242,23 +2426,15 @@ SOOVPA<7> IDirect3DDevice8_GetProjectionViewportMatrix_1_0_4627 = { 0x12, 0xB9 }, { 0x16, 0x00 }, { 0x1A, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** /* blueshogun96 8/7/08 for MGS2 :)*/ -SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4721 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_4721, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPixelShader+0x26 : or ecx, 0x4800 { 0x26, 0x81 }, // (Offset,Value)-Pair #1 { 0x27, 0xC9 }, // (Offset,Value)-Pair #2 @@ -3276,21 +2452,13 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_4721 = // IDirect3DDevice8_SetPixelShader+0xDE : rep movsd { 0xF4, 0xF3 }, // (Offset,Value)-Pair #9 { 0xF5, 0xA5 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetScissors@12 // ****************************************************************** -SOOVPA<8> D3DDevice_SetScissors_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetScissors_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x57 }, { 0x3E, 0x44 }, { 0x5E, 0x5C }, @@ -3299,21 +2467,13 @@ SOOVPA<8> D3DDevice_SetScissors_1_0_4627 = { 0xBE, 0x04 }, { 0xDE, 0x24 }, { 0xFE, 0x4C }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetPalette@8 // ****************************************************************** -SOOVPA<7> D3DDevice_SetPalette_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetPalette_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x10, 0x48 }, { 0x22, 0x0B }, { 0x34, 0x00 }, @@ -3321,21 +2481,13 @@ SOOVPA<7> D3DDevice_SetPalette_1_0_4627 = { 0x58, 0xC5 }, { 0x6E, 0x8B }, { 0x7C, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0xA3 }, { 0x12, 0x56 }, { 0x1C, 0x8B }, @@ -3344,21 +2496,13 @@ SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_4627 = { 0x3D, 0xC7 }, { 0x44, 0x78 }, { 0x4E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x3B }, { 0x14, 0x4C }, { 0x1F, 0x04 }, @@ -3366,42 +2510,30 @@ SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_4627 = { 0x35, 0xBC }, { 0x40, 0x89 }, { 0x4E, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_InsertFence // ****************************************************************** -SOOVPA<5> D3DDevice_InsertFence_1_0_4627 = -{ - 0, // Large == 0 - 5, // Count == 5 +OOVPA_XREF(D3DDevice_InsertFence_1_0_4627, +5, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x03, XREF_D3D_SETFENCE }, { 0x00, 0x6A }, { 0x01, 0x00 }, { 0x02, 0xE8 }, { 0x07, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -SOOVPA<13> D3D_CDevice_KickOff_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(D3D_CDevice_KickOff_1_0_4627, 13) - XRefNotSaved, - 0, // Xref Is Used - - { // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] { 0x0B, 0x8B }, { 0x0C, 0x91 }, @@ -3422,41 +2554,29 @@ SOOVPA<13> D3D_CDevice_KickOff_1_0_4627 = // D3D::CDevice::KickOff+0xE2 : retn { 0xE2, 0xC3 } - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_KickPushBuffer // ****************************************************************** -SOOVPA<4> D3DDevice_KickPushBuffer_1_0_4627 = -{ - 0, // Large == 0 - 4, // Count == 4 +OOVPA_XREF(D3DDevice_KickPushBuffer_1_0_4627, +4, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x07, XREF_D3D_KickOff }, { 0x00, 0x8B }, { 0x01, 0x0D }, { 0x06, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8::GetTexture2 // ****************************************************************** -SOOVPA<8> D3DDevice_GetTexture2_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_GetTexture2_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x04 }, { 0x0A, 0x56 }, { 0x0D, 0x81 }, @@ -3465,21 +2585,13 @@ SOOVPA<8> D3DDevice_GetTexture2_1_0_4627 = { 0x17, 0x06 }, { 0x1E, 0x8B }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::CDevice::SetStateVB // ****************************************************************** -SOOVPA<12> D3D_CDevice_SetStateVB_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(D3D_CDevice_SetStateVB_1_0_4627, 12) - XRefNotSaved, - XRefNotUsed, - - { // D3D_CDevice_SetStateVB+0x00 : sub esp, 0xC { 0x00, 0x83 }, { 0x01, 0xEC }, @@ -3497,21 +2609,13 @@ SOOVPA<12> D3D_CDevice_SetStateVB_1_0_4627 = { 0x13, 0xFF }, { 0x14, 0xFF }, { 0x15, 0x3F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::CDevice::SetStateUP // ****************************************************************** -SOOVPA<11> D3D_CDevice_SetStateUP_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(D3D_CDevice_SetStateUP_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // D3D_CDevice_SetStateUP+0x05 : sub esp, 0x14 { 0x05, 0x83 }, { 0x06, 0xEC }, @@ -3528,21 +2632,13 @@ SOOVPA<11> D3D_CDevice_SetStateUP_1_0_4627 = { 0x27, 0x83 }, { 0x28, 0xC8 }, { 0x29, 0x50 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVerticesUP // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800 { 0x4A, 0x81 }, // (Offset,Value)-Pair #1 { 0x4B, 0xCA }, // (Offset,Value)-Pair #2 @@ -3558,21 +2654,13 @@ SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4627 = // IDirect3DDevice8_DrawIndexedVerticesUP+0x6A : mov eax, 0x10 { 0x6A, 0xB8 }, // (Offset,Value)-Pair #9 { 0x6B, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetStipple // ****************************************************************** -SOOVPA<7> D3DDevice_SetStipple_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetStipple_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x03 }, { 0x15, 0xF6 }, { 0x1C, 0x10 }, @@ -3580,21 +2668,13 @@ SOOVPA<7> D3DDevice_SetStipple_1_0_4627 = { 0x30, 0x80 }, { 0x3A, 0x00 }, { 0x44, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** -SOOVPA<8> D3DDevice_PersistDisplay_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_PersistDisplay_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x21, 0x8B }, { 0x3C, 0x8D }, { 0x5B, 0x74 }, @@ -3603,21 +2683,13 @@ SOOVPA<8> D3DDevice_PersistDisplay_1_0_4627 = { 0xB8, 0x00 }, { 0xD7, 0x8B }, { 0xF6, 0xF9 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** -SOOVPA<14> D3DDevice_PersistDisplay_1_0_4928 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(D3DDevice_PersistDisplay_1_0_4928, 14) - XRefNotSaved, - XRefNotUsed, - - { // D3DDevice_PersistDisplay+0x23 : mov eax, [ebx+0x500] { 0x23, 0x8B }, { 0x24, 0x83 }, @@ -3635,22 +2707,14 @@ SOOVPA<14> D3DDevice_PersistDisplay_1_0_4928 = // D3DDevice_PersistDisplay+0x72 : shl edx, cl { 0x72, 0xD3 }, { 0x73, 0xE2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetSwapCallback // ****************************************************************** /* See the comment for the 4134 OOVPA signature for previous notes */ -SOOVPA<12> IDirect3DDevice8_SetSwapCallback_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetSwapCallback_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -3670,21 +2734,13 @@ SOOVPA<12> IDirect3DDevice8_SetSwapCallback_1_0_4928 = // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 { 0x11, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMode_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x89 }, { 0x0F, 0x8B }, { 0x13, 0x00 }, @@ -3693,21 +2749,13 @@ SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMode_1_0_4627 = { 0x21, 0x00 }, { 0x28, 0x00 }, { 0x31, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x89 }, { 0x0F, 0x8B }, { 0x13, 0x00 }, @@ -3716,63 +2764,39 @@ SOOVPA<8> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_4627 = { 0x21, 0x00 }, { 0x28, 0x00 }, { 0x31, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginStateBlock // ****************************************************************** -SOOVPA<6> D3DDevice_BeginStateBlock_1_0_4627 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_BeginStateBlock_1_0_4627, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x05, 0x83 }, { 0x06, 0x48 }, { 0x07, 0x08 }, { 0x08, 0x20 }, { 0x09, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndStateBlock // ****************************************************************** -SOOVPA<6> D3DDevice_EndStateBlock_1_0_4627 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_EndStateBlock_1_0_4627, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x05, 0x83 }, { 0x06, 0x60 }, { 0x07, 0x08 }, { 0x08, 0xDF }, { 0x09, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_ApplyStateBlock // ****************************************************************** -SOOVPA<8> D3DDevice_ApplyStateBlock_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_ApplyStateBlock_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0xC6 }, { 0x40, 0x83 }, { 0x5E, 0x04 }, @@ -3781,21 +2805,13 @@ SOOVPA<8> D3DDevice_ApplyStateBlock_1_0_4627 = { 0xBE, 0x51 }, { 0xDE, 0xE9 }, { 0xFE, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** -SOOVPA<8> D3DDevice_CaptureStateBlock_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_CaptureStateBlock_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x5E }, { 0x3C, 0x00 }, { 0x5B, 0x72 }, @@ -3804,21 +2820,13 @@ SOOVPA<8> D3DDevice_CaptureStateBlock_1_0_4627 = { 0xBC, 0x8B }, { 0xD7, 0x89 }, { 0xF9, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeleteStateBlock // ****************************************************************** -SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_DeleteStateBlock_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x11, 0x76 }, { 0x24, 0x3B }, { 0x37, 0xE8 }, @@ -3826,42 +2834,33 @@ SOOVPA<7> D3DDevice_DeleteStateBlock_1_0_4627 = { 0x5D, 0x74 }, { 0x70, 0x06 }, { 0x83, 0xEB }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -SOOVPA<6> D3D_BlockOnTime_1_0_4627 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(D3D_BlockOnTime_1_0_4627, 6, - XREF_D3D_BLOCKONTIME, // Xref Is Saved - 0, // Xref Not Used + XREF_D3D_BLOCKONTIME, + XRefZero) - { { 0x09, 0x34 }, { 0x27, 0x07 }, { 0x55, 0x7E }, { 0x7B, 0x58 }, { 0xE3, 0x80 }, { 0xF5, 0x30 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** -SOOVPA<8> D3DDevice_BlockOnFence_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(D3DDevice_BlockOnFence_1_0_4627, +8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x08, XREF_D3D_BLOCKONTIME }, { 0x00, 0x8B }, @@ -3871,21 +2870,13 @@ SOOVPA<8> D3DDevice_BlockOnFence_1_0_4627 = { 0x0C, 0xC2 }, { 0x0D, 0x04 }, { 0x0E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * Lock3DSurface // ****************************************************************** -SOOVPA<11> Lock3DSurface_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(Lock3DSurface_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // D3D::PixelJar::Lock3DSurface + 0x08: test bl, 0x20 { 0x08, 0xF6 }, // (Offset,Value)-Pair #1 { 0x09, 0xC3 }, // (Offset,Value)-Pair #2 @@ -3904,21 +2895,13 @@ SOOVPA<11> Lock3DSurface_1_0_4627 = // D3D::PixelJar::Lock3DSurface + 0x99: ret 0x14 { 0x99, 0xC2 }, // (Offset,Value)-Pair #10 { 0x9A, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateImageSurface // ****************************************************************** -SOOVPA<9> D3DDevice_CreateImageSurface_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_CreateImageSurface_1_0_4627, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x8B }, { 0x0A, 0x24 }, { 0x0E, 0x00 }, @@ -3928,21 +2911,13 @@ SOOVPA<9> D3DDevice_CreateImageSurface_1_0_4627 = { 0x22, 0x01 }, { 0x28, 0x07 }, { 0x2E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface2 // ****************************************************************** -SOOVPA<7> D3DCubeTexture_GetCubeMapSurface2_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface2_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x8D }, { 0x12, 0x8D }, { 0x1C, 0x44 }, @@ -3950,21 +2925,13 @@ SOOVPA<7> D3DCubeTexture_GetCubeMapSurface2_1_0_4627 = { 0x31, 0x8B }, { 0x3A, 0x44 }, { 0x46, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetSoftDisplayFilter // ****************************************************************** -SOOVPA<7> D3DDevice_SetSoftDisplayFilter_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x56 }, { 0x14, 0x8B }, { 0x1F, 0x95 }, @@ -3972,21 +2939,13 @@ SOOVPA<7> D3DDevice_SetSoftDisplayFilter_1_0_4627 = { 0x37, 0x33 }, { 0x44, 0x01 }, { 0x4D, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** -SOOVPA<7> D3DDevice_GetPixelShader_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetPixelShader_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x70 }, @@ -3994,21 +2953,13 @@ SOOVPA<7> D3DDevice_GetPixelShader_1_0_4627 = { 0x0D, 0x24 }, { 0x10, 0x0A }, { 0x13, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CreatePalette2 // ****************************************************************** -SOOVPA<8> D3DDevice_CreatePalette2_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_CreatePalette2_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x8B }, { 0x16, 0x74 }, { 0x22, 0x04 }, @@ -4017,21 +2968,13 @@ SOOVPA<8> D3DDevice_CreatePalette2_1_0_4627 = { 0x46, 0xC1 }, { 0x52, 0xFF }, { 0x5E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DPalette_Lock2 // ****************************************************************** -SOOVPA<7> D3DPalette_Lock2_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DPalette_Lock2_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x8B }, { 0x0A, 0x75 }, @@ -4039,21 +2982,13 @@ SOOVPA<7> D3DPalette_Lock2_1_0_4627 = { 0x13, 0x46 }, { 0x16, 0x00 }, { 0x1A, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetFlickerFilter // ****************************************************************** -SOOVPA<7> D3DDevice_SetFlickerFilter_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetFlickerFilter_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0xC9 }, { 0x10, 0x24 }, { 0x1A, 0x74 }, @@ -4061,21 +2996,13 @@ SOOVPA<7> D3DDevice_SetFlickerFilter_1_0_4627 = { 0x2E, 0xC7 }, { 0x34, 0x01 }, { 0x3E, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginPushBuffer // ****************************************************************** -SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BeginPushBuffer_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0xCE }, { 0x1B, 0x89 }, { 0x25, 0x00 }, @@ -4083,21 +3010,13 @@ SOOVPA<7> D3DDevice_BeginPushBuffer_1_0_4627 = { 0x3F, 0x03 }, { 0x4C, 0x04 }, { 0x59, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** -SOOVPA<7> D3DDevice_EndPushBuffer_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_EndPushBuffer_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x11, 0x8D }, { 0x22, 0x50 }, { 0x34, 0x0C }, @@ -4105,42 +3024,26 @@ SOOVPA<7> D3DDevice_EndPushBuffer_1_0_4627 = { 0x58, 0x00 }, { 0x6D, 0x8B }, { 0x7C, 0x88 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetPersistedSurface2 // ****************************************************************** -SOOVPA<7> D3DDevice_GetPersistedSurface2_1_0_4627 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_GetPersistedSurface2_1_0_4627, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xFF }, { 0x01, 0x25 }, { 0x02, 0x04 }, { 0x03, 0xC1 }, { 0x04, 0x3A }, { 0x05, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetModelView // ****************************************************************** -SOOVPA<7> D3DDevice_SetModelView_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetModelView_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x15, 0xFF }, { 0x2D, 0x81 }, { 0x43, 0x3B }, @@ -4148,21 +3051,13 @@ SOOVPA<7> D3DDevice_SetModelView_1_0_4627 = { 0x71, 0x53 }, { 0x8A, 0x8B }, { 0x9F, 0x30 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::LazySetPointParams // ****************************************************************** -SOOVPA<7> D3D_LazySetPointParams_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3D_LazySetPointParams_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x83 }, { 0x01, 0xEC }, { 0x02, 0x14 }, @@ -4170,21 +3065,13 @@ SOOVPA<7> D3D_LazySetPointParams_1_0_4627 = { 0x73, 0xF6 }, { 0x74, 0xC4 }, { 0x75, 0x41 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetDepthClipPlanes // ****************************************************************** -SOOVPA<7> D3DDevice_SetDepthClipPlanes_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x12, 0x24 }, { 0x26, 0x8B }, { 0x3A, 0x0C }, @@ -4192,21 +3079,13 @@ SOOVPA<7> D3DDevice_SetDepthClipPlanes_1_0_4627 = { 0x62, 0x86 }, { 0x76, 0x05 }, { 0x8A, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** -SOOVPA<8> D3DDevice_GetMaterial_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_GetMaterial_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x56 }, { 0x06, 0x57 }, { 0x0A, 0x0C }, @@ -4215,21 +3094,13 @@ SOOVPA<8> D3DDevice_GetMaterial_1_0_4627 = { 0x12, 0x11 }, { 0x16, 0xF3 }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** -SOOVPA<8> D3DDevice_GetBackMaterial_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_GetBackMaterial_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x56 }, { 0x06, 0x57 }, { 0x0A, 0x0C }, @@ -4238,21 +3109,13 @@ SOOVPA<8> D3DDevice_GetBackMaterial_1_0_4627 = { 0x12, 0x11 }, { 0x16, 0xF3 }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** -SOOVPA<9> D3DDevice_SetBackMaterial_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetBackMaterial_1_0_4627, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x08 }, { 0x0C, 0x81 }, { 0x0E, 0xF4 }, @@ -4262,2112 +3125,443 @@ SOOVPA<9> D3DDevice_SetBackMaterial_1_0_4627 = { 0x22, 0x10 }, { 0x2C, 0x5E }, { 0x2E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_4627 // ****************************************************************** -OOVPATable D3D8_1_0_4627[] = -{ +OOVPATable D3D8_1_0_4627[] = { + // IDirect3D8::CreateDevice - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_4627, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_4627, XTL::EmuIDirect3D8_CreateDevice), // IDirect3D8::CreateDeviceX - { - (OOVPA*)&IDirect3D8_CreateDeviceX_1_0_4627, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, - - XTL::EmuIDirect3D8_CheckDeviceFormat, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CheckDeviceFormat" - #endif - }, - // IDirect3DDevice8::BeginVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, - - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, - // IDirect3DDevice8::EndVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_4627, - - XTL::EmuIDirect3DDevice8_EndVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndVisibilityTest" - #endif - }, - // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVisibilityTestResult" - #endif - }, - // IDirect3D8::KickOffAndWaitForIdle - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_4627, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, - // IDirect3D8::KickOffAndWaitForIdle2 - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle2_1_0_4627, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle2" - #endif - }, - // IDirect3DDevice8::BeginPush - { - (OOVPA*)&IDirect3DDevice8_BeginPush_1_0_4627, - - XTL::EmuIDirect3DDevice8_BeginPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPush" - #endif - }, - // IDirect3DDevice8::EndPush - { - (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, - - XTL::EmuIDirect3DDevice8_EndPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPush" - #endif - }, - // IDirect3DDevice8::CopyRects - { - (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_4627, - - XTL::EmuIDirect3DDevice8_CopyRects, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CopyRects" - #endif - }, - // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, - // IDirect3DDevice8::GetBackBuffer2 - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2" - #endif - }, - // IDirect3DDevice8::GetBackBuffer2B - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer2B_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2B" - #endif - }, - // IDirect3DDevice8::SetViewport - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDeviceX_1_0_4627, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3D8_CheckDeviceFormat_1_0_4361, XTL::EmuIDirect3D8_CheckDeviceFormat), + // IDirect3DDevice8::BeginVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginVisibilityTest_1_0_4627, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), + // IDirect3DDevice8::EndVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndVisibilityTest_1_0_4627, XTL::EmuIDirect3DDevice8_EndVisibilityTest), + // IDirect3DDevice8::GetVisibilityTestResult (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetVisibilityTestResult_1_0_3925, XTL::EmuIDirect3DDevice8_GetVisibilityTestResult), + // IDirect3D8::KickOffAndWaitForIdle + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_4627, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), + // IDirect3D8::KickOffAndWaitForIdle2 + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle2_1_0_4627, XTL::EmuIDirect3D8_KickOffAndWaitForIdle2), + // IDirect3DDevice8::BeginPush + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginPush_1_0_4627, XTL::EmuIDirect3DDevice8_BeginPush), + // IDirect3DDevice8::EndPush + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndPush_1_0_4627, XTL::EmuIDirect3DDevice8_EndPush), + // IDirect3DDevice8::CopyRects + OOVPA_TABLE_PATCH(IDirect3DDevice8_CopyRects_1_0_4627, XTL::EmuIDirect3DDevice8_CopyRects), + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), + // IDirect3DDevice8::GetBackBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer2_1_0_4627, XTL::EmuIDirect3DDevice8_GetBackBuffer2), + // IDirect3DDevice8::GetBackBuffer2B + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer2B_1_0_4627, XTL::EmuIDirect3DDevice8_GetBackBuffer2), + // IDirect3DDevice8::SetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_4627, XTL::EmuIDirect3DDevice8_SetViewport), // D3D::CommonSetRenderTarget (XREF) - { - (OOVPA*)&D3D_CommonSetRenderTarget_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "D3D::CommonSetRenderTarget (XREF)" - #endif - }, + OOVPA_TABLE_XREF(D3D_CommonSetRenderTarget_1_0_4627), // D3D::CommonSetRenderTargetB (XREF) - { - (OOVPA*)&D3D_CommonSetRenderTargetB_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "D3D::CommonSetRenderTargetB (XREF)" - #endif - }, - // IDirect3DDevice8::SetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::AddRef - { - (OOVPA*)&IDirect3DDevice8_AddRef_1_0_4627, - - XTL::EmuIDirect3DDevice8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_AddRef" - #endif - }, - // IDirect3DDevice8::SetGammaRamp - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetGammaRamp" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DDevice8::GetRenderTarget2 - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetRenderTarget2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget2" - #endif - }, - // IDirect3DDevice8::GetRenderTarget2B - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget2B_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetRenderTarget2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget2B" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface2 - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface2" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface2B - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2B_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface2B" - #endif - }, - // IDirect3DDevice8::GetTile - { - (OOVPA*)&IDirect3DDevice8_GetTile_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetTile, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTile" - #endif - }, - // IDirect3DDevice8::SetTileNoWait - { - (OOVPA*)&IDirect3DDevice8_SetTileNoWait_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetTileNoWait, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTileNoWait" - #endif - }, - // IDirect3DDevice8::CreateIndexBuffer2 - { - (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer2_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer2" - #endif - }, - // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::SetPixelShaderConstant (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant1 - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant1" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant4 - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant4" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstantNotInline - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" - #endif - }, - // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_DeletePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePixelShader" - #endif - }, - // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, - // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::CreateTexture2 - { - (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture2" - #endif - }, - // IDirect3DDevice8::CreateTexture2B - { - (OOVPA*)&IDirect3DDevice8_CreateTexture2B_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture2B" - #endif - }, - // IDirect3DDevice8::CreateTexture2C - { - (OOVPA*)&IDirect3DDevice8_CreateTexture2C_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture2C" - #endif - }, - // IDirect3DDevice8::SetIndices (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetIndicesB - { - (OOVPA*)&IDirect3DDevice8_SetIndicesB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndicesB" - #endif - }, - // IDirect3DDevice8::SetTexture (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::SetTextureB - { - (OOVPA*)&IDirect3DDevice8_SetTextureB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureB" - #endif - }, - // IDirect3DDevice8::SetTextureC - { - (OOVPA*)&IDirect3DDevice8_SetTextureC_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureC" - #endif - }, - // IDirect3DDevice8::GetDisplayMode - { - (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, - // IDirect3DDevice8::RunPushBuffer - { - (OOVPA*)&IDirect3DDevice8_RunPushBuffer_1_0_4627, - - XTL::EmuIDirect3DDevice8_RunPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_RunPushBuffer" - #endif - }, - // IDirect3DDevice8::Begin - { - (OOVPA*)&IDirect3DDevice8_Begin_1_0_4627, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, - // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, - // IDirect3DDevice8::End - { - (OOVPA*)&IDirect3DDevice8_End_1_0_4627, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::Clear - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_4627, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::ClearB - { - (OOVPA*)&IDirect3DDevice8_ClearB_1_0_4627, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_ClearB" - #endif - }, - // IDirect3DDevice8::Swap - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_4627, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, - // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, - - XTL::EmuIDirect3DDevice8_EnableOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EnableOverlay" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer2 - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer2" - #endif - }, - // IDirect3DDevice8::UpdateOverlay - { - (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_4627, - - XTL::EmuIDirect3DDevice8_UpdateOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_UpdateOverlay" - #endif - }, - // IDirect3DDevice8::GetOverlayUpdateStatus - { - (OOVPA*)&IDirect3DDevice8_GetOverlayUpdateStatus_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetOverlayUpdateStatus" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4627, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, - // IDirect3DDevice8::GetViewport - { - (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullModeB" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, - // IDirect3DDevice8::SetRenderState_NormalizeNormalsB - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormalsB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormalsB" - #endif - }, - // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAliasB - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAliasB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAliasB" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnableB - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnableB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnableB" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnableB - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnableB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnableB" - #endif - }, - // IDirect3DDevice8::SetRenderState_LineWidth - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAliasB - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB" - #endif - }, - // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SwitchTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SwitchTexture" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // D3DDevice_GetStreamSource2 - { - (OOVPA*)&X_D3DDevice_GetStreamSource2_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetStreamSource2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetStreamSource2" - #endif - - }, - // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShader (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::SetVertexShaderB - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderB_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderB" - #endif - }, - // IDirect3DDevice8::DrawVertices (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_4361, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, - // IDirect3DDevice8::DrawVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_4627, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // IDirect3DDevice8::DrawVerticesUPB - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUPB_1_0_4627, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUPB" - #endif - }, - // IDirect3DDevice8::SetLight (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_4627, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, - // IDirect3DDevice8::LightEnable (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, - // IDirect3DVertexBuffer8::Lock2 - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_4627, - - XTL::EmuIDirect3DVertexBuffer8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock2" - #endif - }, - // IDirect3DVertexBuffer8::Lock2B - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock2B_1_0_4627, - - XTL::EmuIDirect3DVertexBuffer8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock2B" - #endif - }, - // IDirect3DResource8::Register (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DResource8::AddRef (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::Release (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::ReleaseB - { - (OOVPA*)&IDirect3DResource8_ReleaseB_1_0_4627, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_ReleaseB" - #endif - }, - // IDirect3DResource8::IsBusy (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - /* I forget why I had this in here... - // IDirect3DResource8::GetType - { - (OOVPA*)&IDirect3DResource8_GetType_1_0_4627, - - XTL::EmuIDirect3DResource8_GetType, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_GetType" - #endif - },*/ - // Get2DSurfaceDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_4627, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, - // Get2DSurfaceDescB - { - (OOVPA*)&Get2DSurfaceDescB_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDescB (XREF)" - #endif - }, - // Get2DSurfaceDescC - { - (OOVPA*)&Get2DSurfaceDescC_1_0_4627, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDescC" - #endif - }, - // Get2DSurfaceDescD - { - (OOVPA*)&Get2DSurfaceDescD_1_0_4627, - - XTL::EmuGet2DSurfaceDescD, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDescD" - #endif - }, - // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, - // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, - // IDirect3DSurface8::LockRectB - { - (OOVPA*)&IDirect3DSurface8_LockRectB_1_0_4627, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRectB" - #endif - }, - // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, - - XTL::EmuIDirect3DBaseTexture8_GetLevelCount, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DBaseTexture8_GetLevelCount" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel2 - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel2" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel2B - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2B_1_0_4627, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel2B" - #endif - }, - // IDirect3DTexture8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // IDirect3DVolumeTexture8::LockBox - { - (OOVPA*)&IDirect3DVolumeTexture8_LockBox_1_0_4627, - - XTL::EmuIDirect3DVolumeTexture8_LockBox, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVolumeTexture8_LockBox" - #endif - }, - // X_D3DDevice_GetViewportOffsetAndScale - { - (OOVPA*)&X_D3DDevice_GetViewportOffsetAndScale_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetViewportOffsetAndScale, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewportOffsetAndScale" - #endif - }, - // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, - // D3DDevice_SelectVertexShaderDirect - { - (OOVPA*)&X_D3DDevice_SelectVertexShaderDirect_1_0_4627, - - XTL::EmuIDirect3DDevice8_SelectVertexShaderDirect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShaderDirect" - #endif - }, - // D3DDevice_GetShaderConstantMode - { - (OOVPA*)&X_D3DDevice_GetShaderConstantMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetShaderConstantMode" - #endif - }, - // D3DDevice_GetVertexShader - { - (OOVPA*)&X_D3DDevice_GetVertexShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVertexShader" - #endif - }, - // D3DDevice_GetVertexShaderConstant - { - (OOVPA*)&X_D3DDevice_GetVertexShaderConstant_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetVertexShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVertexShaderConstant" - #endif - }, - // D3DDevice_SetVertexShaderInputDirect - { - (OOVPA*)&X_D3DDevice_SetVertexShaderInputDirect_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderInputDirect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderInputDirect" - #endif - }, - // D3DDevice_GetVertexShaderInput - { - (OOVPA*)&X_D3DDevice_GetVertexShaderInput_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetVertexShaderInput, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVertexShaderInput" - #endif - }, - // D3DDevice_RunVertexStateShader - { - (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_RunVertexStateShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_RunVertexStateShader" - #endif - }, - // D3DDevice_LoadVertexShader - { - (OOVPA*)&X_D3DDevice_LoadVertexShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // D3DDevice_LoadVertexShaderProgram - { - (OOVPA*)&X_D3DDevice_LoadVertexShaderProgram_1_0_4627, - - XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShaderProgram" - #endif - }, - // D3DDevice_SelectVertexShader - { - (OOVPA*)&X_D3DDevice_SelectVertexShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, - // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVertexShaderSize" - #endif - }, - // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, - // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, - // D3DDevice_GetVertexShaderType - { - (OOVPA*)&X_D3DDevice_GetVertexShaderType_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetVertexShaderType, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVertexShaderType" - #endif - }, - // D3DDevice_GetVertexShaderDeclaration - { - (OOVPA*)&X_D3DDevice_GetVertexShaderDeclaration_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetVertexShaderDeclaration, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVertexShaderDeclaration" - #endif - }, - // D3DDevice_GetVertexShaderFunction - { - (OOVPA*)&X_D3DDevice_GetVertexShaderFunction_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetVertexShaderFunction, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVertexShaderFunction" - #endif - }, - // D3DDevice_SetVertexShaderInput - { - (OOVPA*)&X_D3DDevice_SetVertexShaderInput_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderInput, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderInput" - #endif - }, - // D3DDevice_Release - { - (OOVPA*)&X_D3DDevice_Release_1_0_4627, - - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Release" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, + OOVPA_TABLE_XREF(D3D_CommonSetRenderTargetB_1_0_4627), + // IDirect3DDevice8::SetRenderTarget + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::AddRef + OOVPA_TABLE_PATCH(IDirect3DDevice8_AddRef_1_0_4627, XTL::EmuIDirect3DDevice8_AddRef), + // IDirect3DDevice8::SetGammaRamp + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_4928, XTL::EmuIDirect3DDevice8_SetGammaRamp), + // IDirect3DDevice8::SetShaderConstantMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_4627, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DDevice8::GetRenderTarget2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget2_1_0_4627, XTL::EmuIDirect3DDevice8_GetRenderTarget2), + // IDirect3DDevice8::GetRenderTarget2B + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget2B_1_0_4627, XTL::EmuIDirect3DDevice8_GetRenderTarget2), + // IDirect3DDevice8::GetDepthStencilSurface2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface2_1_0_4627, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2), + // IDirect3DDevice8::GetDepthStencilSurface2B + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface2B_1_0_4627, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2), + // IDirect3DDevice8::GetTile + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTile_1_0_4627, XTL::EmuIDirect3DDevice8_GetTile), + // IDirect3DDevice8::SetTileNoWait + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTileNoWait_1_0_4627, XTL::EmuIDirect3DDevice8_SetTileNoWait), + // IDirect3DDevice8::CreateIndexBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateIndexBuffer2_1_0_4627, XTL::EmuIDirect3DDevice8_CreateIndexBuffer2), + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::SetPixelShaderConstant (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShaderConstant_1_0_4134, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), + // IDirect3DDevice8::SetVertexShaderConstant1 + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1), + // IDirect3DDevice8::SetVertexShaderConstant4 + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4), + // IDirect3DDevice8::SetVertexShaderConstantNotInline + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline), + // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DeletePixelShader_1_0_4134, XTL::EmuIDirect3DDevice8_DeletePixelShader), + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePixelShader), // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_4721, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader_4721" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_4627, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::CreateTexture2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture2_1_0_4627, XTL::EmuIDirect3DDevice8_CreateTexture2), + // IDirect3DDevice8::CreateTexture2B + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture2B_1_0_4627, XTL::EmuIDirect3DDevice8_CreateTexture2), + // IDirect3DDevice8::CreateTexture2C + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture2C_1_0_4627, XTL::EmuIDirect3DDevice8_CreateTexture2), + // IDirect3DDevice8::SetIndices (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_4361, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetIndicesB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndicesB_1_0_4627, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetTexture (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::SetTextureB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureB_1_0_4627, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::SetTextureC + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureC_1_0_4928, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::GetDisplayMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayMode_1_0_4627, XTL::EmuIDirect3DDevice8_GetDisplayMode), + // IDirect3DDevice8::RunPushBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_RunPushBuffer_1_0_4627, XTL::EmuIDirect3DDevice8_RunPushBuffer), + // IDirect3DDevice8::Begin + OOVPA_TABLE_PATCH(IDirect3DDevice8_Begin_1_0_4627, XTL::EmuIDirect3DDevice8_Begin), + // IDirect3DDevice8::SetVertexData2f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::SetVertexData4f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData4f_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexData4f), + // IDirect3DDevice8::End + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_4627, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::Clear + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_4627, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::ClearB + OOVPA_TABLE_PATCH(IDirect3DDevice8_ClearB_1_0_4627, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::Swap + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_4627, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EnableOverlay_1_0_4361, XTL::EmuIDirect3DDevice8_EnableOverlay), + // IDirect3DDevice8::CreateVertexBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer2_1_0_4627, XTL::EmuIDirect3DDevice8_CreateVertexBuffer2), + // IDirect3DDevice8::UpdateOverlay + OOVPA_TABLE_PATCH(IDirect3DDevice8_UpdateOverlay_1_0_4627, XTL::EmuIDirect3DDevice8_UpdateOverlay), + // IDirect3DDevice8::GetOverlayUpdateStatus + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetOverlayUpdateStatus_1_0_4627, XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4627, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::SetVerticalBlankCallback + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_4627, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // IDirect3DDevice8::GetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetViewport_1_0_4627, XTL::EmuIDirect3DDevice8_GetViewport), + // IDirect3DDevice8::SetTextureState_TexCoordIndex + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_4034, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // IDirect3DDevice8::SetRenderState_NormalizeNormalsB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormalsB_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DDevice8::SetRenderState_EdgeAntiAliasB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAliasB_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_ZEnableB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnableB_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_StencilEnableB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnableB_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_LineWidth + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAliasB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAliasB_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SwitchTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SwitchTexture), + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_4134, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_4361, XTL::EmuIDirect3DDevice8_GetTransform), + // D3DDevice_GetStreamSource2 + OOVPA_TABLE_PATCH(X_D3DDevice_GetStreamSource2_1_0_4627, XTL::EmuIDirect3DDevice8_GetStreamSource2), + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4361, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShader (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::SetVertexShaderB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderB_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::DrawVertices (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_4361, XTL::EmuIDirect3DDevice8_DrawVertices), + // IDirect3DDevice8::DrawVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUP_1_0_4627, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::DrawVerticesUPB + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUPB_1_0_4627, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::SetLight (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_4361, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_4627, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::SetMaterial + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_4627, XTL::EmuIDirect3DDevice8_SetMaterial), + // IDirect3DDevice8::LightEnable (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_4361, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DVertexBuffer8::Lock2 + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock2_1_0_4627, XTL::EmuIDirect3DVertexBuffer8_Lock2), + // IDirect3DVertexBuffer8::Lock2B + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock2B_1_0_4627, XTL::EmuIDirect3DVertexBuffer8_Lock2), + // IDirect3DResource8::Register (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::Release (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::ReleaseB + OOVPA_TABLE_PATCH(IDirect3DResource8_ReleaseB_1_0_4627, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_4361, XTL::EmuIDirect3DResource8_IsBusy), /* I forget why I had this in here... + // IDirect3DResource8::GetType + OOVPA_TABLE_PATCH(IDirect3DResource8_GetType_1_0_4627, XTL::EmuIDirect3DResource8_GetType),*/ + // Get2DSurfaceDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_4627, XTL::EmuGet2DSurfaceDesc), + // Get2DSurfaceDescB + OOVPA_TABLE_XREF(Get2DSurfaceDescB_1_0_4627), + // Get2DSurfaceDescC + OOVPA_TABLE_PATCH(Get2DSurfaceDescC_1_0_4627, XTL::EmuGet2DSurfaceDesc), + // Get2DSurfaceDescD + OOVPA_TABLE_PATCH(Get2DSurfaceDescD_1_0_4627, XTL::EmuGet2DSurfaceDescD), + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_GetDesc_1_0_4361, XTL::EmuIDirect3DSurface8_GetDesc), + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), + // IDirect3DSurface8::LockRectB + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRectB_1_0_4627, XTL::EmuIDirect3DSurface8_LockRect), + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DBaseTexture8_GetLevelCount_1_0_4361, XTL::EmuIDirect3DBaseTexture8_GetLevelCount), + // IDirect3DTexture8::GetSurfaceLevel2 + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, XTL::EmuIDirect3DTexture8_GetSurfaceLevel2), + // IDirect3DTexture8::GetSurfaceLevel2B + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel2B_1_0_4627, XTL::EmuIDirect3DTexture8_GetSurfaceLevel2), + // IDirect3DTexture8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DTexture8_LockRect), + // IDirect3DVolumeTexture8::LockBox + OOVPA_TABLE_PATCH(IDirect3DVolumeTexture8_LockBox_1_0_4627, XTL::EmuIDirect3DVolumeTexture8_LockBox), + // X_D3DDevice_GetViewportOffsetAndScale + OOVPA_TABLE_PATCH(X_D3DDevice_GetViewportOffsetAndScale_1_0_4627, XTL::EmuIDirect3DDevice8_GetViewportOffsetAndScale), + // D3DDevice_DeleteVertexShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteVertexShader), + // D3DDevice_SelectVertexShaderDirect + OOVPA_TABLE_PATCH(X_D3DDevice_SelectVertexShaderDirect_1_0_4627, XTL::EmuIDirect3DDevice8_SelectVertexShaderDirect), + // D3DDevice_GetShaderConstantMode + OOVPA_TABLE_PATCH(X_D3DDevice_GetShaderConstantMode_1_0_4627, XTL::EmuIDirect3DDevice8_GetShaderConstantMode), + // D3DDevice_GetVertexShader + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShader_1_0_4627, XTL::EmuIDirect3DDevice8_GetVertexShader), + // D3DDevice_GetVertexShaderConstant + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderConstant_1_0_4627, XTL::EmuIDirect3DDevice8_GetVertexShaderConstant), + // D3DDevice_SetVertexShaderInputDirect + OOVPA_TABLE_PATCH(X_D3DDevice_SetVertexShaderInputDirect_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderInputDirect), + // D3DDevice_GetVertexShaderInput + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderInput_1_0_4627, XTL::EmuIDirect3DDevice8_GetVertexShaderInput), + // D3DDevice_RunVertexStateShader + OOVPA_TABLE_PATCH(X_D3DDevice_RunVertexStateShader_1_0_4627, XTL::EmuIDirect3DDevice8_RunVertexStateShader), + // D3DDevice_LoadVertexShader + OOVPA_TABLE_PATCH(X_D3DDevice_LoadVertexShader_1_0_4627, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // D3DDevice_LoadVertexShaderProgram + OOVPA_TABLE_PATCH(X_D3DDevice_LoadVertexShaderProgram_1_0_4627, XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram), + // D3DDevice_SelectVertexShader + OOVPA_TABLE_PATCH(X_D3DDevice_SelectVertexShader_1_0_4627, XTL::EmuIDirect3DDevice8_SelectVertexShader), + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), + // IDirect3DDevice8::BeginStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_BeginStateBlock), + // IDirect3DDevice8::EndStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_EndStateBlock), + // D3DDevice_GetVertexShaderType + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderType_1_0_4627, XTL::EmuIDirect3DDevice8_GetVertexShaderType), + // D3DDevice_GetVertexShaderDeclaration + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderDeclaration_1_0_4627, XTL::EmuIDirect3DDevice8_GetVertexShaderDeclaration), + // D3DDevice_GetVertexShaderFunction + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderFunction_1_0_4627, XTL::EmuIDirect3DDevice8_GetVertexShaderFunction), + // D3DDevice_SetVertexShaderInput + OOVPA_TABLE_PATCH(X_D3DDevice_SetVertexShaderInput_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderInput), + // D3DDevice_Release + OOVPA_TABLE_PATCH(X_D3DDevice_Release_1_0_4627, XTL::EmuIDirect3DDevice8_Release), + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // IDirect3DDevice8::SetPixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_4721, XTL::EmuIDirect3DDevice8_SetPixelShader), // IDirect3DDevice8::Reset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4134, XTL::EmuIDirect3DDevice8_Reset), // IDirect3DDevice8::SetScissors - { - (OOVPA*) &D3DDevice_SetScissors_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScissors" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetScissors_1_0_4627, XTL::EmuIDirect3DDevice8_SetScissors), // IDirect3DDevice8::SetPalette - { - (OOVPA*) &D3DDevice_SetPalette_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetPalette_1_0_4627, XTL::EmuIDirect3DDevice8_SetPalette), // IDirect3DDevice8::SetBackBufferScale - { - (OOVPA*)&IDirect3DDevice8_SetBackBufferScale_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetBackBufferScale, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetBackBufferScale" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetBackBufferScale_1_0_4627, XTL::EmuIDirect3DDevice8_SetBackBufferScale), // IDirect3DDevice8::Reset - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4627, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4627, XTL::EmuIDirect3DDevice8_Reset), // IDirect3DDevice8_SetPixelShaderProgram - { - (OOVPA*)&IDirect3DDevice8_SetPixelShaderProgram_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderProgram" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShaderProgram_1_0_4627, XTL::EmuIDirect3DDevice8_SetPixelShaderProgram), // IDirect3DDevice8_GetDisplayFieldStatus - { - (OOVPA*)&IDirect3DDevice8_GetDisplayFieldStatus_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayFieldStatus" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayFieldStatus_1_0_4627, XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus), // IDirect3DDevice8_SetScreenSpaceOffset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScreenSpaceOffset_1_0_4134, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), // IDirect3DDevice8_CreateStateBlock - { - (OOVPA*)&IDirect3DDevice8_CreateStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_CreateStateBlock), // IDirect3DDevice8_InsertCallback - { - (OOVPA*)&IDirect3DDevice8_InsertCallback_1_0_4627, - - XTL::EmuIDirect3DDevice8_InsertCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertCallback" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_InsertCallback_1_0_4627, XTL::EmuIDirect3DDevice8_InsertCallback), // IDirect3DDevice8_DrawRectPatch - { - (OOVPA*)&IDirect3DDevice8_DrawRectPatch_1_0_4627, - - XTL::EmuIDirect3DDevice8_DrawRectPatch, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawRectPatch" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawRectPatch_1_0_4627, XTL::EmuIDirect3DDevice8_DrawRectPatch), // IDirect3DDevice8_GetProjectionViewportMatrix - { - (OOVPA*)&IDirect3DDevice8_GetProjectionViewportMatrix_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetProjectionViewportMatrix" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetProjectionViewportMatrix_1_0_4627, XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix), // IDirect3DDevice8_BackFillMode (* unchanged since 4531 *) - { - (OOVPA*)&IDirect3DDevice8_BackFillMode_1_0_4531, - - XTL::EmuIDirect3DDevice8_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BackFillMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_BackFillMode_1_0_4531, XTL::EmuIDirect3DDevice8_BackFillMode), // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), // D3DDevice_SetRenderState_MultiSampleMask - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMask_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), // D3DDevice_SetRenderState_LogicOp - { - (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LogicOp_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), // D3D::SetFence (XREF) (* unchanged since 4134 *) - { - (OOVPA*)&D3D_SetFence_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "D3D::SetFence (XREF)" - #endif - }, - // IDirect3DDevice8::InsertFence - { - (OOVPA*)&D3DDevice_InsertFence_1_0_4627, - - XTL::EmuIDirect3DDevice8_InsertFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertFence" - #endif - }, + OOVPA_TABLE_XREF(D3D_SetFence_1_0_4134), + // IDirect3DDevice8::InsertFence + OOVPA_TABLE_PATCH(D3DDevice_InsertFence_1_0_4627, XTL::EmuIDirect3DDevice8_InsertFence), // D3D::CDevice::KickOff - { - (OOVPA*)&D3D_CDevice_KickOff_1_0_4627, - - XTL::EmuD3DDevice_KickOff, - - #ifdef _DEBUG_TRACE - "D3D::CDevice::KickOff" - #endif - }, + OOVPA_TABLE_PATCH(D3D_CDevice_KickOff_1_0_4627, XTL::EmuD3DDevice_KickOff), // IDirect3DDevice8::SetPixelShaderConstant - { - (OOVPA*)&IDirect3DDevice8_SetPixelShaderConstant_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant_4928" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShaderConstant_1_0_4928, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), // IDirect3DDevice8::SetRenderState_TwoSidedLighting (* unchanged since 4134 *) // Beware of the typo... - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), // D3DDevice_GetTexture2 - { - (OOVPA*)&D3DDevice_GetTexture2_1_0_4627, - XTL::EmuIDirect3DDevice8_GetTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTexture2" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetTexture2_1_0_4627, XTL::EmuIDirect3DDevice8_GetTexture2), // D3D::CDevice::SetStateVB - /*{ - (OOVPA*)&D3D_CDevice_SetStateVB_1_0_4627, - - XTL::EmuD3DDevice_SetStateVB, - - #ifdef _DEBUG_TRACE - "D3D::CDevice::SetStateVB" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(D3D_CDevice_SetStateVB_1_0_4627, XTL::EmuD3DDevice_SetStateVB), + */ // D3D::CDevice::SetStateUP - /*{ - (OOVPA*)&D3D_CDevice_SetStateUP_1_0_4627, - - XTL::EmuD3DDevice_SetStateUP, - - #ifdef _DEBUG_TRACE - "D3D::CDevice::SetStateUP" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(D3D_CDevice_SetStateUP_1_0_4627, XTL::EmuD3DDevice_SetStateUP), + */ // IDirect3DDevice8::DrawIndexedVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4627, - - XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVerticesUP" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4627, XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP), // IDirect3DDevice8::SetStipple - { - (OOVPA*)&D3DDevice_SetStipple_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetStipple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStipple" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetStipple_1_0_4627, XTL::EmuIDirect3DDevice8_SetStipple), // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_DeletePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePixelShader" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_DeletePixelShader_1_0_4134, XTL::EmuIDirect3DDevice8_DeletePixelShader), // D3DDevice_PersistDisplay - { - (OOVPA*)&D3DDevice_PersistDisplay_1_0_4627, - XTL::EmuIDirect3DDevice8_PersistDisplay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice_PersistDisplay" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_PersistDisplay_1_0_4627, XTL::EmuIDirect3DDevice8_PersistDisplay), // D3DDevice_PersistDisplay - { - (OOVPA*)&D3DDevice_PersistDisplay_1_0_4928, - XTL::EmuIDirect3DDevice8_PersistDisplay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_PersistDisplay_4928" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_PersistDisplay_1_0_4928, XTL::EmuIDirect3DDevice8_PersistDisplay), // IDirect3DDevice8::SetSwapCallback - { - (OOVPA*)&IDirect3DDevice8_SetSwapCallback_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetSwapCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSwapCallback" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSwapCallback_1_0_4928, XTL::EmuIDirect3DDevice8_SetSwapCallback), // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), // IDirect3DDevice8::SetRenderState_MultiSampleMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMode_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&D3DDevice_BeginStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_BeginStateBlock), // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&D3DDevice_EndStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_EndStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_EndStateBlock), // IDirect3DDevice8::ApplyStateBlock - { - (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_ApplyStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_ApplyStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_ApplyStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_ApplyStateBlock), // IDirect3DDevice8::CaptureStateBlock - { - (OOVPA*)&D3DDevice_CaptureStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_CaptureStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CaptureStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_CaptureStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_CaptureStateBlock), // IDirect3DDevice8::DeleteStateBlock - { - (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_DeleteStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_DeleteStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_DeleteStateBlock), // IDirect3DDevice8::SetVertexData4ub (* unchanged since 4361 *) - { - (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4ub, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4ub" - #endif - }, - // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4ub_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4ub), + // IDirect3DDevice8::SetVertexData4f + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4f_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4f), // D3D_BlockOnTime - { - (OOVPA*)&D3D_BlockOnTime_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "D3D::BlockOnTime (XREF)" - #endif - }, + OOVPA_TABLE_XREF(D3D_BlockOnTime_1_0_4627), // D3DDevice_BlockOnFence - { - (OOVPA*)&D3DDevice_BlockOnFence_1_0_4627, - - XTL::EmuIDirect3DDevice8_BlockOnFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockOnFence" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BlockOnFence_1_0_4627, XTL::EmuIDirect3DDevice8_BlockOnFence), // Lock3DSurface - { - (OOVPA*)&Lock3DSurface_1_0_4627, - - XTL::EmuLock3DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock3DSurface" - #endif - }, + OOVPA_TABLE_PATCH(Lock3DSurface_1_0_4627, XTL::EmuLock3DSurface), // Lock2DSurface (* unchanged since 3925 *) - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), // IDirect3DDevice8::CreateImageSurface - { - (OOVPA*)&D3DDevice_CreateImageSurface_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateImageSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateImageSurface" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_CreateImageSurface_1_0_4627, XTL::EmuIDirect3DDevice8_CreateImageSurface), // IDirect3DCubeTexture8::GetCubeMapSurface2 - { - (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, - - XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" - #endif - }, + OOVPA_TABLE_PATCH(D3DCubeTexture_GetCubeMapSurface2_1_0_4627, XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2), // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&D3DDevice_SetSoftDisplayFilter_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetSoftDisplayFilter_1_0_4627, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&D3DDevice_SetFlickerFilter_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetFlickerFilter_1_0_4627, XTL::EmuIDirect3DDevice8_SetFlickerFilter), // IDirect3DDevice8::GetPixelShader - { - (OOVPA*)&D3DDevice_GetPixelShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetPixelShader" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetPixelShader_1_0_4627, XTL::EmuIDirect3DDevice8_GetPixelShader), // IDirect3DDevice8::CreatePalette2 - { - (OOVPA*)&D3DDevice_CreatePalette2_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreatePalette2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette2" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_CreatePalette2_1_0_4627, XTL::EmuIDirect3DDevice8_CreatePalette2), // IDirect3DPalette8::Lock2 - { - (OOVPA*)&D3DPalette_Lock2_1_0_4627, - - XTL::EmuIDirect3DPalette8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock2" - #endif - }, + OOVPA_TABLE_PATCH(D3DPalette_Lock2_1_0_4627, XTL::EmuIDirect3DPalette8_Lock2), // IDirect3DDevice8::BeginPushBuffer - { - (OOVPA*)&D3DDevice_BeginPushBuffer_1_0_4627, - - XTL::EmuIDirect3DDevice8_BeginPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPushBuffer" - #endif - }, - // IDirect3DDevice8::EndPushBuffer - { - (OOVPA*)&D3DDevice_EndPushBuffer_1_0_4627, - - XTL::EmuIDirect3DDevice8_EndPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPushBuffer" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginPushBuffer_1_0_4627, XTL::EmuIDirect3DDevice8_BeginPushBuffer), + // IDirect3DDevice8::EndPushBuffer + OOVPA_TABLE_PATCH(D3DDevice_EndPushBuffer_1_0_4627, XTL::EmuIDirect3DDevice8_EndPushBuffer), // D3DDevice_GetPersistedSurface2 - { - (OOVPA*)&D3DDevice_GetPersistedSurface2_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetPersistedSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetPersistedSurface2 ***" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetPersistedSurface2_1_0_4627, XTL::EmuIDirect3DDevice8_GetPersistedSurface2), // D3DDevice_SetModelView - { - (OOVPA*)&D3DDevice_SetModelView_1_0_4627, - XTL::EmuIDirect3DDevice8_SetModelView, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetModelView" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetModelView_1_0_4627, XTL::EmuIDirect3DDevice8_SetModelView), // D3D_LazySetPointParams_1_0_4627 - { - (OOVPA*)&D3D_LazySetPointParams_1_0_4627, - XTL::EmuD3D_LazySetPointParams, - - #ifdef _DEBUG_TRACE - "D3D::LazySetPointParams (XRef)" - #endif - }, + OOVPA_TABLE_PATCH(D3D_LazySetPointParams_1_0_4627, XTL::EmuD3D_LazySetPointParams), // D3DDevice_SetDepthClipPlanes - { - (OOVPA*)&D3DDevice_SetDepthClipPlanes_1_0_4627, - XTL::EmuIDirect3DDevice8_SetDepthClipPlanes, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetDepthClipPlanes" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetDepthClipPlanes_1_0_4627, XTL::EmuIDirect3DDevice8_SetDepthClipPlanes), // IDirect3DDevice8::GetMaterial - { - (OOVPA*)&D3DDevice_GetMaterial_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetMaterial" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetMaterial_1_0_4627, XTL::EmuIDirect3DDevice8_GetMaterial), // IDirect3DDevice8::KickPushBuffer - { - (OOVPA*)&D3DDevice_KickPushBuffer_1_0_4627, - - XTL::EmuD3DDevice_KickOff, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_KickPushBuffer" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_KickPushBuffer_1_0_4627, XTL::EmuD3DDevice_KickOff), // IDirect3DDevice8::GetBackMaterial - { - (OOVPA*)&D3DDevice_GetBackMaterial_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetBackMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackMaterial" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetBackMaterial_1_0_4627, XTL::EmuIDirect3DDevice8_GetBackMaterial), // IDirect3DDevice8::SetBackMaterial - { - (OOVPA*)&D3DDevice_SetBackMaterial_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetBackMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetBackMaterial" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetBackMaterial_1_0_4627, XTL::EmuIDirect3DDevice8_SetBackMaterial), // IDirect3DCubeTexture8::LockRect // TODO: This needs to be verified on 4361, not just 4242! - /*{ - (OOVPA*)&IDirect3DCubeTexture8_LockRect_1_0_3925, - - XTL::EmuIDirect3DCubeTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_LockRect_4242" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(IDirect3DCubeTexture8_LockRect_1_0_3925, XTL::EmuIDirect3DCubeTexture8_LockRect), + */ }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index a34c0dce3..ba32ba637 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * IDirect3D8_CreateDevice // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDevice_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CreateDevice_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CreateDevice+0x0A : jnz +0x0A { 0x0A, 0x75 }, // (Offset,Value)-Pair #1 { 0x0B, 0x0A }, // (Offset,Value)-Pair #2 @@ -59,21 +52,13 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_5233 = // IDirect3D8_CreateDevice+0x91 : retn 0x18 { 0x91, 0xC2 }, // (Offset,Value)-Pair #7 { 0x92, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDisplayFieldStatus // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x90 }, { 0x0E, 0x04 }, { 0x16, 0x00 }, @@ -81,21 +66,13 @@ SOOVPA<7> IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233 = { 0x26, 0xD2 }, { 0x2E, 0x89 }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetViewport // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5233 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetViewport_1_0_5233, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetViewport+0x0A : mov eax, [esi+0x15B4] { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 { 0x0B, 0x86 }, // (Offset,Value)-Pair #2 @@ -110,21 +87,13 @@ SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5233 = { 0xDF, 0x83 }, // (Offset,Value)-Pair #7 { 0xE0, 0xE1 }, // (Offset,Value)-Pair #8 { 0xE1, 0x0F }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LoadVertexShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_LoadVertexShader_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x45 }, { 0x14, 0x75 }, { 0x21, 0x8B }, @@ -132,21 +101,13 @@ SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_5233 = { 0x35, 0x04 }, { 0x40, 0x00 }, { 0x4B, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstantNotInline // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x26 : cmp eax, 0x10 { 0x26, 0x83 }, // (Offset,Value)-Pair #1 { 0x27, 0xF8 }, // (Offset,Value)-Pair #2 @@ -168,21 +129,12 @@ SOOVPA<12> IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233 = // IDirect3DDevice8_SetVertexShaderConstantNotInline+0x43 : emms { 0x43, 0x0F }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Clear // ****************************************************************** -LOOVPA<8> IDirect3DDevice8_Clear_1_0_5233 = -{ - 1, // Large == 1 - 8, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF_LARGE(IDirect3DDevice8_Clear_1_0_5233, 8) { 0x1D, 0x8A }, { 0x3C, 0x8B }, { 0x5B, 0x00 }, @@ -191,21 +143,13 @@ LOOVPA<8> IDirect3DDevice8_Clear_1_0_5233 = { 0xB8, 0x00 }, { 0xD7, 0x75 }, { 0xF6, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetPixelShader_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x75 }, { 0x3E, 0x0D }, { 0x60, 0x8B }, @@ -213,21 +157,13 @@ SOOVPA<7> IDirect3DDevice8_SetPixelShader_1_0_5233 = { 0x9E, 0x20 }, { 0xBE, 0x08 }, { 0xE1, 0xF6 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateTexture2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreateTexture2_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_CreateTexture2_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateTexture2+0x04 : lea eax, [esp+0x20] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x07, 0x20 }, // (Offset,Value)-Pair #2 @@ -251,21 +187,16 @@ SOOVPA<12> IDirect3DDevice8_CreateTexture2_1_0_5233 = // IDirect3DDevice8_CreateTexture2+0xB2 : retn 0x1C { 0xB2, 0xC2 }, // (Offset,Value)-Pair #11 { 0xB3, 0x1C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_CullMode // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5233 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, 13, - XREF_DXSRSCULLMODE, // XRef Is Saved - 0, // XRef Not Used + XREF_DXSRSCULLMODE, + XRefZero) - { // IDirect3DDevice8_SetRenderState_CullMode+0x19 : mov dword ptr [eax], 0x40308 { 0x19, 0xC7 }, // (Offset,Value)-Pair #1 { 0x1B, 0x08 }, // (Offset,Value)-Pair #2 @@ -286,21 +217,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5233 = { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 { 0x55, 0x04 }, // (Offset,Value)-Pair #12 { 0x56, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0F, 0xB4 }, { 0x10, 0x15 }, { 0x16, 0x0D }, @@ -308,21 +231,13 @@ SOOVPA<7> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233 = { 0x34, 0x36 }, { 0x58, 0x05 }, { 0x75, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0D : mov eax, [edi+XXXXh] { 0x0D, 0x8B }, { 0x0E, 0x87 }, @@ -340,21 +255,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344 = { 0x22, 0x80 }, { 0x23, 0xFA }, { 0x24, 0x20 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x036C] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x86 }, // (Offset,Value)-Pair #2 @@ -371,21 +278,13 @@ SOOVPA<9> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233 = // IDirect3DDevice8_SetRenderState_TextureFactor+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #8 { 0x4F, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x13, 0x8B }, { 0x22, 0xC9 }, { 0x34, 0x89 }, @@ -394,21 +293,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233 = { 0x6D, 0x8B }, { 0x7C, 0xCE }, { 0x8E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetIndices // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetIndices_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0F, 0x10 }, { 0x20, 0xC7 }, { 0x31, 0xC0 }, @@ -416,21 +307,13 @@ SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5233 = { 0x53, 0xBE }, { 0x64, 0x89 }, { 0x75, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTexture // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetTexture_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x44 }, { 0x3E, 0xE8 }, { 0x5F, 0x8B }, @@ -439,21 +322,13 @@ SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5233 = { 0xBE, 0x89 }, { 0xDE, 0xFF }, { 0xFE, 0xE2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureB // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetTextureB_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureB_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1B, 0x89 }, { 0x2B, 0xF8 }, { 0x3B, 0x51 }, @@ -462,21 +337,13 @@ SOOVPA<8> IDirect3DDevice8_SetTextureB_1_0_5233 = { 0x6B, 0x41 }, { 0x7B, 0x00 }, { 0x8B, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Begin // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_Begin_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_Begin_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0xE8 }, { 0x0C, 0x8B }, { 0x13, 0xE8 }, @@ -484,21 +351,13 @@ SOOVPA<7> IDirect3DDevice8_Begin_1_0_5233 = { 0x21, 0x00 }, { 0x28, 0x89 }, { 0x2F, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_Swap_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1B, 0xE8 }, { 0x38, 0xC3 }, { 0x55, 0xC0 }, @@ -506,21 +365,13 @@ SOOVPA<7> IDirect3DDevice8_Swap_1_0_5233 = { 0x8F, 0x8E }, { 0xAC, 0xC6 }, { 0xC9, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVertices // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVertices_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x5E }, { 0x3E, 0x17 }, { 0x5E, 0x00 }, @@ -529,21 +380,13 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5233 = { 0xBE, 0x2B }, { 0xDE, 0x00 }, { 0xFE, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DPalette8_Lock2 // ****************************************************************** -SOOVPA<13> IDirect3DPalette8_Lock2_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DPalette8_Lock2_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x8B }, { 0x0A, 0x75 }, @@ -551,21 +394,13 @@ SOOVPA<13> IDirect3DPalette8_Lock2_1_0_5233 = { 0x13, 0x46 }, { 0x16, 0x00 }, { 0x1A, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_LockRect // ****************************************************************** -SOOVPA<17> IDirect3DTexture8_LockRect_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DTexture8_LockRect_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x14 }, { 0x08, 0x8B }, { 0x0D, 0x8B }, @@ -573,21 +408,13 @@ SOOVPA<17> IDirect3DTexture8_LockRect_1_0_5233 = { 0x17, 0x50 }, { 0x20, 0xC2 }, { 0x21, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_5233 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_5233, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -603,21 +430,13 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5233 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_5344 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_5344, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -633,21 +452,13 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5344 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer2_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -667,21 +478,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5233 = // IDirect3DDevice8_GetBackBuffer+0x40 : retn 0x04 { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 { 0x41, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_UpdateOverlay // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5233 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_UpdateOverlay_1_0_5233, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_UpdateOverlay+0x13 : mov [eax+0x17BC], ecx { 0x13, 0x89 }, // (Offset,Value)-Pair #1 { 0x14, 0x88 }, // (Offset,Value)-Pair #2 @@ -698,21 +501,13 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5233 = { 0xB1, 0x86 }, // (Offset,Value)-Pair #9 { 0xB2, 0x30 }, // (Offset,Value)-Pair #10 { 0xB3, 0x89 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetOverlayUpdateStatus // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x1FB0] { 0x05, 0x8B }, // (Offset,Value)-Pair #1 { 0x06, 0x88 }, // (Offset,Value)-Pair #2 @@ -732,21 +527,13 @@ SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233 = // IDirect3DDevice8_GetOverlayUpdateStatus+0x1C : retn { 0x1C, 0xC3 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, // (Offset,Value)-Pair #1 { 0x06, 0x00 }, // (Offset,Value)-Pair #2 @@ -765,21 +552,13 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233 = // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetShaderConstantMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetShaderConstantMode_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0xFD }, { 0x3C, 0x8B }, { 0x5B, 0x0B }, @@ -788,42 +567,26 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5233 = { 0xB8, 0x00 }, { 0xD7, 0x89 }, { 0xF6, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetRenderTarget2 // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_GetRenderTarget2_1_0_5233 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(IDirect3DDevice8_GetRenderTarget2_1_0_5233, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x56 }, { 0x06, 0x8B }, { 0x0A, 0x00 }, { 0x0E, 0x74 }, { 0x16, 0x8B }, { 0x17, 0xC6 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDepthStencilSurface2 // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x56 }, { 0x06, 0x8B }, { 0x0A, 0x00 }, @@ -831,21 +594,13 @@ SOOVPA<7> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233 = { 0x12, 0x5E }, { 0x1A, 0x8B }, { 0x1B, 0xC6 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_GetDeviceCaps // ****************************************************************** -SOOVPA<7> IDirect3D8_GetDeviceCaps_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3D8_GetDeviceCaps_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x85 }, { 0x0A, 0x08 }, { 0x10, 0x83 }, @@ -853,21 +608,13 @@ SOOVPA<7> IDirect3D8_GetDeviceCaps_1_0_5233 = { 0x1C, 0xC2 }, { 0x22, 0x0C }, { 0x29, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVertices // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVertices_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x12, 0x8B }, { 0x26, 0x8B }, { 0x37, 0x00 }, @@ -875,21 +622,13 @@ SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5233 = { 0x5D, 0x89 }, { 0x70, 0x75 }, { 0x83, 0x40 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetLight // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetLight_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetLight+0x11 : mov edi, [ebp+0x390] { 0x11, 0x8B }, // (Offset,Value)-Pair #1 { 0x12, 0xBD }, // (Offset,Value)-Pair #2 @@ -909,21 +648,13 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5233 = { 0xFD, 0x8B }, // (Offset,Value)-Pair #10 { 0xFE, 0x4B }, // (Offset,Value)-Pair #11 { 0xFF, 0x68 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetLight // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetLight_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetLight_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x00 }, { 0x3E, 0x89 }, { 0x5E, 0x00 }, @@ -932,21 +663,13 @@ SOOVPA<8> IDirect3DDevice8_SetLight_1_0_5344 = { 0xBE, 0xC9 }, { 0xDE, 0x03 }, { 0xFE, 0xC1 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5233 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_5233, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0390] { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 { 0x10, 0x9E }, // (Offset,Value)-Pair #2 @@ -969,21 +692,13 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5233 = // IDirect3DDevice8_LightEnable+0xE1 : retn 0x08 { 0xE1, 0xC2 }, // (Offset,Value)-Pair #12 { 0xE2, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x8D }, { 0x3E, 0xC7 }, { 0x5E, 0xC7 }, @@ -992,21 +707,13 @@ SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5344 = { 0xBE, 0x01 }, { 0xDE, 0x00 }, { 0xFE, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_GetDesc // ****************************************************************** -SOOVPA<7> IDirect3DVertexBuffer8_GetDesc_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_GetDesc_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x74 }, { 0x0A, 0xC7 }, @@ -1014,21 +721,13 @@ SOOVPA<7> IDirect3DVertexBuffer8_GetDesc_1_0_5233 = { 0x15, 0x89 }, { 0x16, 0x46 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShader // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_5233 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShader_1_0_5233, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShader+0x06 : test bl, 1 { 0x06, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0xC3 }, // (Offset,Value)-Pair #2 @@ -1050,21 +749,13 @@ SOOVPA<14> IDirect3DDevice8_SetVertexShader_1_0_5233 = { 0xB2, 0x4C }, // (Offset,Value)-Pair #12 { 0xB3, 0x19 }, // (Offset,Value)-Pair #13 { 0xB4, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTileNoWait // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetTileNoWait_1_0_5233 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetTileNoWait_1_0_5233, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTileNoWait+0x06 : sub esp, 0x18 { 0x06, 0x83 }, // (Offset,Value)-Pair #1 { 0x07, 0xEC }, // (Offset,Value)-Pair #2 @@ -1081,21 +772,13 @@ SOOVPA<11> IDirect3DDevice8_SetTileNoWait_1_0_5233 = { 0x3F, 0xCA }, // (Offset,Value)-Pair #9 { 0x40, 0x60 }, // (Offset,Value)-Pair #10 { 0x41, 0x16 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_AddRef // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5233 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_AddRef_1_0_5233, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -1113,21 +796,13 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5233 = { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 { 0x0E, 0xFC }, // (Offset,Value)-Pair #9 { 0x0F, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectD3DDevice8_Release // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_Release_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_Release_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x00 }, { 0x13, 0xCF }, @@ -1136,21 +811,13 @@ SOOVPA<8> IDirect3DDevice8_Release_1_0_5233 = { 0x28, 0x00 }, { 0x2F, 0x89 }, { 0x36, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_KickOffAndWaitForIdle // ****************************************************************** -SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_5233 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3D8_KickOffAndWaitForIdle_1_0_5233, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_KickOffAndWaitForIdle+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -1171,21 +838,13 @@ SOOVPA<9> IDirect3D8_KickOffAndWaitForIdle_1_0_5233 = // IDirect3D8_KickOffAndWaitForIdle+0x10 : retn { 0x10, 0xC3 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CopyRects // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_CopyRects_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_CopyRects_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0xE1 }, { 0x42, 0x84 }, { 0x5E, 0x24 }, @@ -1194,21 +853,13 @@ SOOVPA<8> IDirect3DDevice8_CopyRects_1_0_5233 = { 0xBE, 0x00 }, { 0xDE, 0xBD }, { 0xFE, 0x4C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetScissors // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetScissors_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x2C }, { 0x28, 0x44 }, { 0x60, 0x38 }, @@ -1217,21 +868,13 @@ SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5233 = { 0xB8, 0xD9 }, { 0xD4, 0x1C }, { 0xFE, 0x4C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetScreenSpaceOffset // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0AA8] { 0x13, 0xD9 }, // (Offset,Value)-Pair #1 { 0x14, 0x9E }, // (Offset,Value)-Pair #2 @@ -1245,21 +888,13 @@ SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233 = // IDirect3DDevice8_SetScreenSpaceOffset+0x46 : retn 0x08 { 0x46, 0xC2 }, // (Offset,Value)-Pair #7 { 0x47, 0x08 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleMode // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233 = -{ - 0, // Large == 0 - 13, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_MultiSampleMode+0x04 : mov ecx, ds:dword_XXXX { 0x04, 0x8B }, { 0x05, 0x0D }, @@ -1284,21 +919,16 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233 = { 0x24, 0xC2 }, { 0x25, 0x04 }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE }, { 0x03, 0x04 }, @@ -1308,21 +938,16 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233 = { 0x1D, 0x8D }, { 0x2C, 0xE8 }, { 0x32, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE }, { 0x03, 0x04 }, @@ -1332,21 +957,16 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344 = { 0x1D, 0x33 }, // ** { 0x1F, 0xE8 }, // ** { 0x25, 0x04 }, // ** - } -}; +OOVPA_END; // ****************************************************************** // * D3D::CommonSetRenderTarget // ****************************************************************** -SOOVPA<8> D3D_CommonSetRenderTarget_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(D3D_CommonSetRenderTarget_1_0_5233, 8, - XREF_COMMONSETRENDERTARGET, // XRef Is Saved - 0, // XRef Not Used + XREF_COMMONSETRENDERTARGET, + XRefZero) - { { 0x02, 0x1C }, { 0x20, 0x30 }, { 0x6B, 0x06 }, @@ -1355,21 +975,16 @@ SOOVPA<8> D3D_CommonSetRenderTarget_1_0_5233 = { 0xB8, 0x0C }, { 0xDC, 0xD9 }, { 0xFF, 0x75 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -SOOVPA<7> D3D_SetFence_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(D3D_SetFence_1_0_5233, 7, - XREF_D3D_SETFENCE, // Xref Is Saved - 0, // Xref Not Used + XREF_D3D_SETFENCE, + XRefZero) - { { 0x0E, 0x05 }, { 0x18, 0xC9 }, { 0x3E, 0x3F }, @@ -1377,42 +992,32 @@ SOOVPA<7> D3D_SetFence_1_0_5233 = { 0x86, 0x5D }, { 0x98, 0xE8 }, { 0xA2, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_InsertFence // ****************************************************************** -SOOVPA<5> IDirect3DDevice8_InsertFence_1_0_5233 = -{ - 0, // Large == 0 - 5, // Count == 5 +OOVPA_XREF(IDirect3DDevice8_InsertFence_1_0_5233, 5, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x03, XREF_D3D_SETFENCE }, { 0x00, 0x6A }, { 0x01, 0x00 }, { 0x02, 0xE8 }, { 0x07, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_IsFencePending // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_IsFencePending_1_0_5233 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(IDirect3DDevice8_IsFencePending_1_0_5233, 6, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x01, XREF_D3DDEVICE }, { 0x07, 0x30 }, @@ -1420,42 +1025,32 @@ SOOVPA<6> IDirect3DDevice8_IsFencePending_1_0_5233 = { 0x10, 0xD1 }, { 0x17, 0x1B }, { 0x1C, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -SOOVPA<6> D3D_BlockOnTime_1_0_5233 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(D3D_BlockOnTime_1_0_5233, 6, - XREF_D3D_BLOCKONTIME, // Xref Is Saved - 0, // Xref Not Used + XREF_D3D_BLOCKONTIME, + XRefZero) - { { 0x09, 0x30 }, { 0x27, 0x07 }, { 0x55, 0x7E }, { 0x7B, 0x58 }, { 0xE3, 0x80 }, { 0xF5, 0x2C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockOnFence // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_BlockOnFence_1_0_5233 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(IDirect3DDevice8_BlockOnFence_1_0_5233, 6, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x08, XREF_D3D_BLOCKONTIME }, { 0x00, 0x8B }, @@ -1463,21 +1058,13 @@ SOOVPA<6> IDirect3DDevice8_BlockOnFence_1_0_5233 = { 0x04, 0x6A }, { 0x06, 0x50 }, { 0x0D, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPalette // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetPalette_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 @@ -1495,21 +1082,13 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5233 = // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetFlickerFilter_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x17C8] { 0x1C, 0x8B }, // (Offset,Value)-Pair #1 { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 @@ -1527,21 +1106,13 @@ SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5233 = // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x40, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5344 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetFlickerFilter_1_0_5344, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x17C8] { 0x1C, 0x8B }, // (Offset,Value)-Pair #1 { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 @@ -1559,21 +1130,13 @@ SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5344 = // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x40, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x17C8] { 0x25, 0x8B }, // (Offset,Value)-Pair #1 { 0x26, 0x90 }, // (Offset,Value)-Pair #2 @@ -1591,21 +1154,13 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233 = // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetSoftDisplayFilter+0x25 : mov edx, [eax+0x17F8] { 0x25, 0x8B }, // (Offset,Value)-Pair #1 { 0x26, 0x90 }, // (Offset,Value)-Pair #2 @@ -1623,21 +1178,13 @@ SOOVPA<12> IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344 = // IDirect3DDevice8_SetSoftDisplayFilter+0x4E : retn 0x04 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x4F, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TwoSidedLighting // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -1648,7 +1195,7 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344 = { 0x0B, 0x04 }, // (Offset,Value)-Pair #5 // *** - // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x18 : mov dword ptr [eax], 417C4h + // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x18 : mov dword ptr [eax], 417C4h { 0x18, 0xC7 }, // (Offset,Value)-Pair #6 { 0x19, 0x00 }, // (Offset,Value)-Pair #7 { 0x1A, 0xC4 }, // (Offset,Value)-Pair #8 @@ -1659,21 +1206,13 @@ SOOVPA<13> IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344 = // IDirect3DDevice8_SetTextureState_TwoSidedLighting+0x7D : retn 0x04 { 0x7D, 0xC2 }, // (Offset,Value)-Pair #12 { 0x7E, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Unknown1 // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_Unknown1_1_0_5233 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_Unknown1_1_0_5233, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Unknown1+0x00 : xor eax, eax { 0x00, 0x33 }, { 0x01, 0xC0 }, @@ -1686,42 +1225,26 @@ SOOVPA<9> IDirect3DDevice8_Unknown1_1_0_5233 = { 0x18, 0x00 }, // IDirect3DDevice8_Unknown1+0x1E : retn { 0x1E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginPush // ****************************************************************** -SOOVPA<6> D3DDevice_BeginPush_1_0_5344 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_BeginPush_1_0_5344, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x6A }, { 0x07, 0x00 }, { 0x0D, 0x8B }, { 0x0E, 0x44 }, { 0x12, 0x89 }, { 0x16, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndPush // ****************************************************************** -SOOVPA<8> D3DDevice_EndPush_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_EndPush_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x02, 0x24 }, { 0x04, 0x8B }, @@ -1730,21 +1253,13 @@ SOOVPA<8> D3DDevice_EndPush_1_0_5344 = { 0x0C, 0xC2 }, { 0x0D, 0x04 }, { 0x0E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1764,21 +1279,13 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233 = // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 { 0x11, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_SampleAlpha // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_SampleAlpha_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0xC1 }, { 0x15, 0x0B }, { 0x1C, 0x8B }, @@ -1786,21 +1293,13 @@ SOOVPA<7> D3DDevice_SetRenderState_SampleAlpha_1_0_5233 = { 0x30, 0x07 }, { 0x3B, 0xC7 }, { 0x44, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0xA3 }, { 0x12, 0x56 }, { 0x1C, 0x8B }, @@ -1809,21 +1308,13 @@ SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5233 = { 0x3D, 0xC7 }, { 0x44, 0x78 }, { 0x4E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct3D_EnumAdapterModes // ****************************************************************** -SOOVPA<8> Direct3D_EnumAdapterModes_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(Direct3D_EnumAdapterModes_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x20, 0x8B }, { 0x3E, 0xE3 }, { 0x5E, 0x75 }, @@ -1832,21 +1323,13 @@ SOOVPA<8> Direct3D_EnumAdapterModes_1_0_5233 = { 0xBE, 0x0F }, { 0xE2, 0x89 }, { 0xFE, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData4f // ****************************************************************** -SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVertexData4f_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x46 }, { 0x16, 0x08 }, { 0x22, 0x09 }, @@ -1854,21 +1337,13 @@ SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5233 = { 0x3A, 0x24 }, { 0x46, 0x8B }, { 0x52, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData2f // ****************************************************************** -SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetVertexData2f_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x72 }, { 0x13, 0x8B }, @@ -1877,21 +1352,13 @@ SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5233 = { 0x28, 0x89 }, { 0x2F, 0xC0 }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_End // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_End_1_0_5233 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_End_1_0_5233, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_End+0x13 : mov dword ptr [eax], 0x417FC { 0x13, 0xC7 }, // (Offset,Value)-Pair #1 { 0x14, 0x00 }, // (Offset,Value)-Pair #2 @@ -1911,21 +1378,13 @@ SOOVPA<12> IDirect3DDevice8_End_1_0_5233 = // IDirect3DDevice8_End+0x3C : retn { 0x3C, 0xC3 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** -SOOVPA<8> D3DDevice_SetViewport_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetViewport_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x87 }, { 0x3E, 0xC0 }, { 0x5E, 0x49 }, @@ -1934,21 +1393,13 @@ SOOVPA<8> D3DDevice_SetViewport_1_0_5344 = { 0xBE, 0xC1 }, { 0xDE, 0xC9 }, { 0xFE, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetTransform // ****************************************************************** -SOOVPA<8> D3DDevice_SetTransform_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetTransform_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x8B }, { 0x3E, 0x00 }, { 0x5E, 0xC4 }, @@ -1957,21 +1408,13 @@ SOOVPA<8> D3DDevice_SetTransform_1_0_5344 = { 0xBE, 0x42 }, { 0xDE, 0x42 }, { 0xFE, 0xCB }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** -SOOVPA<7> D3DDevice_GetBackBuffer2_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetBackBuffer2_1_0_5344, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x10, 0x01 }, { 0x19, 0x15 }, @@ -1979,22 +1422,14 @@ SOOVPA<7> D3DDevice_GetBackBuffer2_1_0_5344 = { 0x2B, 0xC0 }, { 0x34, 0x15 }, { 0x3D, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback_1_0_5344, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x0A, 0x89 }, @@ -2002,21 +1437,13 @@ SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5344 = { 0x0C, 0x88 }, { 0x0D, 0x19 }, { 0x10, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** -SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetSwapCallback_1_0_5344, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x0A, 0x89 }, @@ -2024,21 +1451,13 @@ SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5344 = { 0x0C, 0x84 }, { 0x0D, 0x19 }, { 0x10, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** -SOOVPA<7> D3DDevice_GetViewport_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetViewport_1_0_5344, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x56 }, { 0x06, 0x57 }, { 0x0A, 0x0C }, @@ -2046,21 +1465,13 @@ SOOVPA<7> D3DDevice_GetViewport_1_0_5344 = { 0x12, 0x06 }, { 0x16, 0xF3 }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderTargetFast // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderTargetFast_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderTargetFast_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0xC9 }, { 0x3C, 0x89 }, { 0x5F, 0x8B }, @@ -2069,21 +1480,13 @@ SOOVPA<8> D3DDevice_SetRenderTargetFast_1_0_5344 = { 0xB8, 0x02 }, { 0xD7, 0x0C }, { 0xF6, 0xC5 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** -SOOVPA<7> D3DDevice_SetScreenSpaceOffset_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset_1_0_5344, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x44 }, { 0x12, 0xCE }, { 0x1F, 0xD8 }, @@ -2091,21 +1494,13 @@ SOOVPA<7> D3DDevice_SetScreenSpaceOffset_1_0_5344 = { 0x30, 0x3B }, { 0x3A, 0x8B }, { 0x44, 0x06 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** -SOOVPA<8> D3DDevice_SetScissors_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetScissors_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x44 }, { 0x3C, 0x8B }, { 0x5D, 0xD9 }, @@ -2114,21 +1509,13 @@ SOOVPA<8> D3DDevice_SetScissors_1_0_5344 = { 0xB8, 0xE8 }, { 0xD7, 0x24 }, { 0xF6, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** -SOOVPA<9> D3DDevice_SetMaterial_1_0_5344 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetMaterial_1_0_5344, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x08 }, { 0x0C, 0x81 }, { 0x0E, 0xE0 }, @@ -2138,1554 +1525,338 @@ SOOVPA<9> D3DDevice_SetMaterial_1_0_5344 = { 0x22, 0x90 }, { 0x2C, 0x5E }, { 0x2E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_5233 // ****************************************************************** -OOVPATable D3D8_1_0_5233[] = -{ +OOVPATable D3D8_1_0_5233[] = { + // IDirect3D8::CreateDevice - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_5233, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3DDevice8::GetDisplayFieldStatus - { - (OOVPA*)&IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, - - #ifdef _DEBUG_TRACE - "IDirect3DDevice8_GetDisplayFieldStatus" - #endif - }, - // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3D8_CheckDeviceFormat_1_0_4361, - - XTL::EmuIDirect3D8_CheckDeviceFormat, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CheckDeviceFormat" - #endif - }, - // IDirect3D8::KickOffAndWaitForIdle - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_5233, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, - // IDirect3DDevice8::CopyRects - { - (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_5233, - - XTL::EmuIDirect3DDevice8_CopyRects, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CopyRects" - #endif - }, - // IDirect3DDevice8::SetScissors - { - (OOVPA*)&IDirect3DDevice8_SetScissors_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScissors" - #endif - }, - // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, - // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetGammaRamp" - #endif - }, - // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DDevice8::GetRenderTarget2 - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetRenderTarget2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget2" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface2 - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface2" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_5233, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3DDevice8::GetDisplayFieldStatus + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233, XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus), + // IDirect3D8::CheckDeviceFormat (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3D8_CheckDeviceFormat_1_0_4361, XTL::EmuIDirect3D8_CheckDeviceFormat), + // IDirect3D8::KickOffAndWaitForIdle + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_5233, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), + // IDirect3DDevice8::CopyRects + OOVPA_TABLE_PATCH(IDirect3DDevice8_CopyRects_1_0_5233, XTL::EmuIDirect3DDevice8_CopyRects), + // IDirect3DDevice8::SetScissors + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScissors_1_0_5233, XTL::EmuIDirect3DDevice8_SetScissors), + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), + // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_4928, XTL::EmuIDirect3DDevice8_SetGammaRamp), + // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), + // IDirect3DDevice8::SetShaderConstantMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DDevice8::GetRenderTarget2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget2_1_0_5233, XTL::EmuIDirect3DDevice8_GetRenderTarget2), + // IDirect3DDevice8::GetDepthStencilSurface2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2), // D3D::CommonSetRenderTarget (XREF) - { - (OOVPA*)&D3D_CommonSetRenderTarget_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "D3D::CommonSetRenderTarget (XREF)" - #endif - }, - // IDirect3DDevice8::SetRenderTarget (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::AddRef - { - (OOVPA*)&IDirect3DDevice8_AddRef_1_0_5233, - - XTL::EmuIDirect3DDevice8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_AddRef" - #endif - }, - // IDirect3DDevice8::Reset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, - // IDirect3DDevice8::SetTileNoWait - { - (OOVPA*)&IDirect3DDevice8_SetTileNoWait_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetTileNoWait, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTileNoWait" - #endif - }, - // IDirect3DDevice8::CreateIndexBuffer2 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer2_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer2" - #endif - }, - // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, - // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, + OOVPA_TABLE_XREF(D3D_CommonSetRenderTarget_1_0_5233), + // IDirect3DDevice8::SetRenderTarget (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::AddRef + OOVPA_TABLE_PATCH(IDirect3DDevice8_AddRef_1_0_5233, XTL::EmuIDirect3DDevice8_AddRef), + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4134, XTL::EmuIDirect3DDevice8_Reset), + // IDirect3DDevice8::SetTileNoWait + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTileNoWait_1_0_5233, XTL::EmuIDirect3DDevice8_SetTileNoWait), + // IDirect3DDevice8::CreateIndexBuffer2 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateIndexBuffer2_1_0_4627, XTL::EmuIDirect3DDevice8_CreateIndexBuffer2), + // IDirect3DDevice8::CreateVertexShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::BeginStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_BeginStateBlock), + // IDirect3DDevice8::EndStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_EndStateBlock), // D3DDevice_RunVertexStateShader (* unchanged since 4627 *) - { - (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_RunVertexStateShader, - - #ifdef _DEBUG_TRACE - "D3DDevice_RunVertexStateShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_RunVertexStateShader_1_0_4627, XTL::EmuIDirect3DDevice8_RunVertexStateShader), // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant1 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant1" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant4 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant4" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstantNotInline - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" - #endif - }, - // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_DeletePixelShader_1_0_4134, - - XTL::EmuIDirect3DDevice8_DeletePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeletePixelShader" - #endif - }, - // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, - // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::CreateTexture2 - { - (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_5233, - - XTL::EmuIDirect3DDevice8_CreateTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture2" - #endif - }, - // IDirect3DDevice8::CreateTexture2C (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_CreateTexture2C_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture2C" - #endif - }, - // IDirect3DDevice8::SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetTexture - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::SetTextureB - { - (OOVPA*)&IDirect3DDevice8_SetTextureB_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureB" - #endif - }, - // IDirect3DDevice8::SetTextureC (* unchanged since 4928 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureC_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureC" - #endif - }, - // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, - // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::Begin - { - (OOVPA*)&IDirect3DDevice8_Begin_1_0_5233, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, - // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&D3DDevice_SetVertexData2f_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::End - { - (OOVPA*)&IDirect3DDevice8_End_1_0_5233, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::Clear - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_5233, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::Swap - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_5233, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, - // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, - - XTL::EmuIDirect3DDevice8_EnableOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EnableOverlay" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer2 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_4627, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer2" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullModeB" - #endif - }, - // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, - // IDirect3DDevice8::SetRenderState_TextureFactor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), + // IDirect3DDevice8::SetVertexShaderConstant1 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant1_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1), + // IDirect3DDevice8::SetVertexShaderConstant4 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4), + // IDirect3DDevice8::SetVertexShaderConstantNotInline + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline), + // IDirect3DDevice8::DeletePixelShader (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DeletePixelShader_1_0_4134, XTL::EmuIDirect3DDevice8_DeletePixelShader), + // IDirect3DDevice8::CreatePixelShader (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_3925, XTL::EmuIDirect3DDevice8_CreatePixelShader), + // IDirect3DDevice8::SetPixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_5233, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::CreateTexture2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture2_1_0_5233, XTL::EmuIDirect3DDevice8_CreateTexture2), + // IDirect3DDevice8::CreateTexture2C (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture2C_1_0_4627, XTL::EmuIDirect3DDevice8_CreateTexture2), + // IDirect3DDevice8::SetIndices + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_5233, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_5233, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::SetTextureB + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureB_1_0_5233, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::SetTextureC (* unchanged since 4928 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureC_1_0_4928, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayMode_1_0_4627, XTL::EmuIDirect3DDevice8_GetDisplayMode), + // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::Begin + OOVPA_TABLE_PATCH(IDirect3DDevice8_Begin_1_0_5233, XTL::EmuIDirect3DDevice8_Begin), + // IDirect3DDevice8::SetVertexData2f + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData2f_1_0_5233, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::End + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_5233, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::Clear + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_5233, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::Swap + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_5233, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EnableOverlay_1_0_4361, XTL::EmuIDirect3DDevice8_EnableOverlay), + // IDirect3DDevice8::CreateVertexBuffer2 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer2_1_0_4627, XTL::EmuIDirect3DDevice8_CreateVertexBuffer2), + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // IDirect3DDevice8::SetRenderState_CullMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_CullModeB (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullModeB_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // IDirect3DDevice8::SetRenderState_TextureFactor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), // ******* // Duplicated functions generally dangerous, but until such time as XDK 5344 // has it's own OOVP's, fine here // ******* // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // IDirect3DDevice8::SetRenderState_LineWidth (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_5344, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // IDirect3DDevice8::SetRenderState_LineWidth (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LineWidth_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_MultiSampleMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), // ******* // Duplicated functions generally dangerous, but until such time as XDK 5344 // has it's own OOVP's, fine here // ******* // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SwitchTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SwitchTexture" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3D8::GetDeviceCaps - { - (OOVPA*)&IDirect3D8_GetDeviceCaps_1_0_5233, - - XTL::EmuIDirect3D8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_GetDeviceCaps" - #endif - }, - // IDirect3DDevice8::SetLight - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_5344, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SwitchTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SwitchTexture), + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // IDirect3DDevice8::SetTransform (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_4134, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4361, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3D8::GetDeviceCaps + OOVPA_TABLE_PATCH(IDirect3D8_GetDeviceCaps_1_0_5233, XTL::EmuIDirect3D8_GetDeviceCaps), // IDirect3DDevice8::SetLight - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight (5344)" - #endif - }, - // IDirect3DDevice8::LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5233, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_5233, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::SetLight + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_5344, XTL::EmuIDirect3DDevice8_SetLight), // IDirect3DDevice8::LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5344, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable (5344)" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5233, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::SetMaterial (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_5233, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DDevice8::LightEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_5344, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_5233, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::SetMaterial (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_4627, XTL::EmuIDirect3DDevice8_SetMaterial), // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&D3DDevice_SetMaterial_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial (5344)" - #endif - }, - // IDirect3DVertexBuffer8::GetDesc - { - (OOVPA*)&IDirect3DVertexBuffer8_GetDesc_1_0_5233, - - XTL::EmuIDirect3DVertexBuffer8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_GetDesc" - #endif - }, - // IDirect3DVertexBuffer8::Lock2 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_4627, - - XTL::EmuIDirect3DVertexBuffer8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock2" - #endif - }, - // IDirect3DResource8::Register (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DDevice8::GetBackBuffer2 - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2" - #endif - }, - // IDirect3DDevice8::UpdateOverlay - { - (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_5233, - - XTL::EmuIDirect3DDevice8_UpdateOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_UpdateOverlay" - #endif - }, - // IDirect3DDevice8::GetOverlayUpdateStatus - { - (OOVPA*)&IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetOverlayUpdateStatus" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::GetViewport (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, - // IDirect3DDevice8::SetViewport - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DResource8::AddRef (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::Release (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::IsBusy (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // IDirect3DPalette8::Lock2 - { - (OOVPA*)&IDirect3DPalette8_Lock2_1_0_5233, - - XTL::EmuIDirect3DPalette8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock2" - #endif - }, - // IDirect3DTexture8::LockRect - { - (OOVPA*)&IDirect3DTexture8_LockRect_1_0_5233, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // Lock2DSurface (* unchanged since 3925 *) - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, - // Get2DSurfaceDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_5233, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetMaterial_1_0_5344, XTL::EmuIDirect3DDevice8_SetMaterial), + // IDirect3DVertexBuffer8::GetDesc + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_GetDesc_1_0_5233, XTL::EmuIDirect3DVertexBuffer8_GetDesc), + // IDirect3DVertexBuffer8::Lock2 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock2_1_0_4627, XTL::EmuIDirect3DVertexBuffer8_Lock2), + // IDirect3DResource8::Register (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DDevice8::GetBackBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer2_1_0_5233, XTL::EmuIDirect3DDevice8_GetBackBuffer2), + // IDirect3DDevice8::UpdateOverlay + OOVPA_TABLE_PATCH(IDirect3DDevice8_UpdateOverlay_1_0_5233, XTL::EmuIDirect3DDevice8_UpdateOverlay), + // IDirect3DDevice8::GetOverlayUpdateStatus + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5233, XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5233, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::GetViewport (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetViewport_1_0_4627, XTL::EmuIDirect3DDevice8_GetViewport), + // IDirect3DDevice8::SetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_5233, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::Release (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_4361, XTL::EmuIDirect3DResource8_IsBusy), + // IDirect3DPalette8::Lock2 + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock2_1_0_5233, XTL::EmuIDirect3DPalette8_Lock2), + // IDirect3DTexture8::LockRect + OOVPA_TABLE_PATCH(IDirect3DTexture8_LockRect_1_0_5233, XTL::EmuIDirect3DTexture8_LockRect), + // Lock2DSurface (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), // Get2DSurfaceDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_5344, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc (5344)" - #endif - }, - // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, - // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, - // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, - - XTL::EmuIDirect3DBaseTexture8_GetLevelCount, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DBaseTexture8_GetLevelCount" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel2" - #endif - }, - // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::DrawVertices - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5233, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_5233, XTL::EmuGet2DSurfaceDesc), + // Get2DSurfaceDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_5344, XTL::EmuGet2DSurfaceDesc), + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_GetDesc_1_0_4361, XTL::EmuIDirect3DSurface8_GetDesc), + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DBaseTexture8_GetLevelCount_1_0_4361, XTL::EmuIDirect3DBaseTexture8_GetLevelCount), + // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, XTL::EmuIDirect3DTexture8_GetSurfaceLevel2), + // IDirect3DDevice8::SetVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_5233, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::DrawVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_5233, XTL::EmuIDirect3DDevice8_DrawVertices), // IDirect3DDevice8::GetViewportOffsetAndScale (* unchanged since 4627 *) - { - (OOVPA*)&X_D3DDevice_GetViewportOffsetAndScale_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetViewportOffsetAndScale, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewportOffsetAndScale" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetViewportOffsetAndScale_1_0_4627, XTL::EmuIDirect3DDevice8_GetViewportOffsetAndScale), // IDirect3DDevice8::DeleteVertexShader (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_DeleteVertexShader_1_0_3925, - - XTL::EmuIDirect3DDevice8_DeleteVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteVertexShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_DeleteVertexShader_1_0_3925, XTL::EmuIDirect3DDevice8_DeleteVertexShader), // IDirect3DDevice8::SelectVertexShaderDirect (* unchanged since 4627 *) - { - (OOVPA*)&X_D3DDevice_SelectVertexShaderDirect_1_0_4627, - - XTL::EmuIDirect3DDevice8_SelectVertexShaderDirect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShaderDirect" - #endif - }, - // IDirect3DDevice8::LoadVertexShader - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_5233, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice::Release - { - (OOVPA*)&IDirect3DDevice8_Release_1_0_5233, - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "D3DDevice_Release" - #endif - }, - // IDirect3DDevice8::SetScreenSpaceOffset - { - (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_SelectVertexShaderDirect_1_0_4627, XTL::EmuIDirect3DDevice8_SelectVertexShaderDirect), + // IDirect3DDevice8::LoadVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_5233, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice::Release + OOVPA_TABLE_PATCH(IDirect3DDevice8_Release_1_0_5233, XTL::EmuIDirect3DDevice8_Release), + // IDirect3DDevice8::SetScreenSpaceOffset + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScreenSpaceOffset_1_0_5233, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), // D3D::SetFence (XREF) - { - (OOVPA*)&D3D_SetFence_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "D3D::SetFence (XREF)" - #endif - }, - // IDirect3DDevice8::InsertFence - { - (OOVPA*)&IDirect3DDevice8_InsertFence_1_0_5233, - - XTL::EmuIDirect3DDevice8_InsertFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertFence" - #endif - }, - // IDirect3DDevice8::IsFencePending - { - (OOVPA*)&IDirect3DDevice8_IsFencePending_1_0_5233, - - XTL::EmuIDirect3DDevice8_IsFencePending, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_IsFencePending" - #endif - }, + OOVPA_TABLE_XREF(D3D_SetFence_1_0_5233), + // IDirect3DDevice8::InsertFence + OOVPA_TABLE_PATCH(IDirect3DDevice8_InsertFence_1_0_5233, XTL::EmuIDirect3DDevice8_InsertFence), + // IDirect3DDevice8::IsFencePending + OOVPA_TABLE_PATCH(IDirect3DDevice8_IsFencePending_1_0_5233, XTL::EmuIDirect3DDevice8_IsFencePending), // D3D::BlockOnTime (XREF) - { - (OOVPA*)&D3D_BlockOnTime_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "D3D::BlockOnTime (XREF)" - #endif - }, - // IDirect3DDevice8::BlockOnFence - { - (OOVPA*)&IDirect3DDevice8_BlockOnFence_1_0_5233, - - XTL::EmuIDirect3DDevice8_BlockOnFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockOnFence" - #endif - }, + OOVPA_TABLE_XREF(D3D_BlockOnTime_1_0_5233), + // IDirect3DDevice8::BlockOnFence + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockOnFence_1_0_5233, XTL::EmuIDirect3DDevice8_BlockOnFence), // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_4361, XTL::EmuIDirect3DDevice8_GetTransform), // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_5233, XTL::EmuIDirect3DDevice8_SetPalette), // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_5233, XTL::EmuIDirect3DDevice8_SetFlickerFilter), // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter_5344" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_5344, XTL::EmuIDirect3DDevice8_SetFlickerFilter), // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSoftDisplayFilter_1_0_5233, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter_5344" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetSoftDisplayFilter_1_0_5344, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), // IDirect3DDevice8_Unknown1 - /*{ - (OOVPA*)&IDirect3DDevice8_Unknown1_1_0_5233, - - XTL::EmuIDirect3DDevice8_Unknown1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Unknown1" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(IDirect3DDevice8_Unknown1_1_0_5233, XTL::EmuIDirect3DDevice8_Unknown1, + */ // IDirect3DDevice8::SetRenderState_TwoSidedLighting (* unchanged since 4134 *) // Beware of the typo... - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), // ****** // Duplicate references are normally bad, but this XDK is aliased to XDK 5344 // until such time as a separate XDK file is generated for 5344, this will have to do // ****** // IDirect3DDevice8::SetRenderState_TwoSidedLighting (* targeting 5344 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TwoSidedLighting_1_0_5344, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), // D3DDevice_SetRenderState_LogicOp (* unchanged since 4627 *) - { - (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LogicOp_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), // IDirect3DDevice8::BeginPush - { - (OOVPA*)&D3DDevice_BeginPush_1_0_5344, - - XTL::EmuIDirect3DDevice8_BeginPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPush" - #endif - }, - // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, - - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // IDirect3DDevice8::EndPush - { - (OOVPA*)&D3DDevice_EndPush_1_0_5344, - - XTL::EmuIDirect3DDevice8_EndPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPush" - #endif - }, - // IDirect3DDevice8::EndPush (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, - - XTL::EmuIDirect3DDevice8_EndPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPush" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_BeginPush_1_0_5344, XTL::EmuIDirect3DDevice8_BeginPush), + // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginVisibilityTest_1_0_4627, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // IDirect3DDevice8::EndPush + OOVPA_TABLE_PATCH(D3DDevice_EndPush_1_0_5344, XTL::EmuIDirect3DDevice8_EndPush), + // IDirect3DDevice8::EndPush (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndPush_1_0_4627, XTL::EmuIDirect3DDevice8_EndPush), // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_5233, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), // D3DDevice_SetRenderState_SampleAlpha - { - (OOVPA*)&D3DDevice_SetRenderState_SampleAlpha_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_SampleAlpha" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_SampleAlpha_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha), // D3DDevice_SetRenderState_MultiSampleMask - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMask_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), // IDirect3DDevice8::SetVertexData4ub (* unchanged since 4361 *) - { - (OOVPA*)&D3DDevice_SetVertexData4ub_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4ub, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4ub" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4ub_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4ub), // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&D3DDevice_SetVertexData4f_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4f_1_0_4361, XTL::EmuIDirect3DDevice8_SetVertexData4f), // IDirect3DDevice8::SetViewport - { - (OOVPA*)&D3DDevice_SetViewport_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport_5344" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetViewport_1_0_5344, XTL::EmuIDirect3DDevice8_SetViewport), /** * Having two versions of D3Device::SetTransform in this file creates problems, * in order to support Futurama, this second verison (added for Whacked support) * has been disabled. // IDirect3DDevice8::SetTransform - { - (OOVPA*)&D3DDevice_SetTransform_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform_5344" - #endif - },**/ + OOVPA_TABLE_PATCH(D3DDevice_SetTransform_1_0_5344, XTL::EmuIDirect3DDevice8_SetTransform),**/ // IDirect3DDevice8::GetBackBuffer2 - { - (OOVPA*)&D3DDevice_GetBackBuffer2_1_0_5344, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2 (5344)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetBackBuffer2_1_0_5344, XTL::EmuIDirect3DDevice8_GetBackBuffer2), // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&D3DDevice_SetVerticalBlankCallback_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback (5344)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVerticalBlankCallback_1_0_5344, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&D3DDevice_SetSwapCallback_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetSwapCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSwapCallback (5344)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetSwapCallback_1_0_5344, XTL::EmuIDirect3DDevice8_SetSwapCallback), // IDirect3DDevice8::GetViewport - { - (OOVPA*)&D3DDevice_GetViewport_1_0_5344, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport (5344)" - #endif - }, - // IDirect3DDevice8::SetRenderTargetFast - { - (OOVPA*)&D3DDevice_SetRenderTargetFast_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetRenderTargetFast, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTargetFast (5344)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetViewport_1_0_5344, XTL::EmuIDirect3DDevice8_GetViewport), + // IDirect3DDevice8::SetRenderTargetFast + OOVPA_TABLE_PATCH(D3DDevice_SetRenderTargetFast_1_0_5344, XTL::EmuIDirect3DDevice8_SetRenderTargetFast), // IDirect3DDevice8::SetScreenSpaceOffset - { - (OOVPA*)&D3DDevice_SetScreenSpaceOffset_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset (5344)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetScreenSpaceOffset_1_0_5344, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), // IDirect3DDevice8::SetScissors - { - (OOVPA*)&D3DDevice_SetScissors_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScissors (5344)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetScissors_1_0_5344, XTL::EmuIDirect3DDevice8_SetScissors), // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) - { - (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, - - XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" - #endif - }, - // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) - { - (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_ApplyStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_ApplyStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DCubeTexture_GetCubeMapSurface2_1_0_4627, XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2), + // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(D3DDevice_ApplyStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_ApplyStateBlock), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 35396bfcc..d0d8444c8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -35,15 +35,11 @@ // ****************************************************************** // * D3D_CDevice_LazySetStateVB // ****************************************************************** -SOOVPA<12> D3D_CDevice_LazySetStateVB_1_0_5558 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(D3D_CDevice_LazySetStateVB_1_0_5558, 12, - XREF_D3DCD_LAZYSETSTATEVB, // Xref Is Saved - 0, // Xref Not Used + XREF_D3DCD_LAZYSETSTATEVB, + XRefZero) - { { 0x00, 0x83 }, // 1 { 0x01, 0xEC }, // 2 { 0x02, 0x0C }, // 3 @@ -59,21 +55,16 @@ SOOVPA<12> D3D_CDevice_LazySetStateVB_1_0_5558 = { 0x79, 0x17 }, // 10 { 0x7A, 0x40 }, // 11 { 0x7B, 0x00 }, // 12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BeginPush // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_BeginPush_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirect3DDevice8_BeginPush_1_0_5558, 10, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x09, XREF_D3DCD_LAZYSETSTATEVB }, // 1 { 0x00, 0x8B }, // 2 @@ -88,21 +79,13 @@ SOOVPA<10> IDirect3DDevice8_BeginPush_1_0_5558 = { 0x13, 0x44 }, // 8 { 0x14, 0x24 }, // 9 { 0x15, 0x04 }, // 10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SelectVertexShader // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SelectVertexShader_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x12, 0x07 }, { 0x26, 0x00 }, { 0x3A, 0x0D }, @@ -110,21 +93,13 @@ SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_5558 = { 0x62, 0xE1 }, { 0x76, 0x3B }, { 0x8A, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexShader // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreateVertexShader_1_0_5558 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexShader_1_0_5558, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp { 0x00, 0x51 }, // (Offset,Value)-Pair #1 { 0x01, 0x53 }, // (Offset,Value)-Pair #2 @@ -146,21 +121,13 @@ SOOVPA<12> IDirect3DDevice8_CreateVertexShader_1_0_5558 = // IDirect3DDevice8_CreateVertexShader+0x69 : retn 0x10 { 0x69, 0xC2 }, // (Offset,Value)-Pair #9 { 0x6A, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant1 // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstant1+0x05 : add eax, 0x1C /*{ 0x05, 0x83 }, // (Offset,Value)-Pair #1 { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 @@ -198,21 +165,13 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558 = // IDirect3DDevice8_SetVertexShaderConstant1+0x53 : retn { 0x53, 0xC3 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant1Fast // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShaderConstant1Fast+0x05 : add eax, 0x1C { 0x05, 0x83 }, // (Offset,Value)-Pair #1 { 0x06, 0xC0 }, // (Offset,Value)-Pair #2 @@ -233,21 +192,13 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558 = // IDirect3DDevice8_SetVertexShaderConstant1Fast+0x47 : jmp +0xB7 { 0x47, 0xEB }, // (Offset,Value)-Pair #10 { 0x48, 0xB7 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetViewport // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetViewport_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x86 }, { 0x3E, 0x1B }, { 0x5E, 0x8B }, @@ -256,21 +207,13 @@ SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5558 = { 0xBE, 0x0C }, { 0xDE, 0x75 }, { 0xFE, 0x85 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexBuffer2 // ****************************************************************** -SOOVPA<17> IDirect3DDevice8_CreateVertexBuffer2_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexBuffer2_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0xE8 }, { 0x12, 0x1E }, { 0x1C, 0x50 }, @@ -278,21 +221,13 @@ SOOVPA<17> IDirect3DDevice8_CreateVertexBuffer2_1_0_5558 = { 0x31, 0x33 }, { 0x3A, 0xFF }, { 0x44, 0x01 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_UpdateOverlay // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_UpdateOverlay_1_0_5558, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_UpdateOverlay+0x13 : mov [eax+0x1C0C], ecx { 0x13, 0x89 }, // (Offset,Value)-Pair #1 { 0x14, 0x88 }, // (Offset,Value)-Pair #2 @@ -309,21 +244,13 @@ SOOVPA<11> IDirect3DDevice8_UpdateOverlay_1_0_5558 = { 0x9E, 0x8E }, // (Offset,Value)-Pair #9 { 0x9F, 0x20 }, // (Offset,Value)-Pair #10 { 0xA0, 0x89 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetOverlayUpdateStatus // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetOverlayUpdateStatus+0x05 : mov ecx, [eax+0x24xx] { 0x05, 0x8B }, // (Offset,Value)-Pair #1 { 0x06, 0x88 }, // (Offset,Value)-Pair #2 @@ -343,21 +270,13 @@ SOOVPA<12> IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558 = // IDirect3DDevice8_GetOverlayUpdateStatus+0x1C : retn { 0x1C, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreatePalette2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_CreatePalette2_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_CreatePalette2_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x8B }, { 0x16, 0x00 }, { 0x23, 0x68 }, @@ -365,21 +284,13 @@ SOOVPA<12> IDirect3DDevice8_CreatePalette2_1_0_5558 = { 0x3D, 0x5E }, { 0x46, 0x1E }, { 0x52, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateTexture2 // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_CreateTexture2_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x14, 0x4C }, { 0x2A, 0x8B }, { 0x42, 0x8B }, @@ -388,21 +299,13 @@ SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5558 = { 0x82, 0x5E }, { 0x98, 0x89 }, { 0xAE, 0x1C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_End // ****************************************************************** -SOOVPA<17> IDirect3DDevice8_End_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_End_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x13, 0xC7 }, { 0x19, 0xC7 }, @@ -410,21 +313,13 @@ SOOVPA<17> IDirect3DDevice8_End_1_0_5558 = { 0x2B, 0xE1 }, { 0x34, 0x4E }, { 0x40, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetLight // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetLight_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x00 }, { 0x3E, 0x89 }, { 0x5E, 0x00 }, @@ -433,21 +328,13 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5558 = { 0xBE, 0xC9 }, { 0xDE, 0x07 }, { 0xFE, 0xC1 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_5558, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x08 }, { 0x0C, 0x81 }, { 0x0E, 0xF0 }, @@ -457,21 +344,13 @@ SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_5558 = { 0x22, 0x90 }, { 0x2C, 0x5E }, { 0x2E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x8D }, { 0x3E, 0xC7 }, { 0x5E, 0xC7 }, @@ -480,21 +359,13 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5558 = { 0xBE, 0x01 }, { 0xDE, 0x00 }, { 0xFE, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShader // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetVertexShader_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShader_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x89 }, { 0x3E, 0x5F }, { 0x61, 0x3B }, @@ -503,21 +374,13 @@ SOOVPA<8> IDirect3DDevice8_SetVertexShader_1_0_5558 = { 0xBE, 0x8B }, { 0xDE, 0x04 }, { 0xFE, 0xC1 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPalette // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5558 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetPalette_1_0_5558, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x84 }, // (Offset,Value)-Pair #2 @@ -535,21 +398,13 @@ SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5558 = // IDirect3DDevice8_SetPalette+0x8A : retn 0x08 { 0x8A, 0xC2 }, // (Offset,Value)-Pair #11 { 0x8B, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x6A }, { 0x08, 0x00 }, { 0x0D, 0xB0 }, @@ -557,21 +412,13 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558 = { 0x17, 0x05 }, { 0x1C, 0x50 }, { 0x23, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVerticesUP // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800 { 0x4A, 0x81 }, // (Offset,Value)-Pair #1 { 0x4B, 0xCA }, // (Offset,Value)-Pair #2 @@ -588,21 +435,13 @@ SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558 = // IDirect3DDevice8_DrawIndexedVerticesUP+0x6A : mov eax, 0x10 { 0x6A, 0xB8 }, // (Offset,Value)-Pair #9 { 0x6B, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTransform // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetTransform_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0xB9 }, { 0x3E, 0x0F }, { 0x5E, 0xD9 }, @@ -611,21 +450,13 @@ SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5558 = { 0xB8, 0xE0 }, { 0xD7, 0xD9 }, { 0xF6, 0xF6 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5558 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer2_1_0_5558, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -645,22 +476,14 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5558 = // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 { 0x41, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer2B // ****************************************************************** // NOTE: XIII has a different version than the others... -SOOVPA<12> IDirect3DDevice8_GetBackBuffer2B_1_0_5558 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer2B_1_0_5558, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -680,21 +503,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2B_1_0_5558 = // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 { 0x41, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5455 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer2_1_0_5455, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -714,21 +529,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5455 = // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 { 0x41, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_CheckDeviceMultiSampleType // ****************************************************************** -SOOVPA<7> IDirect3D8_CheckDeviceMultiSampleType_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3D8_CheckDeviceMultiSampleType_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x00 }, { 0x1E, 0x54 }, { 0x2E, 0xC9 }, @@ -736,21 +543,13 @@ SOOVPA<7> IDirect3D8_CheckDeviceMultiSampleType_1_0_5558 = { 0x4E, 0x08 }, { 0x5E, 0x72 }, { 0x6E, 0x03 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_SetPushBufferSize // ****************************************************************** -SOOVPA<7> IDirect3D8_SetPushBufferSize_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3D8_SetPushBufferSize_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x07, 0x08 }, @@ -758,21 +557,16 @@ SOOVPA<7> IDirect3D8_SetPushBufferSize_1_0_5558 = { 0x0E, 0x0D }, { 0x13, 0xC2 }, { 0x14, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -SOOVPA<14> D3D_SetFence_1_0_5558 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(D3D_SetFence_1_0_5558, 14, - XREF_D3D_SETFENCE, // Xref Is Saved - 0, // Xref Not Used + XREF_D3D_SETFENCE, + XRefZero) - { { 0x14, 0x8B }, { 0x15, 0x7E }, { 0x16, 0x2C }, @@ -787,42 +581,32 @@ SOOVPA<14> D3D_SetFence_1_0_5558 = { 0x91, 0xC7 }, { 0x92, 0x46 }, { 0x93, 0x3C }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -SOOVPA<6> D3D_BlockOnTime_1_0_5558 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(D3D_BlockOnTime_1_0_5558, 6, - XREF_D3D_BLOCKONTIME, // Xref Is Saved - 0, // Xref Not Used + XREF_D3D_BLOCKONTIME, + XRefZero) - { { 0x09, 0x30 }, { 0x27, 0x07 }, { 0x7E, 0x25 }, { 0x9F, 0x20 }, { 0xD3, 0x56 }, { 0xE9, 0x57 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::BlockOnResource // ****************************************************************** -SOOVPA<16> D3D_BlockOnResource_1_0_5558 = -{ - 0, // Large == 0 - 16, // Count == 16 +OOVPA_XREF(D3D_BlockOnResource_1_0_5558, 16, - XREF_D3D_BlockOnResource, // Xref Is Saved - XRefNotUsed, + XREF_D3D_BlockOnResource, + XRefZero) - { { 0x09, 0x8B }, // mov eax, [esp+arg_0] { 0x0A, 0x44 }, { 0x0B, 0x24 }, @@ -840,39 +624,26 @@ SOOVPA<16> D3D_BlockOnResource_1_0_5558 = { 0x76, 0x04 }, { 0x77, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DResource8_BlockUntilNotBusy // ****************************************************************** -SOOVPA<2> IDirect3DResource8_BlockUntilNotBusy_1_0_5558 = -{ - 0, // Large == 0 - 2, // Count == 2 +OOVPA_XREF(IDirect3DResource8_BlockUntilNotBusy_1_0_5558, 2, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x01, XREF_D3D_BlockOnResource }, { 0x00, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetScissors // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetScissors_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x44 }, { 0x3C, 0x8B }, { 0x5D, 0xD9 }, @@ -881,21 +652,13 @@ SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5558 = { 0xB8, 0xE8 }, { 0xD7, 0x24 }, { 0xF6, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetScissors // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5455 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetScissors_1_0_5455, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x44 }, { 0x3C, 0x8B }, { 0x5D, 0xD9 }, @@ -904,21 +667,13 @@ SOOVPA<8> IDirect3DDevice8_SetScissors_1_0_5455 = { 0xB8, 0xE8 }, { 0xD7, 0x24 }, { 0xF6, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_AddRef // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_AddRef_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_AddRef+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -936,21 +691,13 @@ SOOVPA<10> IDirect3DDevice8_AddRef_1_0_5558 = { 0x0D, 0x88 }, // (Offset,Value)-Pair #8 { 0x0E, 0x34 }, // (Offset,Value)-Pair #9 { 0x0F, 0x09 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreatePixelShader // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_CreatePixelShader_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_CreatePixelShader_1_0_5558, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_CreatePixelShader+0x05 : push 0xFC { 0x05, 0x68 }, // (Offset,Value)-Pair #1 { 0x06, 0xFC }, // (Offset,Value)-Pair #2 @@ -969,21 +716,13 @@ SOOVPA<11> IDirect3DDevice8_CreatePixelShader_1_0_5558 = // IDirect3DDevice8_CreatePixelShader+0x42 : retn 0x08 { 0x45, 0xC2 }, // (Offset,Value)-Pair #10 { 0x46, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVerticesUP // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVerticesUP_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVerticesUP+0x03 : sub esp, 0x14 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -999,21 +738,13 @@ SOOVPA<10> IDirect3DDevice8_DrawVerticesUP_1_0_5558 = { 0xC4, 0x81 }, // (Offset,Value)-Pair #8 { 0xC5, 0xFE }, // (Offset,Value)-Pair #9 { 0xC6, 0x80 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateIndexBuffer // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_CreateIndexBuffer_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_CreateIndexBuffer_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x50 }, { 0x06, 0x8B }, { 0x07, 0x4C }, @@ -1024,21 +755,13 @@ SOOVPA<10> IDirect3DDevice8_CreateIndexBuffer_1_0_5558 = { 0x16, 0x0E }, { 0x1A, 0x8B }, { 0x1E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 // ****************************************************************** -SOOVPA<7> D3DDevice_CreateIndexBuffer2_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer2_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x00 }, { 0x0C, 0x50 }, { 0x13, 0xC0 }, @@ -1046,21 +769,13 @@ SOOVPA<7> D3DDevice_CreateIndexBuffer2_1_0_5558 = { 0x21, 0x04 }, { 0x28, 0xC7 }, { 0x2F, 0x48 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x0A, 0x89 }, @@ -1068,21 +783,13 @@ SOOVPA<7> D3DDevice_SetVerticalBlankCallback_1_0_5558 = { 0x0C, 0xA8 }, { 0x0D, 0x1D }, { 0x10, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1102,21 +809,13 @@ SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455 = // IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04 { 0x10, 0xC2 }, // (Offset,Value)-Pair #11 { 0x11, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** -SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetSwapCallback_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x0A, 0x89 }, @@ -1124,21 +823,13 @@ SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5558 = { 0x0C, 0xA4 }, { 0x0D, 0x1D }, { 0x10, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_TextureFactor_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x80 }, { 0x14, 0x46 }, { 0x1F, 0x24 }, @@ -1146,21 +837,13 @@ SOOVPA<7> D3DDevice_SetRenderState_TextureFactor_1_0_5558 = { 0x35, 0x4A }, { 0x40, 0x5E }, { 0x4D, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** -SOOVPA<7> D3DDevice_GetViewport_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetViewport_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x0C, 0x00 }, { 0x13, 0x50 }, @@ -1168,21 +851,13 @@ SOOVPA<7> D3DDevice_GetViewport_1_0_5558 = { 0x21, 0x89 }, { 0x28, 0x51 }, { 0x2F, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_Reset // ****************************************************************** -SOOVPA<8> D3DDevice_Reset_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_Reset_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x13, 0x00 }, { 0x28, 0x74 }, { 0x40, 0x5F }, @@ -1191,21 +866,13 @@ SOOVPA<8> D3DDevice_Reset_1_0_5558 = { 0x7C, 0x00 }, { 0x91, 0x3F }, { 0xA6, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetGammaRamp // ****************************************************************** -SOOVPA<7> D3DDevice_SetGammaRamp_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetGammaRamp_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0F, 0x68 }, { 0x20, 0x34 }, { 0x31, 0xB4 }, @@ -1213,21 +880,13 @@ SOOVPA<7> D3DDevice_SetGammaRamp_1_0_5558 = { 0x53, 0xF3 }, { 0x64, 0xCA }, { 0x75, 0x07 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetProjectionViewportMatrix // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x35 }, { 0x07, 0x57 }, { 0x0A, 0x24 }, @@ -1235,21 +894,13 @@ SOOVPA<7> IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455 = { 0x12, 0xB9 }, { 0x16, 0x00 }, { 0x1A, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetModelView // ****************************************************************** -SOOVPA<7> D3DDevice_GetModelView_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetModelView_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x57 }, { 0x0A, 0x85 }, { 0x10, 0xB0 }, @@ -1257,21 +908,13 @@ SOOVPA<7> D3DDevice_GetModelView_1_0_5558 = { 0x1C, 0x5E }, { 0x22, 0xC1 }, { 0x28, 0xE0 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** -SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetBackMaterial_1_0_5558, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x08 }, { 0x0C, 0x81 }, { 0x0E, 0x34 }, @@ -1281,21 +924,13 @@ SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5558 = { 0x22, 0x90 }, { 0x2C, 0x5E }, { 0x2E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x05 }, { 0x1E, 0x89 }, { 0x30, 0x00 }, @@ -1304,63 +939,39 @@ SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558 = { 0x60, 0x75 }, { 0x6E, 0x48 }, { 0x7E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BeginStateBlock // ****************************************************************** -SOOVPA<6> D3DDevice_BeginStateBlock_1_0_5558 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_BeginStateBlock_1_0_5558, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x05, 0x83 }, { 0x06, 0x48 }, { 0x07, 0x08 }, { 0x08, 0x20 }, { 0x09, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_EndStateBlock // ****************************************************************** -SOOVPA<6> D3DDevice_EndStateBlock_1_0_5558 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_EndStateBlock_1_0_5558, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x05, 0x83 }, { 0x06, 0x60 }, { 0x07, 0x08 }, { 0x08, 0xDF }, { 0x09, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -1376,21 +987,13 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5558 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3D::MakeRequestedSpace // ****************************************************************** -SOOVPA<12> D3D_MakeRequestedSpace_1_0_5558 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(D3D_MakeRequestedSpace_1_0_5558, 12) - XRefNotSaved, - XRefNotUsed, - - { // D3D::MakeRequestedSpace+0x08: test byte ptr [esi+8], 4 { 0x08, 0xF6 }, { 0x09, 0x46 }, @@ -1406,22 +1009,14 @@ SOOVPA<12> D3D_MakeRequestedSpace_1_0_5558 = { 0x5A, 0x40 }, { 0x5B, 0x00 }, { 0x5C, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_MakeSpace // ****************************************************************** // TODO: This may or may not need to save/use an XRef to work... -SOOVPA<7> D3DDevice_MakeSpace_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_MakeSpace_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x05, 0x50 }, { 0x06, 0xD1 }, @@ -1429,21 +1024,13 @@ SOOVPA<7> D3DDevice_MakeSpace_1_0_5558 = { 0x08, 0x50 }, { 0x09, 0xE8 }, { 0x0E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderTarget@8 // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderTarget_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderTarget_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x44 }, { 0x3E, 0x2C }, { 0x5E, 0x8B }, @@ -1452,21 +1039,13 @@ SOOVPA<8> D3DDevice_SetRenderTarget_1_0_5558 = { 0xBE, 0x09 }, { 0xDE, 0x8B }, { 0xFE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DTexture_LockRect // ****************************************************************** -SOOVPA<8> D3DTexture_LockRect_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DTexture_LockRect_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x14 }, { 0x08, 0x8B }, { 0x0D, 0x8B }, @@ -1475,21 +1054,13 @@ SOOVPA<8> D3DTexture_LockRect_1_0_5558 = { 0x1B, 0xE8 }, { 0x20, 0xC2 }, { 0x21, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** -SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x85 }, { 0x3E, 0x8B }, { 0x5E, 0xC0 }, @@ -1497,21 +1068,13 @@ SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5558 = { 0x9F, 0x8B }, { 0xBE, 0x00 }, { 0xDE, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetFlickerFilter // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5455 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetFlickerFilter_1_0_5455, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetFlickerFilter+0x1C : mov eax, [eax+0x1808] { 0x1C, 0x8B }, // (Offset,Value)-Pair #1 { 0x1D, 0x80 }, // (Offset,Value)-Pair #2 @@ -1529,21 +1092,13 @@ SOOVPA<12> IDirect3DDevice8_SetFlickerFilter_1_0_5455 = // IDirect3DDevice8_SetFlickerFilter+0x3F : retn 0x04 { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x40, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, // (Offset,Value)-Pair #1 { 0x06, 0x00 }, // (Offset,Value)-Pair #2 @@ -1562,21 +1117,13 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455 = // IDirect3DDevice8_BlockUntilVerticalBlank+0x23 : retn { 0x23, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetScreenSpaceOffset // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0AD8] { 0x13, 0xD9 }, // (Offset,Value)-Pair #1 { 0x14, 0x9E }, // (Offset,Value)-Pair #2 @@ -1590,21 +1137,13 @@ SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455 = // IDirect3DDevice8_SetScreenSpaceOffset+0x46 : retn 0x08 { 0x46, 0xC2 }, // (Offset,Value)-Pair #7 { 0x47, 0x08 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetScreenSpaceOffset // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetScreenSpaceOffset+0x13 : fstp [esi+0x0EE8] { 0x13, 0xD9 }, // (Offset,Value)-Pair #1 { 0x14, 0x9E }, // (Offset,Value)-Pair #2 @@ -1618,21 +1157,13 @@ SOOVPA<8> IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558 = // IDirect3DDevice8_SetScreenSpaceOffset+0x46 : retn 0x08 { 0x46, 0xC2 }, // (Offset,Value)-Pair #7 { 0x47, 0x08 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_InsertCallback // ****************************************************************** -SOOVPA<7> D3DDevice_InsertCallback_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_InsertCallback_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0C, 0x72 }, { 0x1A, 0x10 }, { 0x28, 0x85 }, @@ -1640,21 +1171,13 @@ SOOVPA<7> D3DDevice_InsertCallback_1_0_5558 = { 0x44, 0x0C }, { 0x52, 0x00 }, { 0x60, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_LineWidth // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x54C] { 0x15, 0xD8 }, // (Offset,Value)-Pair #1 { 0x16, 0x8E }, // (Offset,Value)-Pair #2 @@ -1672,21 +1195,13 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455 = // IDirect3DDevice8_SetRenderState_LineWidth+0x62 : retn 0x04 { 0x62, 0xC2 }, // (Offset,Value)-Pair #9 { 0x63, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_FlushVertexCache // ****************************************************************** -SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(D3DDevice_FlushVertexCache_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x56 }, { 0x07, 0x8B }, { 0x08, 0x06 }, @@ -1697,21 +1212,13 @@ SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5558 = { 0x1C, 0x00 }, { 0x21, 0xC0 }, { 0x26, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x3B }, { 0x14, 0x4C }, { 0x1F, 0x04 }, @@ -1719,21 +1226,13 @@ SOOVPA<7> D3DDevice_SetRenderState_LogicOp_1_0_5558 = { 0x35, 0xBC }, { 0x40, 0x89 }, { 0x4E, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5455 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_5455, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_LightEnable+0x0F : cmp ebx, [esi+0x0390] { 0x0F, 0x3B }, // (Offset,Value)-Pair #1 { 0x10, 0x9E }, // (Offset,Value)-Pair #2 @@ -1756,21 +1255,13 @@ SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5455 = // IDirect3DDevice8_LightEnable+0xFB : retn 0x08 { 0xFB, 0xC2 }, // (Offset,Value)-Pair #12 { 0xFC, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetModelView // ****************************************************************** -SOOVPA<7> D3DDevice_SetModelView_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetModelView_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x15, 0xFF }, { 0x2D, 0x81 }, { 0x43, 0x3B }, @@ -1778,21 +1269,13 @@ SOOVPA<7> D3DDevice_SetModelView_1_0_5558 = { 0x71, 0x53 }, { 0x8A, 0x8B }, { 0x9F, 0x30 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** -SOOVPA<7> D3DDevice_SetIndices_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetIndices_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0F, 0x10 }, { 0x20, 0xC7 }, { 0x31, 0xC0 }, @@ -1800,21 +1283,13 @@ SOOVPA<7> D3DDevice_SetIndices_1_0_5558 = { 0x53, 0xBE }, { 0x64, 0x89 }, { 0x75, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** -SOOVPA<7> D3DDevice_SetIndices_1_0_5455 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetIndices_1_0_5455, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0F, 0xBE }, { 0x20, 0xBE }, { 0x31, 0xFF }, @@ -1822,42 +1297,26 @@ SOOVPA<7> D3DDevice_SetIndices_1_0_5455 = { 0x53, 0x00 }, { 0x64, 0x06 }, { 0x75, 0xDD }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackBuffer // ****************************************************************** -SOOVPA<6> D3DDevice_GetBackBuffer_1_0_5558 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(D3DDevice_GetBackBuffer_1_0_5558, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x50 }, { 0x0A, 0x8B }, { 0x0B, 0x4C }, { 0x0D, 0x0C }, { 0x10, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** -SOOVPA<7> D3DDevice_PersistDisplay_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_PersistDisplay_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x15 }, { 0x3E, 0x89 }, { 0x5E, 0x89 }, @@ -1865,21 +1324,13 @@ SOOVPA<7> D3DDevice_PersistDisplay_1_0_5558 = { 0x9E, 0x50 }, { 0xBE, 0x00 }, { 0xDE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** -SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x8B }, { 0x0A, 0x24 }, { 0x14, 0x8B }, @@ -1887,21 +1338,13 @@ SOOVPA<7> D3DCubeTexture_GetCubeMapSurface_1_0_5558 = { 0x1C, 0x0F }, { 0x22, 0x81 }, { 0x28, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexDataColor // ****************************************************************** -SOOVPA<7> D3DDevice_SetVertexDataColor_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVertexDataColor_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x06 }, { 0x14, 0x8B }, { 0x1C, 0x19 }, @@ -1909,21 +1352,13 @@ SOOVPA<7> D3DDevice_SetVertexDataColor_1_0_5558 = { 0x30, 0x00 }, { 0x3A, 0xFF }, { 0x44, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData4f // ****************************************************************** -SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetVertexData4f_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x46 }, { 0x16, 0x08 }, { 0x22, 0x09 }, @@ -1931,21 +1366,13 @@ SOOVPA<7> D3DDevice_SetVertexData4f_1_0_5558 = { 0x3A, 0x24 }, { 0x46, 0x8B }, { 0x52, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexData2f // ****************************************************************** -SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetVertexData2f_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0C, 0x72 }, { 0x13, 0x8B }, @@ -1954,21 +1381,13 @@ SOOVPA<8> D3DDevice_SetVertexData2f_1_0_5558 = { 0x28, 0x89 }, { 0x2F, 0xC0 }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** -SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x2D }, { 0x18, 0x10 }, { 0x25, 0xE0 }, @@ -1976,21 +1395,13 @@ SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5558 = { 0x3F, 0x24 }, { 0x4C, 0x83 }, { 0x5C, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** -SOOVPA<7> D3DDevice_SetPixelShaderProgram_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0xA1 }, { 0x0E, 0x88 }, { 0x16, 0x00 }, @@ -1998,21 +1409,13 @@ SOOVPA<7> D3DDevice_SetPixelShaderProgram_1_0_5558 = { 0x26, 0x09 }, { 0x32, 0xC7 }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** -SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode_1_0_5558, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x04 }, { 0x0A, 0xA3 }, { 0x0F, 0x8B }, @@ -2022,21 +1425,13 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5558 = { 0x1C, 0x07 }, { 0x24, 0xC2 }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** -SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5455 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode_1_0_5455, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x04 }, { 0x0A, 0xA3 }, { 0x0F, 0x8B }, @@ -2046,22 +1441,14 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5455 = { 0x1C, 0x07 }, { 0x24, 0xC2 }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** -SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x04 }, { 0x0A, 0xA3 }, { 0x0F, 0x8B }, @@ -2071,21 +1458,13 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455 = { 0x1C, 0x07 }, { 0x24, 0xC2 }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** -SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x04 }, { 0x0A, 0xA3 }, { 0x0F, 0x8B }, @@ -2095,21 +1474,13 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558 = { 0x1C, 0x07 }, { 0x24, 0xC2 }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x8B }, { 0x1D, 0x80 }, { 0x2B, 0x08 }, @@ -2118,21 +1489,13 @@ SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558 = { 0x58, 0x05 }, { 0x67, 0xC0 }, { 0x76, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_IsFencePending // ****************************************************************** -SOOVPA<7> D3DDevice_IsFencePending_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_IsFencePending_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x8B }, { 0x06, 0x48 }, { 0x0A, 0x2C }, @@ -2140,1595 +1503,333 @@ SOOVPA<7> D3DDevice_IsFencePending_1_0_5558 = { 0x12, 0x44 }, { 0x16, 0xC2 }, { 0x1A, 0xD8 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_5558 // ****************************************************************** -OOVPATable D3D8_1_0_5558[] = -{ +OOVPATable D3D8_1_0_5558[] = { + // IDirect3D8::CreateDevice (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_4627, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3DDevice8::GetDisplayFieldStatus (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, - - #ifdef _DEBUG_TRACE - "IDirect3DDevice8_GetDisplayFieldStatus" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_4627, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3DDevice8::GetDisplayFieldStatus (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayFieldStatus_1_0_5233, XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus), // D3D::CDevice::LazySetStateVB (XREF) - { - (OOVPA*)&D3D_CDevice_LazySetStateVB_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "D3D::CDevice::LazySetStateVB (XREF)" - #endif - }, - // IDirect3DDevice8::BeginPush - { - (OOVPA*)&IDirect3DDevice8_BeginPush_1_0_5558, - - XTL::EmuIDirect3DDevice8_BeginPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPush" - #endif - }, - // IDirect3DDevice8::EndPush (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, - - XTL::EmuIDirect3DDevice8_EndPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPush" - #endif - }, + OOVPA_TABLE_XREF(D3D_CDevice_LazySetStateVB_1_0_5558), + // IDirect3DDevice8::BeginPush + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginPush_1_0_5558, XTL::EmuIDirect3DDevice8_BeginPush), + // IDirect3DDevice8::EndPush (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndPush_1_0_4627, XTL::EmuIDirect3DDevice8_EndPush), // D3DDevice_RunVertexStateShader (* unchanged since 4627 *) - { - (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_RunVertexStateShader, - - #ifdef _DEBUG_TRACE - "D3DDevice_RunVertexStateShader" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_RunVertexStateShader_1_0_4627, XTL::EmuIDirect3DDevice8_RunVertexStateShader), // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, - // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, - // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, - // IDirect3DDevice8::LoadVertexShader (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_5233, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::SelectVertexShader - { - (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_5558, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, - // IDirect3DDevice8::CreateVertexShader - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_5558, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant1 - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant1" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant1Fast - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant1Fast" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstantNotInline (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer2 - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_5558, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer2" - #endif - }, - // IDirect3DDevice8::UpdateOverlay - { - (OOVPA*)&IDirect3DDevice8_UpdateOverlay_1_0_5558, - - XTL::EmuIDirect3DDevice8_UpdateOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_UpdateOverlay" - #endif - }, - // IDirect3DDevice8::GetOverlayUpdateStatus - { - (OOVPA*)&IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558, - - XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetOverlayUpdateStatus" - #endif - }, - // IDirect3DDevice8::Clear (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_5233, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::CreatePalette2 - { - (OOVPA*)&IDirect3DDevice8_CreatePalette2_1_0_5558, - - XTL::EmuIDirect3DDevice8_CreatePalette2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePalette2" - #endif - }, - // IDirect3DDevice8::SetPalette - { - (OOVPA*)&IDirect3DDevice8_SetPalette_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, - // IDirect3DDevice8::Swap (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_5233, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5233, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::DrawIndexedVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558, - - XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVerticesUP" - #endif - }, - // IDirect3DDevice8::SetPixelShader (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::CreateTexture2 - { - (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_5558, - - XTL::EmuIDirect3DDevice8_CreateTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture2" - #endif - }, - // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, - // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::End - { - (OOVPA*)&IDirect3DDevice8_End_1_0_5558, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // IDirect3DDevice8::SetLight - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, - // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, - // IDirect3DDevice8::LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5558, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, - // IDirect3DVertexBuffer8::Lock2 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_4627, - - XTL::EmuIDirect3DVertexBuffer8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock2" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::SetIndices - { - (OOVPA*)&D3DDevice_SetIndices_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetIndices - { - (OOVPA*)&D3DDevice_SetIndices_1_0_5455, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices_5455" - #endif - }, - // IDirect3DDevice8::SetTexture (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SwitchTexture_1_0_4361, - - XTL::EmuIDirect3DDevice8_SwitchTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SwitchTexture" - #endif - }, - // IDirect3DDevice8::Begin (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_Begin_1_0_5233, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, - // IDirect3DResource8::IsBusy (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, - - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // IDirect3DDevice8::SetTransform - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetViewport - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::GetBackBuffer2 - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5558, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2" - #endif - }, - // IDirect3DDevice8::GetBackBuffer2B - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer2B_1_0_5558, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2B" - #endif - }, - // IDirect3DDevice8::GetBackBuffer2 - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5455, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2_5455" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DResource8::Register (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DResource8::AddRef (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::Release (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, - // IDirect3DPalette8::Lock2 (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DPalette8_Lock2_1_0_5233, - - XTL::EmuIDirect3DPalette8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock2" - #endif - }, - // IDirect3DTexture8::LockRect - { - (OOVPA*)&D3DTexture_LockRect_1_0_5558, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, - // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, - - XTL::EmuIDirect3DBaseTexture8_GetLevelCount, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DBaseTexture8_GetLevelCount" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel2" - #endif - }, - // IDirect3DDevice8::GetRenderTarget2 (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetRenderTarget2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget2" - #endif - }, - // IDirect3D8::CheckDeviceMultiSampleType - { - (OOVPA*)&IDirect3D8_CheckDeviceMultiSampleType_1_0_5558, - - XTL::EmuIDirect3D8_CheckDeviceMultiSampleType, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CheckDeviceMultiSampleType" - #endif - }, - // IDirect3D8::GetDeviceCaps (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3D8_GetDeviceCaps_1_0_5233, - - XTL::EmuIDirect3D8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_GetDeviceCaps" - #endif - }, - // IDirect3D8::SetPushBufferSize - { - (OOVPA*)&IDirect3D8_SetPushBufferSize_1_0_5558, - XTL::EmuIDirect3D8_SetPushBufferSize, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_SetPushBufferSize" - #endif - }, - // IDirect3DDevice8::DrawVertices (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5233, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, - // D3D::SetFence (XREF) - { - (OOVPA*)&D3D_SetFence_1_0_5558,0, - - #ifdef _DEBUG_TRACE - "D3D::SetFence (XREF)" - #endif - }, - // IDirect3DDevice8::InsertFence (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_InsertFence_1_0_5233, - - XTL::EmuIDirect3DDevice8_InsertFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertFence" - #endif - }, - // D3D::BlockOnTime (XREF) - { - (OOVPA*)&D3D_BlockOnTime_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "D3D::BlockOnTime (XREF)" - #endif - }, - // IDirect3DDevice8::BlockOnFence (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_BlockOnFence_1_0_5233, - - XTL::EmuIDirect3DDevice8_BlockOnFence, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockOnFence" - #endif - }, - // D3D::BlockOnResource (XREF) - { - (OOVPA*)&D3D_BlockOnResource_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "D3D::BlockOnResource (XREF)" - #endif - }, - // IDirect3DResource8::BlockUntilNotBusy - { - (OOVPA*)&IDirect3DResource8_BlockUntilNotBusy_1_0_5558, - - XTL::EmuIDirect3DResource8_BlockUntilNotBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_BlockUntilNotBusy" - #endif - }, - // IDirect3DVertexBuffer8::GetDesc (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DVertexBuffer8_GetDesc_1_0_5233, - - XTL::EmuIDirect3DVertexBuffer8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_GetDesc" - #endif - }, - // IDirect3DDevice8::CopyRects (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_5233, - - XTL::EmuIDirect3DDevice8_CopyRects, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CopyRects" - #endif - }, - // IDirect3DDevice8::SetScissors - { - (OOVPA*)&IDirect3DDevice8_SetScissors_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScissors" - #endif - }, - // IDirect3DDevice8::SetScissors - { - (OOVPA*)&IDirect3DDevice8_SetScissors_1_0_5455, - - XTL::EmuIDirect3DDevice8_SetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScissors_5455" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface2 (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface2" - #endif - }, - // IDirect3DDevice8::AddRef - { - (OOVPA*)&IDirect3DDevice8_AddRef_1_0_5558, - - XTL::EmuIDirect3DDevice8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_AddRef" - #endif - }, - // IDirect3DDevice8::CreatePixelShader - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_5558, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant4 - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant4" - #endif - }, - // IDirect3DDevice8::DrawVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_5558, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::CreateIndexBuffer2 - { - (OOVPA*)&D3DDevice_CreateIndexBuffer2_1_0_5558, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer2" - #endif - }, - // IDirect3DDevice8::CreateIndexBuffer - { - (OOVPA*)&IDirect3DDevice8_CreateIndexBuffer_1_0_5558, - - XTL::EmuIDirect3DDevice8_CreateIndexBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateIndexBuffer" - #endif - }, - // D3DDevice_SetVerticalBlankCallback - { - (OOVPA*)&D3DDevice_SetVerticalBlankCallback_1_0_5558, - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, - // D3DDevice_SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455, - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback (5455)" - #endif - }, - // D3DDevice_SetSwapCallback - { - (OOVPA*)&D3DDevice_SetSwapCallback_1_0_5558, - XTL::EmuIDirect3DDevice8_SetSwapCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSwapCallback" - #endif - }, - // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, - // IDirect3DDevice8::SetRenderState_TextureFactor - { - (OOVPA*)&D3DDevice_SetRenderState_TextureFactor_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_5233, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, - // IDirect3DDevice8::Reset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, - // D3DDevice_SetRenderState_SampleAlpha (* unchanged since 5233 *) - { - (OOVPA*)&D3DDevice_SetRenderState_SampleAlpha_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_SampleAlpha" - #endif - }, - // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetGammaRamp" - #endif - }, - // IDirect3DDevice8::GetViewport - { - (OOVPA*)&D3DDevice_GetViewport_1_0_5558, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, - // IDirect3DDevice8_GetProjectionViewportMatrix - { - (OOVPA*)&IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455, - - XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetProjectionViewportMatrix (5455)" - #endif - }, - // IDirect3DDevice8::GetModelView - { - (OOVPA*)&D3DDevice_GetModelView_1_0_5558, - - XTL::EmuIDirect3DDevice8_GetModelView, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetModelView" - #endif - }, - // IDirect3DDevice8::SetBackMaterial - { - (OOVPA*)&D3DDevice_SetBackMaterial_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetBackMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetBackMaterial" - #endif - }, - // IDirect3DDevice8::SetRenderState_TwoSidedLighting - { - (OOVPA*)&D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" - #endif - }, + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&D3DDevice_BeginStateBlock_1_0_5558, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_BeginStateBlock), // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&D3DDevice_EndStateBlock_1_0_5558, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, - // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_GetDeviceCaps_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetDeviceCaps, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDeviceCaps" - #endif - }, - // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, - // Get2DSurfaceDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_5558, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuGet2DSurfaceDesc" - #endif - }, - // D3D::MakeRequestedSpace - { - (OOVPA*)&D3D_MakeRequestedSpace_1_0_5558, - - XTL::EmuD3D_MakeRequestedSpace, - - #ifdef _DEBUG_TRACE - "EmuD3D::MakeRequestedSpace" - #endif - }, - // D3DDevice_MakeSpace - { - (OOVPA*)&D3DDevice_MakeSpace_1_0_5558, - XTL::EmuD3DDevice_MakeSpace, - - #ifdef _DEBUG_TRACE - "D3DDevice_MakeSpace" - #endif - }, - // IDirect3DDevice8::SetRenderTarget - { - (OOVPA*)&D3DDevice_SetRenderTarget_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::SetPixelShaderConstant - { - (OOVPA*)&D3DDevice_SetPixelShaderConstant_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant" - #endif - }, - // Lock2DSurface (* unchanged since 3925 *) - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, - // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&IDirect3DDevice8_SetFlickerFilter_1_0_5455, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter_5455" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_EndStateBlock), + // IDirect3DDevice8::LoadVertexShader (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_5233, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::SelectVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SelectVertexShader_1_0_5558, XTL::EmuIDirect3DDevice8_SelectVertexShader), + // IDirect3DDevice8::CreateVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_5558, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::SetVertexShaderConstant1 + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant1_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1), + // IDirect3DDevice8::SetVertexShaderConstant1Fast + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1), + // IDirect3DDevice8::SetVertexShaderConstantNotInline (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline), + // IDirect3DDevice8::CreateVertexBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer2_1_0_5558, XTL::EmuIDirect3DDevice8_CreateVertexBuffer2), + // IDirect3DDevice8::UpdateOverlay + OOVPA_TABLE_PATCH(IDirect3DDevice8_UpdateOverlay_1_0_5558, XTL::EmuIDirect3DDevice8_UpdateOverlay), + // IDirect3DDevice8::GetOverlayUpdateStatus + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetOverlayUpdateStatus_1_0_5558, XTL::EmuIDirect3DDevice8_GetOverlayUpdateStatus), + // IDirect3DDevice8::Clear (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_5233, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::CreatePalette2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePalette2_1_0_5558, XTL::EmuIDirect3DDevice8_CreatePalette2), + // IDirect3DDevice8::SetPalette + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPalette_1_0_5558, XTL::EmuIDirect3DDevice8_SetPalette), + // IDirect3DDevice8::Swap (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_5233, XTL::EmuIDirect3DDevice8_Swap), // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank_5455" - #endif - }, - // IDirect3DDevice8::SetScreenSpaceOffset - { - (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset_5455" - #endif - }, - // IDirect3DDevice8::SetScreenSpaceOffset - { - (OOVPA*)&IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScreenSpaceOffset" - #endif - }, - // IDirect3DDevice8_InsertCallback - { - (OOVPA*)&D3DDevice_InsertCallback_1_0_5558, - - XTL::EmuIDirect3DDevice8_InsertCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertCallback" - #endif - }, - // IDirect3DDevice8::SetRenderState_LineWidth - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455, - - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth_5455" - #endif - }, - // D3DDevice_FlushVertexCache - { - (OOVPA*)&D3DDevice_FlushVertexCache_1_0_5558, - XTL::EmuIDirect3DDevice8_FlushVertexCache, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_FlushVertexCache" - #endif - }, - // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, - - XTL::EmuIDirect3DDevice8_EnableOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EnableOverlay" - #endif - }, - // D3DDevice_SetRenderState_LogicOp - { - (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::DrawIndexedVertices (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_5233, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::DrawIndexedVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5558, XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP), + // IDirect3DDevice8::SetPixelShader (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_5233, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::CreateTexture2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture2_1_0_5558, XTL::EmuIDirect3DDevice8_CreateTexture2), + // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayMode_1_0_4627, XTL::EmuIDirect3DDevice8_GetDisplayMode), + // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::End + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_5558, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_ZEnable (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilFail_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // IDirect3DDevice8::SetLight + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_5558, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::SetMaterial + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_5558, XTL::EmuIDirect3DDevice8_SetMaterial), // IDirect3DDevice8::LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5455, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable_5455" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_5558, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DVertexBuffer8::Lock2 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock2_1_0_4627, XTL::EmuIDirect3DVertexBuffer8_Lock2), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // IDirect3DDevice8::SetVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::SetIndices + OOVPA_TABLE_PATCH(D3DDevice_SetIndices_1_0_5558, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetIndices + OOVPA_TABLE_PATCH(D3DDevice_SetIndices_1_0_5455, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetTexture (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_5233, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::SwitchTexture (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SwitchTexture_1_0_4361, XTL::EmuIDirect3DDevice8_SwitchTexture), + // IDirect3DDevice8::Begin (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Begin_1_0_5233, XTL::EmuIDirect3DDevice8_Begin), + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_4361, XTL::EmuIDirect3DResource8_IsBusy), + // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginVisibilityTest_1_0_4627, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // IDirect3DDevice8::SetTransform + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_5558, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4361, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_5558, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::GetBackBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer2_1_0_5558, XTL::EmuIDirect3DDevice8_GetBackBuffer2), + // IDirect3DDevice8::GetBackBuffer2B + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer2B_1_0_5558, XTL::EmuIDirect3DDevice8_GetBackBuffer2), + // IDirect3DDevice8::GetBackBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer2_1_0_5455, XTL::EmuIDirect3DDevice8_GetBackBuffer2), + // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DResource8::Register (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::Release (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_GetDesc_1_0_4361, XTL::EmuIDirect3DSurface8_GetDesc), + // IDirect3DPalette8::Lock2 (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock2_1_0_5233, XTL::EmuIDirect3DPalette8_Lock2), + // IDirect3DTexture8::LockRect + OOVPA_TABLE_PATCH(D3DTexture_LockRect_1_0_5558, XTL::EmuIDirect3DTexture8_LockRect), + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DBaseTexture8_GetLevelCount_1_0_4361, XTL::EmuIDirect3DBaseTexture8_GetLevelCount), + // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, XTL::EmuIDirect3DTexture8_GetSurfaceLevel2), + // IDirect3DDevice8::GetRenderTarget2 (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget2_1_0_5233, XTL::EmuIDirect3DDevice8_GetRenderTarget2), + // IDirect3D8::CheckDeviceMultiSampleType + OOVPA_TABLE_PATCH(IDirect3D8_CheckDeviceMultiSampleType_1_0_5558, XTL::EmuIDirect3D8_CheckDeviceMultiSampleType), + // IDirect3D8::GetDeviceCaps (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3D8_GetDeviceCaps_1_0_5233, XTL::EmuIDirect3D8_GetDeviceCaps), + // IDirect3D8::SetPushBufferSize + OOVPA_TABLE_PATCH(IDirect3D8_SetPushBufferSize_1_0_5558, XTL::EmuIDirect3D8_SetPushBufferSize), + // IDirect3DDevice8::DrawVertices (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_5233, XTL::EmuIDirect3DDevice8_DrawVertices), + // D3D::SetFence (XREF) + OOVPA_TABLE_XREF(D3D_SetFence_1_0_5558), + // IDirect3DDevice8::InsertFence (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_InsertFence_1_0_5233, XTL::EmuIDirect3DDevice8_InsertFence), + // D3D::BlockOnTime (XREF) + OOVPA_TABLE_XREF(D3D_BlockOnTime_1_0_5558), + // IDirect3DDevice8::BlockOnFence (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockOnFence_1_0_5233, XTL::EmuIDirect3DDevice8_BlockOnFence), + // D3D::BlockOnResource (XREF) + OOVPA_TABLE_XREF(D3D_BlockOnResource_1_0_5558), + // IDirect3DResource8::BlockUntilNotBusy + OOVPA_TABLE_PATCH(IDirect3DResource8_BlockUntilNotBusy_1_0_5558, XTL::EmuIDirect3DResource8_BlockUntilNotBusy), + // IDirect3DVertexBuffer8::GetDesc (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_GetDesc_1_0_5233, XTL::EmuIDirect3DVertexBuffer8_GetDesc), + // IDirect3DDevice8::CopyRects (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CopyRects_1_0_5233, XTL::EmuIDirect3DDevice8_CopyRects), + // IDirect3DDevice8::SetScissors + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScissors_1_0_5558, XTL::EmuIDirect3DDevice8_SetScissors), + // IDirect3DDevice8::SetScissors + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScissors_1_0_5455, XTL::EmuIDirect3DDevice8_SetScissors), + // IDirect3DDevice8::GetDepthStencilSurface2 (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface2_1_0_5233, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2), + // IDirect3DDevice8::AddRef + OOVPA_TABLE_PATCH(IDirect3DDevice8_AddRef_1_0_5558, XTL::EmuIDirect3DDevice8_AddRef), + // IDirect3DDevice8::CreatePixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_5558, XTL::EmuIDirect3DDevice8_CreatePixelShader), + // IDirect3DDevice8::SetVertexShaderConstant4 + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4), + // IDirect3DDevice8::DrawVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUP_1_0_5558, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_4361, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::CreateIndexBuffer2 + OOVPA_TABLE_PATCH(D3DDevice_CreateIndexBuffer2_1_0_5558, XTL::EmuIDirect3DDevice8_CreateIndexBuffer2), + // IDirect3DDevice8::CreateIndexBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateIndexBuffer_1_0_5558, XTL::EmuIDirect3DDevice8_CreateIndexBuffer), + // D3DDevice_SetVerticalBlankCallback + OOVPA_TABLE_PATCH(D3DDevice_SetVerticalBlankCallback_1_0_5558, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // D3DDevice_SetVerticalBlankCallback + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_5455, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // D3DDevice_SetSwapCallback + OOVPA_TABLE_PATCH(D3DDevice_SetSwapCallback_1_0_5558, XTL::EmuIDirect3DDevice8_SetSwapCallback), + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), + // IDirect3DDevice8::SetRenderState_TextureFactor + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_TextureFactor_1_0_5558, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_VertexBlend (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_VertexBlend_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_5233, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4134, XTL::EmuIDirect3DDevice8_Reset), + // D3DDevice_SetRenderState_SampleAlpha (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_SampleAlpha_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha), + // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_4928, XTL::EmuIDirect3DDevice8_SetGammaRamp), + // IDirect3DDevice8::GetViewport + OOVPA_TABLE_PATCH(D3DDevice_GetViewport_1_0_5558, XTL::EmuIDirect3DDevice8_GetViewport), + // IDirect3DDevice8_GetProjectionViewportMatrix + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetProjectionViewportMatrix_1_0_5455, XTL::EmuIDirect3DDevice8_GetProjectionViewportMatrix), + // IDirect3DDevice8::GetModelView + OOVPA_TABLE_PATCH(D3DDevice_GetModelView_1_0_5558, XTL::EmuIDirect3DDevice8_GetModelView), + // IDirect3DDevice8::SetBackMaterial + OOVPA_TABLE_PATCH(D3DDevice_SetBackMaterial_1_0_5558, XTL::EmuIDirect3DDevice8_SetBackMaterial), + // IDirect3DDevice8::SetRenderState_TwoSidedLighting + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_TwoSidedLighting_1_0_5558, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), + // IDirect3DDevice8::BeginStateBlock + OOVPA_TABLE_PATCH(D3DDevice_BeginStateBlock_1_0_5558, XTL::EmuIDirect3DDevice8_BeginStateBlock), + // IDirect3DDevice8::EndStateBlock + OOVPA_TABLE_PATCH(D3DDevice_EndStateBlock_1_0_5558, XTL::EmuIDirect3DDevice8_EndStateBlock), + // IDirect3DDevice8_GetDeviceCaps (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDeviceCaps_1_0_3925, XTL::EmuIDirect3DDevice8_GetDeviceCaps), + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), + // Get2DSurfaceDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_5558, XTL::EmuGet2DSurfaceDesc), + // D3D::MakeRequestedSpace + OOVPA_TABLE_PATCH(D3D_MakeRequestedSpace_1_0_5558, XTL::EmuD3D_MakeRequestedSpace), + // D3DDevice_MakeSpace + OOVPA_TABLE_PATCH(D3DDevice_MakeSpace_1_0_5558, XTL::EmuD3DDevice_MakeSpace), + // IDirect3DDevice8::SetRenderTarget + OOVPA_TABLE_PATCH(D3DDevice_SetRenderTarget_1_0_5558, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::SetPixelShaderConstant + OOVPA_TABLE_PATCH(D3DDevice_SetPixelShaderConstant_1_0_5558, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), + // Lock2DSurface (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), + // IDirect3DDevice8::SetFlickerFilter + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetFlickerFilter_1_0_5455, XTL::EmuIDirect3DDevice8_SetFlickerFilter), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5455, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::SetScreenSpaceOffset + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScreenSpaceOffset_1_0_5455, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), + // IDirect3DDevice8::SetScreenSpaceOffset + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetScreenSpaceOffset_1_0_5558, XTL::EmuIDirect3DDevice8_SetScreenSpaceOffset), + // IDirect3DDevice8_InsertCallback + OOVPA_TABLE_PATCH(D3DDevice_InsertCallback_1_0_5558, XTL::EmuIDirect3DDevice8_InsertCallback), + // IDirect3DDevice8::SetRenderState_LineWidth + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_LineWidth_1_0_5455, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), + // D3DDevice_FlushVertexCache + OOVPA_TABLE_PATCH(D3DDevice_FlushVertexCache_1_0_5558, XTL::EmuIDirect3DDevice8_FlushVertexCache), + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EnableOverlay_1_0_4361, XTL::EmuIDirect3DDevice8_EnableOverlay), + // D3DDevice_SetRenderState_LogicOp + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LogicOp_1_0_5558, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), + // IDirect3DDevice8::LightEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_5455, XTL::EmuIDirect3DDevice8_LightEnable), // D3DDevice_SetModelView - { - (OOVPA*)&D3DDevice_SetModelView_1_0_5558, - XTL::EmuIDirect3DDevice8_SetModelView, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetModelView" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetModelView_1_0_5558, XTL::EmuIDirect3DDevice8_SetModelView), // D3DDevice_GetBackBuffer - { - (OOVPA*)&D3DDevice_GetBackBuffer_1_0_5558, - XTL::EmuIDirect3DDevice8_GetBackBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetBackBuffer_1_0_5558, XTL::EmuIDirect3DDevice8_GetBackBuffer), // D3DDevice_PersistDisplay - { - (OOVPA*)&D3DDevice_PersistDisplay_1_0_5558, - XTL::EmuIDirect3DDevice8_PersistDisplay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_PersistDisplay" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_PersistDisplay_1_0_5558, XTL::EmuIDirect3DDevice8_PersistDisplay), // D3DCubeTexture_GetCubeMapSurface - { - (OOVPA*)&D3DCubeTexture_GetCubeMapSurface_1_0_5558, - XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_GetCubeMapSurface" - #endif - }, + OOVPA_TABLE_PATCH(D3DCubeTexture_GetCubeMapSurface_1_0_5558, XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface), // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), // IDirect3DDevice8::SetVertexDataColor - { - (OOVPA*)&D3DDevice_SetVertexDataColor_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexDataColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexDataColor" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexDataColor_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexDataColor), // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&D3DDevice_SetVertexData4f_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData4f_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexData4f), // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&D3DDevice_SetVertexData2f_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) - { - (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_ApplyStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_ApplyStateBlock" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetVertexData2f_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(D3DDevice_ApplyStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_ApplyStateBlock), // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) - { - (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, - - XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) + OOVPA_TABLE_PATCH(D3DCubeTexture_GetCubeMapSurface2_1_0_4627, XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2), // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), // D3DDevice_LoadVertexShaderProgram - { - (OOVPA*)&D3DDevice_LoadVertexShaderProgram_1_0_5558, - - XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShaderProgram" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_LoadVertexShaderProgram_1_0_5558, XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram), // D3DDevice_SetPixelShaderProgram - { - (OOVPA*)&D3DDevice_SetPixelShaderProgram_1_0_5558, - XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderProgram" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetPixelShaderProgram_1_0_5558, XTL::EmuIDirect3DDevice8_SetPixelShaderProgram), // IDirect3DDevice8::SetRenderState_BackFillMode (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_BackFillMode_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), // IDirect3DDevice8::SetRenderState_TextureFactor (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), // D3DDevice_SetRenderState_MultiSampleMask (* unchanged since 5233 *) - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMask_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), // IDirect3DDevice8::SetRenderState_MultiSampleMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMode_1_0_5558, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), // IDirect3DDevice8::SetRenderState_MultiSampleMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_5455, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode (5455)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMode_1_0_5455, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5558, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode (5455)" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5455, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), // IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5558, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), // IDirect3DDevice8::IsFencePending - { - (OOVPA*)&D3DDevice_IsFencePending_1_0_5558, - - XTL::EmuIDirect3DDevice8_IsFencePending, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_IsFencePending" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_IsFencePending_1_0_5558, XTL::EmuIDirect3DDevice8_IsFencePending), // IDirect3DDevice8::SetRenderTargetFast (* unchanged since 5344 *) - { - (OOVPA*)&D3DDevice_SetRenderTargetFast_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetRenderTargetFast, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTargetFast" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderTargetFast_1_0_5344, XTL::EmuIDirect3DDevice8_SetRenderTargetFast), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index ec4fcb405..57c277253 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * IDirect3DDevice8_EndVisibilityTest // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_EndVisibilityTest_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_EndVisibilityTest_1_0_5849, 7) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x10, 0x09 }, { 0x12, 0x0E }, { 0x18, 0x04 }, @@ -51,21 +44,13 @@ SOOVPA<7> IDirect3DDevice8_EndVisibilityTest_1_0_5849 = { 0x3D, 0x0E }, { 0x50, 0x0C }, { 0x58, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetVisibilityTestResult // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_GetVisibilityTestResult_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_GetVisibilityTestResult_1_0_5849, 7) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x0E, 0x08 }, { 0x10, 0xFF }, { 0x2A, 0x16 }, @@ -73,21 +58,13 @@ SOOVPA<7> IDirect3DDevice8_GetVisibilityTestResult_1_0_5849 = { 0x3F, 0x0C }, { 0x51, 0x0A }, { 0x5F, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetViewport // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_GetViewport_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_GetViewport_1_0_5849, 8) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x09, 0x05 }, { 0x14, 0x04 }, { 0x1D, 0x08 }, @@ -96,21 +73,13 @@ SOOVPA<8> IDirect3DDevice8_GetViewport_1_0_5849 = { 0x2B, 0x40 }, { 0x2F, 0x14 }, { 0x31, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetBackBufferScale // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetBackBufferScale_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetBackBufferScale_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x24 }, { 0x3E, 0x06 }, { 0x62, 0xD9 }, @@ -118,21 +87,13 @@ SOOVPA<7> IDirect3DDevice8_SetBackBufferScale_1_0_5849 = { 0x9E, 0x81 }, { 0xBE, 0xFF }, { 0xDE, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetBackBuffer2 // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5849 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_GetBackBuffer2_1_0_5849, 12) - XRefNotSaved, - 0, // XRef Not Used - - { // IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -152,21 +113,13 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5849 = // IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04 { 0x40, 0xC2 }, // (Offset,Value)-Pair #11 { 0x41, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_GetDepthStencilSurface2 // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849, 10) - XRefNotSaved, - 0, // XRef Not Used - - { // IDirect3DDevice8_GetDepthStencilSurface2+0x00 : mov eax, [addr] { 0x00, 0xA1 }, // (Offset,Value)-Pair #1 @@ -188,21 +141,13 @@ SOOVPA<10> IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849 = // IDirect3DDevice8_GetDepthStencilSurface2+0x1D : retn { 0x1D, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexShader // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexShader_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x85 }, { 0x3E, 0xE8 }, { 0x5E, 0x75 }, @@ -211,21 +156,13 @@ SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849 = { 0xBE, 0x24 }, { 0xDE, 0x83 }, { 0xFE, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreatePixelShader // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_CreatePixelShader_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_CreatePixelShader_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x07, 0x00 }, { 0x10, 0xC0 }, { 0x19, 0x08 }, @@ -234,21 +171,13 @@ SOOVPA<8> IDirect3DDevice8_CreatePixelShader_1_0_5849 = { 0x34, 0xB9 }, { 0x3D, 0x24 }, { 0x46, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexData4f // ****************************************************************** -SOOVPA<17> IDirect3DDevice8_SetVertexData4f_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData4f_1_0_5849, 7) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x0A, 0x46 }, { 0x16, 0x08 }, { 0x22, 0x09 }, @@ -256,21 +185,13 @@ SOOVPA<17> IDirect3DDevice8_SetVertexData4f_1_0_5849 = { 0x3A, 0x24 }, { 0x46, 0x8B }, { 0x52, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexDataColor // ****************************************************************** -SOOVPA<17> IDirect3DDevice8_SetVertexDataColor_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexDataColor_1_0_5849, 7) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x08, 0x06 }, { 0x14, 0x8B }, { 0x1C, 0x19 }, @@ -278,21 +199,13 @@ SOOVPA<17> IDirect3DDevice8_SetVertexDataColor_1_0_5849 = { 0x30, 0x00 }, { 0x3A, 0xFF }, { 0x44, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849, 7) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x09, 0x84 }, { 0x14, 0x46 }, { 0x1F, 0x24 }, @@ -300,20 +213,13 @@ SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849 = { 0x35, 0x4A }, { 0x40, 0x5E }, { 0x4D, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilEnable // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849, 8) - XRefNotSaved, - 0, // XRef Not Used - { { 0x12, 0x8B }, { 0x24, 0x33 }, { 0x37, 0x74 }, @@ -322,21 +228,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849 = { 0x70, 0xB9 }, { 0x83, 0x40 }, { 0x96, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetIndices // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetIndices_1_0_5849, 7) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x0F, 0x10 }, { 0x20, 0xC7 }, { 0x31, 0xC0 }, @@ -344,21 +242,13 @@ SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 = { 0x53, 0xBE }, { 0x64, 0x89 }, { 0x75, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVertices // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVertices_1_0_5849, 8) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x1E, 0x5E }, { 0x3E, 0x17 }, { 0x5E, 0x00 }, @@ -367,21 +257,13 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849 = { 0xBE, 0x2B }, { 0xDE, 0x00 }, { 0xFE, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVerticesUP // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849, 8) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x1F, 0x05 }, { 0x3A, 0x89 }, { 0x64, 0xF0 }, @@ -390,21 +272,13 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849 = { 0xAB, 0x12 }, { 0xE4, 0xDB }, { 0xFF, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_5849, 9) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x04, 0x08 }, { 0x0C, 0x81 }, { 0x0E, 0x00 }, @@ -414,21 +288,13 @@ SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849 = { 0x22, 0x90 }, { 0x2C, 0x5E }, { 0x2E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BeginStateBig // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_BeginStateBig_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_BeginStateBig_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x07, 0x01 }, { 0x10, 0x8D }, { 0x19, 0x3B }, @@ -436,21 +302,13 @@ SOOVPA<7> IDirect3DDevice8_BeginStateBig_1_0_5849 = { 0x2B, 0x00 }, { 0x34, 0xCA }, { 0x40, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexBuffer2 // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexBuffer2_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x08, 0xE8 }, { 0x12, 0x1E }, { 0x1C, 0x50 }, @@ -458,21 +316,13 @@ SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849 = { 0x31, 0x33 }, { 0x3A, 0xFF }, { 0x44, 0x01 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DVertexBuffer8_Lock // ****************************************************************** -SOOVPA<8> IDirect3DVertexBuffer8_Lock_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x01, 0x51 }, { 0x07, 0x8B }, { 0x08, 0x4C }, @@ -481,21 +331,13 @@ SOOVPA<8> IDirect3DVertexBuffer8_Lock_1_0_5849 = { 0x10, 0xC1 }, { 0x13, 0x33 }, { 0x16, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DVertexBuffer_Lock2 // ****************************************************************** -SOOVPA<7> IDirect3DVertexBuffer8_Lock2_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock2_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x08, 0x56 }, { 0x12, 0x06 }, { 0x1D, 0xC7 }, @@ -503,21 +345,13 @@ SOOVPA<7> IDirect3DVertexBuffer8_Lock2_1_0_5849 = { 0x30, 0xC3 }, { 0x3E, 0x8B }, { 0x44, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_LightEnable // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_LightEnable_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x8D }, { 0x3E, 0xC7 }, { 0x5E, 0xC7 }, @@ -526,21 +360,13 @@ SOOVPA<8> IDirect3DDevice8_LightEnable_1_0_5849 = { 0xBE, 0x01 }, { 0xDE, 0x00 }, { 0xFE, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVertices // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVertices_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x12, 0x8B }, { 0x26, 0x8B }, { 0x37, 0x00 }, @@ -548,21 +374,13 @@ SOOVPA<7> IDirect3DDevice8_DrawVertices_1_0_5849 = { 0x5D, 0x89 }, { 0x70, 0x75 }, { 0x83, 0x40 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderTarget // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderTarget_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderTarget_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x44 }, { 0x3E, 0x2C }, { 0x5E, 0x8B }, @@ -571,21 +389,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderTarget_1_0_5849 = { 0xBE, 0x09 }, { 0xDE, 0x8B }, { 0xFE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3D8_AllocContiguousMemory // ****************************************************************** -SOOVPA<7> IDirect3D8_AllocContiguousMemory_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3D8_AllocContiguousMemory_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x05, 0x10 }, { 0x0C, 0x00 }, { 0x13, 0x00 }, @@ -593,8 +403,7 @@ SOOVPA<7> IDirect3D8_AllocContiguousMemory_1_0_5849 = { 0x21, 0xBC }, { 0x28, 0x0D }, { 0x2F, 0x24 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_GetLevelDesc @@ -602,15 +411,8 @@ SOOVPA<7> IDirect3D8_AllocContiguousMemory_1_0_5849 = // * NOTE: We are actually intercepting Get2DSurfaceDesc, because // * GetLevelDesc Simply redirects to that function // ****************************************************************** -SOOVPA<10> Get2DSurfaceDesc_1_0_5849 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_5849, 10) - XRefNotSaved, - 0, // XRef Not Used - - { // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, // (Offset,Value)-Pair #1 { 0x2C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -626,21 +428,16 @@ SOOVPA<10> Get2DSurfaceDesc_1_0_5849 = // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAF, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateTexture2 // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirect3DDevice8_CreateTexture2_1_0_5849, 8, - XRefNotSaved, // ?? XREF_D3DDevice_CreateTexture2, // Xref Is Saved - XRefNotUsed, + XRefNoSaveIndex, // ?? XREF_D3DDevice_CreateTexture2, + XRefZero) - { { 0x14, 0x4C }, { 0x2A, 0x8B }, { 0x42, 0x8B }, @@ -649,21 +446,13 @@ SOOVPA<8> IDirect3DDevice8_CreateTexture2_1_0_5849 = { 0x82, 0x5E }, { 0x98, 0x89 }, { 0xAE, 0x1C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant1 // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849, 11) - XRefNotSaved, - 0, // XRef Not Used - - { // IDirect3DDevice8_SetVertexShaderConstant1+0x05 : add eax, 0x1C { 0x06, 0x83 }, // (Offset,Value)-Pair #1 { 0x07, 0xC0 }, // (Offset,Value)-Pair #2 @@ -684,21 +473,13 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849 = // IDirect3DDevice8_SetVertexShaderConstant1+0x47 : jmp +0xA2 { 0x5D, 0xEB }, // (Offset,Value)-Pair #10 { 0x5E, 0xA2 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexData2f // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetVertexData2f_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData2f_1_0_5849, 8) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x0D, 0x05 }, { 0x17, 0x8D }, { 0x19, 0xCD }, @@ -707,21 +488,13 @@ SOOVPA<8> IDirect3DDevice8_SetVertexData2f_1_0_5849 = { 0x27, 0x10 }, { 0x30, 0x0C }, { 0x35, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVerticesUP // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVerticesUP_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x72 }, { 0x3E, 0xC0 }, { 0x5E, 0xC6 }, @@ -730,21 +503,13 @@ SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849 = { 0xBE, 0x81 }, { 0xDE, 0x8B }, { 0xFE, 0x7D }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DTexture8_LockRect // ****************************************************************** -SOOVPA<7> IDirect3DTexture8_LockRect_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DTexture8_LockRect_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x03, 0x14 }, { 0x08, 0x8B }, { 0x0D, 0x8B }, @@ -752,84 +517,55 @@ SOOVPA<7> IDirect3DTexture8_LockRect_1_0_5849 = { 0x17, 0x50 }, { 0x20, 0xC2 }, { 0x21, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_BeginPushBuffer // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_BeginPushBuffer_1_0_5849 = -{ - 0, // Large == 0 - 6, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_BeginPushBuffer_1_0_5849, 6) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x09, 0x00 }, { 0x11, 0x8B }, { 0x2F, 0x08 }, { 0x43, 0x57 }, { 0x58, 0xC8 }, { 0x63, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_EndPushBuffer // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_EndPushBuffer_1_0_5849 = -{ - 0, // Large == 0 - 6, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_EndPushBuffer_1_0_5849, 6) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x09, 0x00 }, { 0x15, 0x50 }, { 0x47, 0x7B }, { 0x61, 0x78 }, { 0x77, 0x07 }, { 0x8C, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_RunPushBuffer // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_RunPushBuffer_1_0_5849 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(IDirect3DDevice8_RunPushBuffer_1_0_5849, 6) - XRefNotSaved, - 0, // XRef Not Used - - { { 0x0E, 0xED }, { 0x42, 0x18 }, { 0x62, 0x04 }, { 0x8D, 0x1C }, { 0xAF, 0x0F }, { 0xF6, 0x41 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVerticalBlankCallback // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849, 7, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x06, XREF_D3DDEVICE }, { 0x01, 0x44 }, @@ -838,21 +574,13 @@ SOOVPA<7> IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849 = { 0x0C, 0xB8 }, { 0x0D, 0x1D }, { 0x11, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** -SOOVPA<8> D3DDevice_SetViewport_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetViewport_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x86 }, { 0x3E, 0x1B }, { 0x5E, 0x8B }, @@ -861,21 +589,13 @@ SOOVPA<8> D3DDevice_SetViewport_1_0_5849 = { 0xBE, 0x0C }, { 0xDE, 0x75 }, { 0xFE, 0x85 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** -SOOVPA<7> D3DDevice_BlockUntilVerticalBlank_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x05, 0x6A }, { 0x08, 0x00 }, { 0x0D, 0xC0 }, @@ -883,21 +603,13 @@ SOOVPA<7> D3DDevice_BlockUntilVerticalBlank_1_0_5849 = { 0x17, 0x05 }, { 0x1C, 0x50 }, { 0x23, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** -SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetBackMaterial_1_0_5849, 9) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x04, 0x08 }, { 0x0C, 0x81 }, { 0x0E, 0x44 }, @@ -907,21 +619,13 @@ SOOVPA<9> D3DDevice_SetBackMaterial_1_0_5849 = { 0x22, 0x90 }, { 0x2C, 0x5E }, { 0x2E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0E, 0x05 }, { 0x1E, 0x89 }, { 0x30, 0x00 }, @@ -930,64 +634,44 @@ SOOVPA<8> D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849 = { 0x60, 0x75 }, { 0x6E, 0x48 }, { 0x7E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectD3DDevice8_Release // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_Release_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_Release_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x07, 0x8B }, { 0x0C, 0x00 }, { 0x13, 0xCF }, { 0x1A, 0x28 }, - { 0x21, 0x05 }, - { 0x28, 0x00 }, + { 0x21, 0x05 }, + { 0x28, 0x00 }, { 0x2F, 0x89 }, { 0x36, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::KickOffAndWaitForIdle // ****************************************************************** -/*SOOVPA<5> D3D_KickOffAndWaitForIdle_1_0_5849 = -{ - 0, // Large == 0 - 5, // Count == 5 +/*OOVPA_XREF(D3D_KickOffAndWaitForIdle_1_0_5849, 5, - XREF_D3D_KickOffAndWaitForIdle, // Xref Is Saved - 0, // Xref Not Used + XREF_D3D_KickOffAndWaitForIdle, + XRefZero) - { { 0x05, 0x8B }, { 0x06, 0x48 }, { 0x07, 0x2C }, { 0x0A, 0x51 }, { 0x10, 0xC3 }, - } -};*/ +OOVPA_END; +*/ // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** -SOOVPA<10> D3DDevice_SetTileNoWait_1_0_5849 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(D3DDevice_SetTileNoWait_1_0_5849, 10) - XRefNotSaved, - 0, // Xref Not Used - - { // D3DDevice_SetTileNoWait+0x00: sub esp, 0x1C { 0x00, 0x83 }, { 0x01, 0xEC }, @@ -1000,21 +684,13 @@ SOOVPA<10> D3DDevice_SetTileNoWait_1_0_5849 = { 0x49, 0x1A }, { 0x4A, 0x00 }, { 0x4B, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** -SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetSwapCallback_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x0A, 0x89 }, @@ -1022,21 +698,13 @@ SOOVPA<7> D3DDevice_SetSwapCallback_1_0_5849 = { 0x0C, 0xB4 }, { 0x0D, 0x1D }, { 0x10, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_StencilFail // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_StencilFail_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0C, 0x89 }, { 0x1E, 0x8B }, { 0x28, 0x74 }, @@ -1045,21 +713,13 @@ SOOVPA<8> D3DDevice_SetRenderState_StencilFail_1_0_5849 = { 0x52, 0xC7 }, { 0x60, 0x04 }, { 0x6E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_VertexBlend // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x07, 0xCA }, { 0x13, 0x89 }, { 0x19, 0x8B }, @@ -1067,21 +727,13 @@ SOOVPA<7> D3DDevice_SetRenderState_VertexBlend_1_0_5849 = { 0x2B, 0x28 }, { 0x34, 0x08 }, { 0x3D, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice8::SetRenderState_LineWidth // ****************************************************************** -SOOVPA<13> D3DDevice_SetRenderState_LineWidth_1_0_5849 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth_1_0_5849, 13) - XRefNotSaved, - 0, // XRef Not Used - - { // IDirect3DDevice8_SetRenderState_LineWidth+0x00 : push ebx { 0x00, 0x53 }, // (Offset,Value)-Pair #1 @@ -1104,22 +756,14 @@ SOOVPA<13> D3DDevice_SetRenderState_LineWidth_1_0_5849 = { 0x41, 0x3B }, // (Offset,Value)-Pair #11 { 0x42, 0x46 }, // (Offset,Value)-Pair #12 { 0x43, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice8::SetDepthClipPlanes // ****************************************************************** -SOOVPA<13> D3DDevice_SetDepthClipPlanes_1_0_5849 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes_1_0_5849, 13) - XRefNotSaved, - 0, // XRef Not Used - - { // _D3DDevice_SetDepthClipPlanes+0x00 : mov eax, [esp+Flags] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -1138,21 +782,13 @@ SOOVPA<13> D3DDevice_SetDepthClipPlanes_1_0_5849 = { 0x15, 0xAB }, // (Offset,Value)-Pair #11 { 0x16, 0x27 }, // (Offset,Value)-Pair #12 { 0x17, 0x00 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** -SOOVPA<7> D3DDevice_SetPalette_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetPalette_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x10, 0x98 }, { 0x22, 0x0F }, { 0x34, 0x00 }, @@ -1160,21 +796,13 @@ SOOVPA<7> D3DDevice_SetPalette_1_0_5849 = { 0x58, 0xC5 }, { 0x6E, 0x8B }, { 0x7C, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** -SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0B, 0x2D }, { 0x18, 0x10 }, { 0x25, 0xE0 }, @@ -1182,21 +810,13 @@ SOOVPA<7> D3DDevice_LoadVertexShaderProgram_1_0_5849 = { 0x3F, 0x24 }, { 0x4C, 0x83 }, { 0x5C, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetPushBufferOffset // ****************************************************************** -SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x13, 0xCA }, { 0x28, 0xFF }, { 0x3D, 0x89 }, @@ -1204,21 +824,16 @@ SOOVPA<7> D3DDevice_GetPushBufferOffset_1_0_5849 = { 0x67, 0xAB }, { 0x7C, 0x51 }, { 0x91, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::MakeRequestedSpace // ****************************************************************** -SOOVPA<9> D3D_MakeRequestedSpace_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(D3D_MakeRequestedSpace_1_0_5849, 9, - XREF_D3D_MakeRequestedSpace, // Xref Not Saved - 0, // Xref Not Used + XREF_D3D_MakeRequestedSpace, + XRefZero) - { { 0x32, 0xC2 }, { 0x33, 0x08 }, { 0x8E, 0x83 }, @@ -1228,23 +843,18 @@ SOOVPA<9> D3D_MakeRequestedSpace_1_0_5849 = { 0xBE, 0xEB }, { 0xBF, 0x03 }, { 0xC0, 0xDF }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::Unknown (D3D::MakeSpace?) // ****************************************************************** // * FOR DEBUGGING ONLY! // ****************************************************************** -SOOVPA<6> D3D_Unknown_1_0_5849 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(D3D_Unknown_1_0_5849, 6, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x0A, XREF_D3D_MakeRequestedSpace }, { 0x05, 0x50 }, @@ -1252,21 +862,13 @@ SOOVPA<6> D3D_Unknown_1_0_5849 = { 0x07, 0xE8 }, { 0x08, 0x50 }, { 0x0E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_FlushVertexCache // ****************************************************************** -SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5849 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(D3DDevice_FlushVertexCache_1_0_5849, 10) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x00, 0x56 }, { 0x07, 0x8B }, { 0x08, 0x06 }, @@ -1277,21 +879,13 @@ SOOVPA<10> D3DDevice_FlushVertexCache_1_0_5849 = { 0x1C, 0x00 }, { 0x21, 0xC0 }, { 0x26, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** -SOOVPA<7> D3DDevice_AddRef_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_AddRef_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x38 }, @@ -1299,21 +893,16 @@ SOOVPA<7> D3DDevice_AddRef_1_0_5849 = { 0x0D, 0x88 }, { 0x10, 0x00 }, { 0x13, 0xC1 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D::ClearStateBlockFlags // ****************************************************************** -SOOVPA<9> D3D_ClearStateBlockFlags_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(D3D_ClearStateBlockFlags_1_0_5849, 9, - XREF_CLEARSTATEBLOCKFLAGS, // XRef Is Saved - 0, // XRef Not Used + XREF_CLEARSTATEBLOCKFLAGS, + XRefZero) - { // IDirect3D_ClearStateBlockFlags+0x0A : mov ecx, 0x87 { 0x0A, 0xB9 }, // (Offset,Value)-Pair #1 { 0x0B, 0x87 }, // (Offset,Value)-Pair #2 @@ -1328,21 +917,16 @@ SOOVPA<9> D3D_ClearStateBlockFlags_1_0_5849 = { 0x2F, 0x81 }, // (Offset,Value)-Pair #7 { 0x30, 0xC1 }, // (Offset,Value)-Pair #8 { 0x31, 0x90 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * D3D::RecordStateBlock // ****************************************************************** -SOOVPA<10> D3D_RecordStateBlock_1_0_5849 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(D3D_RecordStateBlock_1_0_5849, 10, - XREF_RECORDSTATEBLOCK, // XRef Is Saved - 0, // XRef Not Used + XREF_RECORDSTATEBLOCK, + XRefZero) - { // IDirect3D_RecordStateBlock+0x0F : mov eax, [edi+0x07A4] { 0x0F, 0x8B }, // (Offset,Value)-Pair #1 { 0x10, 0x87 }, // (Offset,Value)-Pair #2 @@ -1358,21 +942,13 @@ SOOVPA<10> D3D_RecordStateBlock_1_0_5849 = { 0xD6, 0x46 }, // (Offset,Value)-Pair #8 { 0xD7, 0x0C }, // (Offset,Value)-Pair #9 { 0xD8, 0x01 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_BackFillMode_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0B, 0xA3 }, { 0x14, 0x04 }, { 0x23, 0x8B }, @@ -1380,21 +956,13 @@ SOOVPA<7> D3DDevice_SetRenderState_BackFillMode_1_0_5849 = { 0x35, 0xC7 }, { 0x40, 0x08 }, { 0x4C, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0D, 0x8B }, { 0x1D, 0x80 }, { 0x2B, 0x08 }, @@ -1403,21 +971,13 @@ SOOVPA<8> D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849 = { 0x58, 0x05 }, { 0x67, 0xC0 }, { 0x76, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** -SOOVPA<7> D3DDevice_GetTile_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetTile_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x06, 0x8B }, { 0x0E, 0x94 }, { 0x16, 0x8B }, @@ -1425,21 +985,13 @@ SOOVPA<7> D3DDevice_GetTile_1_0_5849 = { 0x26, 0x48 }, { 0x2E, 0x8B }, { 0x36, 0x14 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** -SOOVPA<7> D3DDevice_Swap_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_Swap_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1B, 0xE8 }, { 0x38, 0xC3 }, { 0x55, 0xC0 }, @@ -1447,21 +999,13 @@ SOOVPA<7> D3DDevice_Swap_1_0_5849 = { 0x8F, 0x8E }, { 0xAC, 0xC6 }, { 0xC9, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap (2) // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_Swap2_1_0_5849 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirect3DDevice8_Swap2_1_0_5849, 11) - XRefNotSaved, - 0, // XRef Not Used - - { // IDirect3DDevice8_Swap+0x2A : mov ebx, 5 { 0x2A, 0xBB }, // (Offset,Value)-Pair #1 { 0x2B, 0x05 }, // (Offset,Value)-Pair #2 @@ -1480,21 +1024,13 @@ SOOVPA<11> IDirect3DDevice8_Swap2_1_0_5849 = // IDirect3DDevice8_Swap+0xE0 : retn 4 { 0xE0, 0xC2 }, // (Offset,Value)-Pair #10 { 0xE1, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -SOOVPA<13> D3D_CDevice_KickOff_1_0_5849 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(D3D_CDevice_KickOff_1_0_5849, 13) - XRefNotSaved, - 0, // Xref Is Used - - { // D3D::CDevice::KickOff+0x0A : mov edx, [ecx+0x35C] { 0x0A, 0x8B }, { 0x0B, 0x96 }, @@ -1515,21 +1051,13 @@ SOOVPA<13> D3D_CDevice_KickOff_1_0_5849 = // D3D::CDevice::KickOff+0xAF : retn { 0xAF, 0xC3 } - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetSoftDisplayFilter // ****************************************************************** -SOOVPA<7> D3DDevice_SetSoftDisplayFilter_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0D, 0x56 }, { 0x14, 0x8B }, { 0x1F, 0x95 }, @@ -1537,21 +1065,13 @@ SOOVPA<7> D3DDevice_SetSoftDisplayFilter_1_0_5849 = { 0x37, 0x33 }, { 0x44, 0x01 }, { 0x4D, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetFlickerFilter // ****************************************************************** -SOOVPA<7> D3DDevice_SetFlickerFilter_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetFlickerFilter_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x07, 0xC9 }, { 0x10, 0x24 }, { 0x1A, 0x74 }, @@ -1559,21 +1079,13 @@ SOOVPA<7> D3DDevice_SetFlickerFilter_1_0_5849 = { 0x2E, 0xC7 }, { 0x34, 0x01 }, { 0x3E, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** -SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode_1_0_5849, 9) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x03, 0x04 }, { 0x0A, 0xA3 }, { 0x0F, 0x8B }, @@ -1583,21 +1095,13 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleMode_1_0_5849 = { 0x1C, 0x07 }, { 0x24, 0xC2 }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** -SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849, 9) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x03, 0x04 }, { 0x0A, 0xA3 }, { 0x0F, 0x8B }, @@ -1607,21 +1111,13 @@ SOOVPA<9> D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849 = { 0x1C, 0x07 }, { 0x24, 0xC2 }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0D, 0xCE }, { 0x1E, 0x8B }, { 0x2B, 0xF9 }, @@ -1629,21 +1125,13 @@ SOOVPA<7> D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849 = { 0x49, 0x00 }, { 0x58, 0xC1 }, { 0x6B, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask // ****************************************************************** -SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0A, 0xA3 }, { 0x12, 0x56 }, { 0x1C, 0x8B }, @@ -1652,21 +1140,13 @@ SOOVPA<8> D3DDevice_SetRenderState_MultiSampleMask_1_0_5849 = { 0x3D, 0xC7 }, { 0x44, 0x78 }, { 0x4E, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** -SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x85 }, { 0x3E, 0x8B }, { 0x5E, 0xC0 }, @@ -1674,21 +1154,13 @@ SOOVPA<7> D3DDevice_SetPixelShaderConstant_1_0_5849 = { 0x9F, 0x8B }, { 0xBE, 0x00 }, { 0xDE, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** -SOOVPA<7> D3DDevice_GetDisplayFieldStatus_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x06, 0x90 }, { 0x0E, 0x04 }, { 0x16, 0x00 }, @@ -1696,21 +1168,13 @@ SOOVPA<7> D3DDevice_GetDisplayFieldStatus_1_0_5849 = { 0x26, 0xD2 }, { 0x2E, 0x89 }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetScissors // ****************************************************************** -SOOVPA<7> D3DDevice_GetScissors_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(D3DDevice_GetScissors_1_0_5849, 7) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x0B, 0x74 }, { 0x14, 0x11 }, { 0x1F, 0x04 }, @@ -1718,21 +1182,13 @@ SOOVPA<7> D3DDevice_GetScissors_1_0_5849 = { 0x35, 0xE1 }, { 0x40, 0xC1 }, { 0x4B, 0xA4 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** -SOOVPA<8> D3DDevice_SetScissors_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_SetScissors_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1D, 0x44 }, { 0x3C, 0x8B }, { 0x5D, 0xD9 }, @@ -1741,21 +1197,13 @@ SOOVPA<8> D3DDevice_SetScissors_1_0_5849 = { 0xB8, 0xE8 }, { 0xD7, 0x24 }, { 0xF6, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** -SOOVPA<8> D3DDevice_GetBackMaterial_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_GetBackMaterial_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x05, 0x56 }, { 0x06, 0x57 }, { 0x0A, 0x0C }, @@ -1764,21 +1212,13 @@ SOOVPA<8> D3DDevice_GetBackMaterial_1_0_5849 = { 0x12, 0x11 }, { 0x16, 0xF3 }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** -SOOVPA<8> D3DDevice_CaptureStateBlock_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_CaptureStateBlock_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x1E, 0x3C }, { 0x3E, 0xC0 }, { 0x5E, 0x7E }, @@ -1787,27 +1227,19 @@ SOOVPA<8> D3DDevice_CaptureStateBlock_1_0_5849 = { 0xC0, 0x8B }, { 0xDE, 0x83 }, { 0xFE, 0x45 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_DeleteStateBlock // ****************************************************************** -SOOVPA<9> D3DDevice_DeleteStateBlock_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 7 +OOVPA_NO_XREF(D3DDevice_DeleteStateBlock_1_0_5849, 9) - XRefNotSaved, - 0, // Xref Not Used - - { // D3DDevice_DeleteStateBlock(x)+26: mov eax, [esi+4] { 0x13, 0x8B }, - { 0x14, 0x46 }, + { 0x14, 0x46 }, { 0x15, 0x04 }, - // D3DDevice_DeleteStateBlock(x)+1B: + // D3DDevice_DeleteStateBlock(x)+1B: { 0x23, 0x43 }, // inc ebx { 0x24, 0x3B }, // cmp ebx, [edi] { 0x25, 0x1F }, @@ -1816,21 +1248,16 @@ SOOVPA<9> D3DDevice_DeleteStateBlock_1_0_5849 = { 0x3C, 0x39 }, { 0x3D, 0x6F }, { 0x3E, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_RopZCmpAlwaysRead // ****************************************************************** -SOOVPA<7> D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849, 7, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD }, { 0x01, 0x44 }, @@ -1839,21 +1266,13 @@ SOOVPA<7> D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849 = { 0x0E, 0xC2 }, { 0x0F, 0x04 }, { 0x10, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3DDevice_GetTexture2 // ****************************************************************** -SOOVPA<8> D3DDevice_GetTexture2_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(D3DDevice_GetTexture2_1_0_5849, 8) - XRefNotSaved, - 0, // Xref Not Used - - { { 0x03, 0x04 }, { 0x0A, 0x56 }, { 0x0D, 0x81 }, @@ -1862,1509 +1281,319 @@ SOOVPA<8> D3DDevice_GetTexture2_1_0_5849 = { 0x17, 0x06 }, { 0x1E, 0x8B }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8_1_0_5849 // ****************************************************************** -OOVPATable D3D8_1_0_5849[] = -{ +OOVPATable D3D8_1_0_5849[] = { + // IDirect3D8::CreateDevice (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_4627, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_BeginVisibilityTest_1_0_4627, - - XTL::EmuIDirect3DDevice8_BeginVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginVisibilityTest" - #endif - }, - // IDirect3DDevice8::EndVisibilityTest - { - (OOVPA*)&IDirect3DDevice8_EndVisibilityTest_1_0_5849, - - XTL::EmuIDirect3DDevice8_EndVisibilityTest, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndVisibilityTest" - #endif - }, - // IDirect3DDevice8::GetVisibilityTestResult - { - (OOVPA*)&IDirect3DDevice8_GetVisibilityTestResult_1_0_5849, - - XTL::EmuIDirect3DDevice8_GetVisibilityTestResult, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetVisibilityTestResult" - #endif - }, - // IDirect3DDevice8::GetViewport - { - (OOVPA*)&IDirect3DDevice8_GetViewport_1_0_5849, - - XTL::EmuIDirect3DDevice8_GetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetViewport" - #endif - }, - // IDirect3DDevice8::SetBackBufferScale - { - (OOVPA*)&IDirect3DDevice8_SetBackBufferScale_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetBackBufferScale, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetBackBufferScale" - #endif - }, - // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetCreationParameters_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetCreationParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetCreationParameters" - #endif - }, - // IDirect3DDevice8::Clear (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_5233, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DDevice8::Swap - { - (OOVPA*)&D3DDevice_Swap_1_0_5849, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_4627, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3DDevice8::BeginVisibilityTest (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginVisibilityTest_1_0_4627, XTL::EmuIDirect3DDevice8_BeginVisibilityTest), + // IDirect3DDevice8::EndVisibilityTest + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndVisibilityTest_1_0_5849, XTL::EmuIDirect3DDevice8_EndVisibilityTest), + // IDirect3DDevice8::GetVisibilityTestResult + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetVisibilityTestResult_1_0_5849, XTL::EmuIDirect3DDevice8_GetVisibilityTestResult), + // IDirect3DDevice8::GetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetViewport_1_0_5849, XTL::EmuIDirect3DDevice8_GetViewport), + // IDirect3DDevice8::SetBackBufferScale + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetBackBufferScale_1_0_5849, XTL::EmuIDirect3DDevice8_SetBackBufferScale), + // IDirect3DDevice8::GetCreationParameters (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetCreationParameters_1_0_4034, XTL::EmuIDirect3DDevice8_GetCreationParameters), + // IDirect3DDevice8::Clear (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_5233, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DDevice8::Swap + OOVPA_TABLE_PATCH(D3DDevice_Swap_1_0_5849, XTL::EmuIDirect3DDevice8_Swap), // IDirect3DDevice8::Swap (2) - { - (OOVPA*)&IDirect3DDevice8_Swap2_1_0_5849, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap2" - #endif - }, - // IDirect3DDevice8::GetBackBuffer2 - { - (OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5849, - - XTL::EmuIDirect3DDevice8_GetBackBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackBuffer2" - #endif - }, - // IDirect3DDevice8::GetDepthStencilSurface2 - { - (OOVPA*)&IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849, - - XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDepthStencilSurface2" - #endif - }, - // IDirect3DDevice8::CreateVertexShader - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_5849, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::CreatePixelShader - { - (OOVPA*)&IDirect3DDevice8_CreatePixelShader_1_0_5849, - - XTL::EmuIDirect3DDevice8_CreatePixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreatePixelShader" - #endif - }, - // IDirect3DDevice8::SetPixelShader (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_GetDisplayMode_1_0_4627, - - XTL::EmuIDirect3DDevice8_GetDisplayMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayMode" - #endif - }, - // IDirect3DDevice8::SetVertexData2f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::SetVertexData4f - { - (OOVPA*)&IDirect3DDevice8_SetVertexData4f_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetVertexData4f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData4f" - #endif - }, - // IDirect3DDevice8::SetVertexDataColor - { - (OOVPA*)&IDirect3DDevice8_SetVertexDataColor_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetVertexDataColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexDataColor" - #endif - }, - // IDirect3DDevice8::End (* unchanged since 5558 *) - { - (OOVPA*)&IDirect3DDevice8_End_1_0_5558, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::SetVerticalBlankCallback - { - (OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVerticalBlankCallback" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_TextureFactor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZBias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZBias" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_Simple_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetRenderState_Simple, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Simple" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // IDirect3DDevice8::SetVertexShader (* unchanged since 5558 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::SetIndices - { - (OOVPA*)&IDirect3DDevice8_SetIndices_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetIndices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetIndices" - #endif - }, - // IDirect3DDevice8::SetTexture (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // D3D::CDevice::LazySetStateVB (XREF) (* unchanged since 5558 *) - { - (OOVPA*)&D3D_CDevice_LazySetStateVB_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "D3D::CDevice::LazySetStateVB (XREF)" - #endif - }, - // IDirect3DDevice8::BeginPush (* unchanged since 5558 *) - { - (OOVPA*)&IDirect3DDevice8_BeginPush_1_0_5558, - - XTL::EmuIDirect3DDevice8_BeginPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPush" - #endif - }, - // IDirect3DDevice8::EndPush (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_EndPush_1_0_4627, - - XTL::EmuIDirect3DDevice8_EndPush, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPush" - #endif - }, - // /* Not implemented yet. - // IDirect3DDevice8::BeginPushBuffer - { - (OOVPA*)&IDirect3DDevice8_BeginPushBuffer_1_0_5849, - - XTL::EmuIDirect3DDevice8_BeginPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginPushBuffer" - #endif - }, - // IDirect3DDevice8::EndPushBuffer - { - (OOVPA*)&IDirect3DDevice8_EndPushBuffer_1_0_5849, - - XTL::EmuIDirect3DDevice8_EndPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndPushBuffer" - #endif - }, - // */ - // IDirect3DDevice8::RunPushBuffer - { - (OOVPA*)&IDirect3DDevice8_RunPushBuffer_1_0_5849, - - XTL::EmuIDirect3DDevice8_RunPushBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_RunPushBuffer" - #endif - }, - // IDirect3DDevice8::Begin (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_Begin_1_0_5233, - - XTL::EmuIDirect3DDevice8_Begin, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Begin" - #endif - }, - // IDirect3DDevice8::BeginStateBig - { - (OOVPA*)&IDirect3DDevice8_BeginStateBig_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "IDirect3DDevice8_BeginStateBig (XRef)" - #endif - - }, - // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_GetTransform_1_0_4361, - - XTL::EmuIDirect3DDevice8_GetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTransform" - #endif - }, - // IDirect3DDevice8::SetTransform (* unchanged since 5558 *) - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5849, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::DrawIndexedVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849, - - XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVerticesUP" - #endif - }, - // IDirect3DDevice8::SetMaterial - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, - // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DResource8::Register (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Register_1_0_3925, - - XTL::EmuIDirect3DResource8_Register, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Register" - #endif - }, - // IDirect3DResource8::AddRef (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::Release (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DResource8_Release_1_0_3925, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - // IDirect3DResource8::IsBusy (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DResource8_IsBusy_1_0_4361, - - XTL::EmuIDirect3DResource8_IsBusy, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_IsBusy" - #endif - }, - // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DSurface8_GetDesc_1_0_4361, - - XTL::EmuIDirect3DSurface8_GetDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_GetDesc" - #endif - }, - // IDirect3DDevice8::CopyRects (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_CopyRects_1_0_5233, - - XTL::EmuIDirect3DDevice8_CopyRects, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CopyRects" - #endif - }, - // IDirect3DPalette8::Lock2 (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DPalette8_Lock2_1_0_5233, - - XTL::EmuIDirect3DPalette8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DPalette8_Lock2" - #endif - }, - // IDirect3DTexture8::LockRect - { - (OOVPA*)&IDirect3DTexture8_LockRect_1_0_5849, - - XTL::EmuIDirect3DTexture8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_LockRect" - #endif - }, - // IDirect3DSurface8::LockRect (* unchanged since 3925 *) - { - (OOVPA*)&IDirect3DSurface8_LockRect_1_0_3925, - - XTL::EmuIDirect3DSurface8_LockRect, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DSurface8_LockRect" - #endif - }, - // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DBaseTexture8_GetLevelCount_1_0_4361, - - XTL::EmuIDirect3DBaseTexture8_GetLevelCount, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DBaseTexture8_GetLevelCount" - #endif - }, - // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, - - XTL::EmuIDirect3DTexture8_GetSurfaceLevel2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetSurfaceLevel2" - #endif - }, - // IDirect3DDevice8::SetLight - { - - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer2 - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_5849, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer2" - #endif - }, - // IDirect3DVertexBuffer8_Lock - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock_1_0_5849, - - XTL::EmuIDirect3DVertexBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock" - #endif - }, - // IDirect3DVertexBuffer8::Lock2 - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_5849, - - XTL::EmuIDirect3DVertexBuffer8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock2" - #endif - }, - // IDirect3DDevice8_LightEnable - { - (OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5849, - - XTL::EmuIDirect3DDevice8_LightEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LightEnable" - #endif - }, - // IDirect3DDevice8_DrawVertices - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5849, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, - // IDirect3D8_AllocContiguousMemory - { - (OOVPA*)&IDirect3D8_AllocContiguousMemory_1_0_5849, - XTL::EmuIDirect3D8_AllocContiguousMemory, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_AllocContiguousMemory" - #endif - }, - // IDirect3DTexture8_GetLevelDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_5849, - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetLevelDesc" - #endif - }, - // IDirect3DDevice8::CreateTexture2 - { - (OOVPA*)&IDirect3DDevice8_CreateTexture2_1_0_5849, - - XTL::EmuIDirect3DDevice8_CreateTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateTexture2" - #endif - }, - // Lock2DSurface - { - (OOVPA*)&Lock2DSurface_1_0_3925, - - XTL::EmuLock2DSurface, - - #ifdef _DEBUG_TRACE - "EmuLock2DSurface" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant4 - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant4" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant1 - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant1" - #endif - }, - // IDirect3DDevice8::DrawVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_5849, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // IDirect3DDevice8::SetRenderTarget - { - (OOVPA*)&IDirect3DDevice8_SetRenderTarget_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderTarget, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTarget" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DDevice8::SetViewport - { - (OOVPA*)&D3DDevice_SetViewport_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::BlockUntilVerticalBlank - { - (OOVPA*)&D3DDevice_BlockUntilVerticalBlank_1_0_5849, - - XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BlockUntilVerticalBlank" - #endif - }, - // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FrontFace" - #endif - }, - // IDirect3DDevice8::SetBackMaterial - { - (OOVPA*)&D3DDevice_SetBackMaterial_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetBackMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetBackMaterial" - #endif - }, - // IDirect3DDevice8::SetRenderState_TwoSidedLighting - { - (OOVPA*)&D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TwoSidedLighting" - #endif - }, - // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3D8_KickOffAndWaitForIdle_1_0_5233, - - XTL::EmuIDirect3D8_KickOffAndWaitForIdle, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_KickOffAndWaitForIdle" - #endif - }, - // D3D::SetTileNoWait - { - (OOVPA*)&D3DDevice_SetTileNoWait_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetTileNoWait, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTileNoWait" - #endif - }, - // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) - { - (OOVPA*)&IDirect3DDevice8_SetGammaRamp_1_0_4928, - - XTL::EmuIDirect3DDevice8_SetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetGammaRamp" - #endif - }, - // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) - { - (OOVPA*)&IDirect3DDevice8_GetGammaRamp_1_0_4034, - - XTL::EmuIDirect3DDevice8_GetGammaRamp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetGammaRamp" - #endif - }, - // D3DDevice_SetSwapCallback - { - (OOVPA*)&D3DDevice_SetSwapCallback_1_0_5849, - XTL::EmuIDirect3DDevice8_SetSwapCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSwapCallback" - #endif - }, - // IDirect3DDevice8::GetRenderTarget2 (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_GetRenderTarget2_1_0_5233, - - XTL::EmuIDirect3DDevice8_GetRenderTarget2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetRenderTarget2" - #endif - }, - // D3DDevice_SetRenderState_StencilFail - { - (OOVPA*)&D3DDevice_SetRenderState_StencilFail_1_0_5849, - XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilFail" - #endif - }, - // D3DDevice_SetRenderState_VertexBlend - { - (OOVPA*)&D3DDevice_SetRenderState_VertexBlend_1_0_5849, - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // D3DDevice_SetRenderState_VertexBlend - { - (OOVPA*)&D3DDevice_SetRenderState_VertexBlend_1_0_5849, - XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_VertexBlend" - #endif - }, - // IDirect3DDevice8::Reset (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_Reset_1_0_4134, - - XTL::EmuIDirect3DDevice8_Reset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Reset" - #endif - }, - // IDirect3DDevice::Release - { - (OOVPA*)&IDirect3DDevice8_Release_1_0_5849, - XTL::EmuIDirect3DDevice8_Release, - - #ifdef _DEBUG_TRACE - "D3DDevice_Release" - #endif - }, - // IDirect3DDevice8_InsertCallback (* unchanged since 5558 *) - { - (OOVPA*)&D3DDevice_InsertCallback_1_0_5558, - - XTL::EmuIDirect3DDevice8_InsertCallback, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_InsertCallback" - #endif - }, - // D3DDevice::SetRenderState_LineWidth - { - (OOVPA*)&D3DDevice_SetRenderState_LineWidth_1_0_5849, - XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LineWidth" - #endif - }, - // D3DDevice_SetRenderState_SampleAlpha (* unchanged since 5233 *) - { - (OOVPA*)&D3DDevice_SetRenderState_SampleAlpha_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_SampleAlpha" - #endif - }, - // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, - // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) - { - (OOVPA*)&IDirect3DDevice8_EnableOverlay_1_0_4361, - - XTL::EmuIDirect3DDevice8_EnableOverlay, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EnableOverlay" - #endif - }, - // D3DDevice_SetRenderState_LogicOp (* unchanged since 5558 *) - { - (OOVPA*)&D3DDevice_SetRenderState_LogicOp_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_LogicOp" - #endif - }, - // D3DDevice_SetRenderState_MultiSampleMask - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5849, - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMask" - #endif - }, - // D3DDevice_SetPalette - { - (OOVPA*)&D3DDevice_SetPalette_1_0_5849, - XTL::EmuIDirect3DDevice8_SetPalette, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPalette" - #endif - }, - // D3DDevice_LoadVertexShaderProgram - { - (OOVPA*)&D3DDevice_LoadVertexShaderProgram_1_0_5849, - XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShaderProgram" - #endif - }, - // D3DDevice_GetPushBufferOffset - { - (OOVPA*)&D3DDevice_GetPushBufferOffset_1_0_5849, - XTL::EmuIDirect3DDevice8_GetPushBufferOffset, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetPushBufferOffset" - #endif - }, - // D3D::MakeRequestedSpace - { - (OOVPA*)&D3D_MakeRequestedSpace_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "D3D::MakeRequestedSpace (XRef)" - #endif - }, - // D3D::Unknown - { - (OOVPA*)&D3D_Unknown_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "D3D::Unknown (XRef)" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstantNotInline (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstantNotInline" - #endif - }, - // D3DDevice_FlushVertexCache - { - (OOVPA*)&D3DDevice_FlushVertexCache_1_0_5849, - XTL::EmuIDirect3DDevice8_FlushVertexCache, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_FlushVertexCache" - #endif - }, - // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) - { - (OOVPA*)&X_D3DDevice_GetVertexShaderSize_1_0_3925, - - XTL::EmuIDirect3DDevice8_GetVertexShaderSize, - - #ifdef _DEBUG_TRACE - "D3DDevice_GetVertexShaderSize" - #endif - }, - // IDirect3DDevice8::LoadVertexShader (* unchanged since 5233 *) - { - (OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_5233, - - XTL::EmuIDirect3DDevice8_LoadVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_LoadVertexShader" - #endif - }, - // IDirect3DDevice8::SelectVertexShader (* unchanged since 5558 *) - { - (OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_5558, - - XTL::EmuIDirect3DDevice8_SelectVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SelectVertexShader" - #endif - }, - // D3DDevice_RunVertexStateShader (* unchanged since 4627 *) - { - (OOVPA*)&X_D3DDevice_RunVertexStateShader_1_0_4627, - - XTL::EmuIDirect3DDevice8_RunVertexStateShader, - - #ifdef _DEBUG_TRACE - "D3DDevice_RunVertexStateShader" - #endif - }, - // IDirect3DDevice8::AddRef - { - (OOVPA*)&D3DDevice_AddRef_1_0_5849, - - XTL::EmuIDirect3DDevice8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_AddRef" - #endif - }, - // D3D::ClearStateBlockFlags - { - (OOVPA*)&D3D_ClearStateBlockFlags_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "D3D::ClearStateBlockFlags (XREF)" - #endif - }, - // D3D::RecordStateBlock - { - (OOVPA*)&D3D_RecordStateBlock_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "D3D::RecordStateBlock (XREF)" - #endif - }, - // IDirect3DDevice8::BeginStateBlock - { - (OOVPA*)&IDirect3DDevice8_BeginStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_BeginStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_BeginStateBlock" - #endif - }, - // IDirect3DDevice8::EndStateBlock - { - (OOVPA*)&IDirect3DDevice8_EndStateBlock_1_0_4361, - - XTL::EmuIDirect3DDevice8_EndStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_EndStateBlock" - #endif - }, - // D3DDevice_SetRenderState_BackFillMode - { - (OOVPA*)&D3DDevice_SetRenderState_BackFillMode_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_BackFillMode" - #endif - }, - // D3DDevice_SetRenderState_Dxt1NoiseEnable - { - (OOVPA*)&D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable" - #endif - }, - // D3DDevice_GetTile - { - (OOVPA*)&D3DDevice_GetTile_1_0_5849, - - XTL::EmuIDirect3DDevice8_GetTile, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTile" - #endif - }, - // D3D::CDevice::KickOff - { - (OOVPA*)&D3D_CDevice_KickOff_1_0_5849, - - XTL::EmuD3DDevice_KickOff, - - #ifdef _DEBUG_TRACE - "D3D::CDevice::KickOff (D3DDevice::KickPushBuffer)" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, - // IDirect3DDevice8::SetSoftDisplayFilter - { - (OOVPA*)&D3DDevice_SetSoftDisplayFilter_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetSoftDisplayFilter" - #endif - }, - // IDirect3DDevice8::SetFlickerFilter - { - (OOVPA*)&D3DDevice_SetFlickerFilter_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetFlickerFilter, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetFlickerFilter" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMode_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias" - #endif - }, - // IDirect3DDevice8::SetRenderState_MultiSampleMask - { - (OOVPA*)&D3DDevice_SetRenderState_MultiSampleMask_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_MultiSampleMode" - #endif - }, - // IDirect3DDevice8::SetPixelShaderConstant - { - (OOVPA*)&D3DDevice_SetPixelShaderConstant_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetPixelShaderConstant, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderConstant" - #endif - }, - // D3DDevice_GetDisplayFieldStatus - { - (OOVPA*)&D3DDevice_GetDisplayFieldStatus_1_0_5849, - XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetDisplayFieldStatus" - #endif - }, - // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) - { - (OOVPA*)&D3DCubeTexture_GetCubeMapSurface2_1_0_4627, - - XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DCubeTexture8_GetCubeMapSurface2" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant1Fast (* Unchanged since 5558 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant1Fast" - #endif - }, - // D3DDevice_SetPixelShaderProgram (* Unchanged since 5558 *) - { - (OOVPA*)&D3DDevice_SetPixelShaderProgram_1_0_5558, - XTL::EmuIDirect3DDevice8_SetPixelShaderProgram, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShaderProgram" - #endif - }, - // IDirect3DDevice8::SetScissors - { - (OOVPA*)&D3DDevice_SetScissors_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetScissors" - #endif - }, - // IDirect3DDevice8::GetScissors - { - (OOVPA*)&D3DDevice_GetScissors_1_0_5849, - - XTL::EmuIDirect3DDevice8_GetScissors, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetScissors" - #endif - }, - // IDirect3DDevice8::GetBackMaterial - { - (OOVPA*)&D3DDevice_GetBackMaterial_1_0_5849, - - XTL::EmuIDirect3DDevice8_GetBackMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetBackMaterial" - #endif - }, - // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) - { - (OOVPA*)&D3DDevice_ApplyStateBlock_1_0_4627, - - XTL::EmuIDirect3DDevice8_ApplyStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_ApplyStateBlock" - #endif - }, - // IDirect3DDevice8::CaptureStateBlock - { - (OOVPA*)&D3DDevice_CaptureStateBlock_1_0_5849, - - XTL::EmuIDirect3DDevice8_CaptureStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CaptureStateBlock" - #endif - }, - // IDirect3DDevice8::DeleteStateBlock - { - (OOVPA*)&D3DDevice_DeleteStateBlock_1_0_5849, - - XTL::EmuIDirect3DDevice8_DeleteStateBlock, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DeleteStateBlock" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilCullEnable" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap2_1_0_5849, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::GetBackBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetBackBuffer2_1_0_5849, XTL::EmuIDirect3DDevice8_GetBackBuffer2), + // IDirect3DDevice8::GetDepthStencilSurface2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDepthStencilSurface2_1_0_5849, XTL::EmuIDirect3DDevice8_GetDepthStencilSurface2), + // IDirect3DDevice8::CreateVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_5849, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::CreatePixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreatePixelShader_1_0_5849, XTL::EmuIDirect3DDevice8_CreatePixelShader), + // IDirect3DDevice8::SetPixelShader (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_5233, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::GetDisplayMode (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetDisplayMode_1_0_4627, XTL::EmuIDirect3DDevice8_GetDisplayMode), + // IDirect3DDevice8::SetVertexData2f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_5849, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::SetVertexData4f + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData4f_1_0_5849, XTL::EmuIDirect3DDevice8_SetVertexData4f), + // IDirect3DDevice8::SetVertexDataColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexDataColor_1_0_5849, XTL::EmuIDirect3DDevice8_SetVertexDataColor), + // IDirect3DDevice8::End (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_5558, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::SetVerticalBlankCallback + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVerticalBlankCallback_1_0_5849, XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback), + // IDirect3DDevice8::SetTextureState_TexCoordIndex (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetTextureState_BumpEnv (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetTextureState_BorderColor (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_4361, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetRenderState_CullMode (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_TextureFactor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_NormalizeNormals (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // IDirect3DDevice8::SetRenderState_ZBias (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZBias_1_0_3925, XTL::EmuIDirect3DDevice8_SetRenderState_ZBias), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DDevice8::SetRenderState_FillMode (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_FogColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::SetRenderState_Simple (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_Simple_1_0_4361, XTL::EmuIDirect3DDevice8_SetRenderState_Simple), + // IDirect3DDevice8::SetRenderState_ZEnable (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_StencilEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead - { - (OOVPA*)&D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4627, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_ShadowFunc (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SetRenderState_YuvEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // IDirect3DDevice8::SetVertexShader (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::SetIndices + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetIndices_1_0_5849, XTL::EmuIDirect3DDevice8_SetIndices), + // IDirect3DDevice8::SetTexture (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_5233, XTL::EmuIDirect3DDevice8_SetTexture), + // D3D::CDevice::LazySetStateVB (XREF) (* unchanged since 5558 *) + OOVPA_TABLE_XREF(D3D_CDevice_LazySetStateVB_1_0_5558), + // IDirect3DDevice8::BeginPush (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginPush_1_0_5558, XTL::EmuIDirect3DDevice8_BeginPush), + // IDirect3DDevice8::EndPush (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndPush_1_0_4627, XTL::EmuIDirect3DDevice8_EndPush), + // /* Not implemented yet. + // IDirect3DDevice8::BeginPushBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginPushBuffer_1_0_5849, XTL::EmuIDirect3DDevice8_BeginPushBuffer), + // IDirect3DDevice8::EndPushBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndPushBuffer_1_0_5849, XTL::EmuIDirect3DDevice8_EndPushBuffer), + // */ + // IDirect3DDevice8::RunPushBuffer + OOVPA_TABLE_PATCH(IDirect3DDevice8_RunPushBuffer_1_0_5849, XTL::EmuIDirect3DDevice8_RunPushBuffer), + // IDirect3DDevice8::Begin (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Begin_1_0_5233, XTL::EmuIDirect3DDevice8_Begin), + // IDirect3DDevice8::BeginStateBig + OOVPA_TABLE_XREF(IDirect3DDevice8_BeginStateBig_1_0_5849), + // IDirect3DDevice8::GetTransform (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetTransform_1_0_4361, XTL::EmuIDirect3DDevice8_GetTransform), + // IDirect3DDevice8::SetTransform (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_5558, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_5849, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), + // IDirect3DDevice8::DrawIndexedVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVerticesUP_1_0_5849, XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP), + // IDirect3DDevice8::SetMaterial + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_5849, XTL::EmuIDirect3DDevice8_SetMaterial), + // IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_4361, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DResource8::Register (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Register_1_0_3925, XTL::EmuIDirect3DResource8_Register), + // IDirect3DResource8::AddRef (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::Release (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_3925, XTL::EmuIDirect3DResource8_Release), + // IDirect3DResource8::IsBusy (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DResource8_IsBusy_1_0_4361, XTL::EmuIDirect3DResource8_IsBusy), + // IDirect3DSurface8::GetDesc (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_GetDesc_1_0_4361, XTL::EmuIDirect3DSurface8_GetDesc), + // IDirect3DDevice8::CopyRects (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CopyRects_1_0_5233, XTL::EmuIDirect3DDevice8_CopyRects), + // IDirect3DPalette8::Lock2 (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DPalette8_Lock2_1_0_5233, XTL::EmuIDirect3DPalette8_Lock2), + // IDirect3DTexture8::LockRect + OOVPA_TABLE_PATCH(IDirect3DTexture8_LockRect_1_0_5849, XTL::EmuIDirect3DTexture8_LockRect), + // IDirect3DSurface8::LockRect (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(IDirect3DSurface8_LockRect_1_0_3925, XTL::EmuIDirect3DSurface8_LockRect), + // IDirect3DBaseTexture8::GetLevelCount (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DBaseTexture8_GetLevelCount_1_0_4361, XTL::EmuIDirect3DBaseTexture8_GetLevelCount), + // IDirect3DTexture8::GetSurfaceLevel2 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DTexture8_GetSurfaceLevel2_1_0_4627, XTL::EmuIDirect3DTexture8_GetSurfaceLevel2), + // IDirect3DDevice8::SetLight + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_5558, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::CreateVertexBuffer2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer2_1_0_5849, XTL::EmuIDirect3DDevice8_CreateVertexBuffer2), + // IDirect3DVertexBuffer8_Lock + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock_1_0_5849, XTL::EmuIDirect3DVertexBuffer8_Lock), + // IDirect3DVertexBuffer8::Lock2 + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock2_1_0_5849, XTL::EmuIDirect3DVertexBuffer8_Lock2), + // IDirect3DDevice8_LightEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_LightEnable_1_0_5849, XTL::EmuIDirect3DDevice8_LightEnable), + // IDirect3DDevice8_DrawVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_5849, XTL::EmuIDirect3DDevice8_DrawVertices), + // IDirect3D8_AllocContiguousMemory + OOVPA_TABLE_PATCH(IDirect3D8_AllocContiguousMemory_1_0_5849, XTL::EmuIDirect3D8_AllocContiguousMemory), + // IDirect3DTexture8_GetLevelDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_5849, XTL::EmuGet2DSurfaceDesc), + // IDirect3DDevice8::CreateTexture2 + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateTexture2_1_0_5849, XTL::EmuIDirect3DDevice8_CreateTexture2), + // Lock2DSurface + OOVPA_TABLE_PATCH(Lock2DSurface_1_0_3925, XTL::EmuLock2DSurface), + // IDirect3DDevice8::SetVertexShaderConstant4 + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4), + // IDirect3DDevice8::SetVertexShaderConstant1 + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1), + // IDirect3DDevice8::DrawVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUP_1_0_5849, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::SetRenderTarget + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderTarget_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderTarget), + // IDirect3DDevice8::SetShaderConstantMode (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_5233, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DDevice8::SetViewport + OOVPA_TABLE_PATCH(D3DDevice_SetViewport_1_0_5849, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::BlockUntilVerticalBlank + OOVPA_TABLE_PATCH(D3DDevice_BlockUntilVerticalBlank_1_0_5849, XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank), + // IDirect3DDevice8::SetRenderState_FrontFace (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FrontFace_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace), + // IDirect3DDevice8::SetBackMaterial + OOVPA_TABLE_PATCH(D3DDevice_SetBackMaterial_1_0_5849, XTL::EmuIDirect3DDevice8_SetBackMaterial), + // IDirect3DDevice8::SetRenderState_TwoSidedLighting + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_TwoSidedLighting_1_0_5849, XTL::EmuIDirect3DDevice8_SetTextureState_TwoSidedLighting), + // IDirect3D8::KickOffAndWaitForIdle (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3D8_KickOffAndWaitForIdle_1_0_5233, XTL::EmuIDirect3D8_KickOffAndWaitForIdle), + // D3D::SetTileNoWait + OOVPA_TABLE_PATCH(D3DDevice_SetTileNoWait_1_0_5849, XTL::EmuIDirect3DDevice8_SetTileNoWait), + // IDirect3DDevice8::SetGammaRamp (* unchanged since 4928 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetGammaRamp_1_0_4928, XTL::EmuIDirect3DDevice8_SetGammaRamp), + // IDirect3DDevice8::GetGammaRamp (* unchanged since 4034 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetGammaRamp_1_0_4034, XTL::EmuIDirect3DDevice8_GetGammaRamp), + // D3DDevice_SetSwapCallback + OOVPA_TABLE_PATCH(D3DDevice_SetSwapCallback_1_0_5849, XTL::EmuIDirect3DDevice8_SetSwapCallback), + // IDirect3DDevice8::GetRenderTarget2 (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_GetRenderTarget2_1_0_5233, XTL::EmuIDirect3DDevice8_GetRenderTarget2), + // D3DDevice_SetRenderState_StencilFail + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_StencilFail_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail), + // D3DDevice_SetRenderState_VertexBlend + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_VertexBlend_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // D3DDevice_SetRenderState_VertexBlend + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_VertexBlend_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_VertexBlend), + // IDirect3DDevice8::Reset (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_Reset_1_0_4134, XTL::EmuIDirect3DDevice8_Reset), + // IDirect3DDevice::Release + OOVPA_TABLE_PATCH(IDirect3DDevice8_Release_1_0_5849, XTL::EmuIDirect3DDevice8_Release), + // IDirect3DDevice8_InsertCallback (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(D3DDevice_InsertCallback_1_0_5558, XTL::EmuIDirect3DDevice8_InsertCallback), + // D3DDevice::SetRenderState_LineWidth + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LineWidth_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth), + // D3DDevice_SetRenderState_SampleAlpha (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_SampleAlpha_1_0_5233, XTL::EmuIDirect3DDevice8_SetRenderState_SampleAlpha), + // IDirect3DDevice8::SetTextureState_ColorKeyColor (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_4134, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), + // IDirect3DDevice8::EnableOverlay (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_EnableOverlay_1_0_4361, XTL::EmuIDirect3DDevice8_EnableOverlay), + // D3DDevice_SetRenderState_LogicOp (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_LogicOp_1_0_5558, XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp), + // D3DDevice_SetRenderState_MultiSampleMask + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMask_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask), + // D3DDevice_SetPalette + OOVPA_TABLE_PATCH(D3DDevice_SetPalette_1_0_5849, XTL::EmuIDirect3DDevice8_SetPalette), + // D3DDevice_LoadVertexShaderProgram + OOVPA_TABLE_PATCH(D3DDevice_LoadVertexShaderProgram_1_0_5849, XTL::EmuIDirect3DDevice8_LoadVertexShaderProgram), + // D3DDevice_GetPushBufferOffset + OOVPA_TABLE_PATCH(D3DDevice_GetPushBufferOffset_1_0_5849, XTL::EmuIDirect3DDevice8_GetPushBufferOffset), + // D3D::MakeRequestedSpace + OOVPA_TABLE_XREF(D3D_MakeRequestedSpace_1_0_5849), + // D3D::Unknown + OOVPA_TABLE_XREF(D3D_Unknown_1_0_5849), + // IDirect3DDevice8::SetVertexShaderConstantNotInline (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstantNotInline_1_0_5233, XTL::EmuIDirect3DDevice8_SetVertexShaderConstantNotInline), + // D3DDevice_FlushVertexCache + OOVPA_TABLE_PATCH(D3DDevice_FlushVertexCache_1_0_5849, XTL::EmuIDirect3DDevice8_FlushVertexCache), + // D3DDevice_GetVertexShaderSize (* unchanged since 3925 *) + OOVPA_TABLE_PATCH(X_D3DDevice_GetVertexShaderSize_1_0_3925, XTL::EmuIDirect3DDevice8_GetVertexShaderSize), + // IDirect3DDevice8::LoadVertexShader (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_LoadVertexShader_1_0_5233, XTL::EmuIDirect3DDevice8_LoadVertexShader), + // IDirect3DDevice8::SelectVertexShader (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SelectVertexShader_1_0_5558, XTL::EmuIDirect3DDevice8_SelectVertexShader), + // D3DDevice_RunVertexStateShader (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(X_D3DDevice_RunVertexStateShader_1_0_4627, XTL::EmuIDirect3DDevice8_RunVertexStateShader), + // IDirect3DDevice8::AddRef + OOVPA_TABLE_PATCH(D3DDevice_AddRef_1_0_5849, XTL::EmuIDirect3DDevice8_AddRef), + // D3D::ClearStateBlockFlags + OOVPA_TABLE_XREF(D3D_ClearStateBlockFlags_1_0_5849), + // D3D::RecordStateBlock + OOVPA_TABLE_XREF(D3D_RecordStateBlock_1_0_5849), + // IDirect3DDevice8::BeginStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_BeginStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_BeginStateBlock), + // IDirect3DDevice8::EndStateBlock + OOVPA_TABLE_PATCH(IDirect3DDevice8_EndStateBlock_1_0_4361, XTL::EmuIDirect3DDevice8_EndStateBlock), + // D3DDevice_SetRenderState_BackFillMode + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_BackFillMode_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_BackFillMode), + // D3DDevice_SetRenderState_Dxt1NoiseEnable + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_Dxt1NoiseEnable_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable), + // D3DDevice_GetTile + OOVPA_TABLE_PATCH(D3DDevice_GetTile_1_0_5849, XTL::EmuIDirect3DDevice8_GetTile), + // D3D::CDevice::KickOff + OOVPA_TABLE_PATCH(D3D_CDevice_KickOff_1_0_5849, XTL::EmuD3DDevice_KickOff), + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_RopZRead" - #endif - }, - // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, - - XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), + // IDirect3DDevice8::SetSoftDisplayFilter + OOVPA_TABLE_PATCH(D3DDevice_SetSoftDisplayFilter_1_0_5849, XTL::EmuIDirect3DDevice8_SetSoftDisplayFilter), + // IDirect3DDevice8::SetFlickerFilter + OOVPA_TABLE_PATCH(D3DDevice_SetFlickerFilter_1_0_5849, XTL::EmuIDirect3DDevice8_SetFlickerFilter), + // IDirect3DDevice8::SetRenderState_MultiSampleMode + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMode_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), + // IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleRenderTargetMode_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode), + // IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleAntiAlias_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias), + // IDirect3DDevice8::SetRenderState_MultiSampleMask + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_MultiSampleMask_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode), + // IDirect3DDevice8::SetPixelShaderConstant + OOVPA_TABLE_PATCH(D3DDevice_SetPixelShaderConstant_1_0_5849, XTL::EmuIDirect3DDevice8_SetPixelShaderConstant), + // D3DDevice_GetDisplayFieldStatus + OOVPA_TABLE_PATCH(D3DDevice_GetDisplayFieldStatus_1_0_5849, XTL::EmuIDirect3DDevice8_GetDisplayFieldStatus), + // IDirect3DCubeTexture8::GetCubeMapSurface2 (* Unchanged since 4627 *) + OOVPA_TABLE_PATCH(D3DCubeTexture_GetCubeMapSurface2_1_0_4627, XTL::EmuIDirect3DCubeTexture8_GetCubeMapSurface2), + // IDirect3DDevice8::SetVertexShaderConstant1Fast (* Unchanged since 5558 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant1Fast_1_0_5558, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1), + // D3DDevice_SetPixelShaderProgram (* Unchanged since 5558 *) + OOVPA_TABLE_PATCH(D3DDevice_SetPixelShaderProgram_1_0_5558, XTL::EmuIDirect3DDevice8_SetPixelShaderProgram), + // IDirect3DDevice8::SetScissors + OOVPA_TABLE_PATCH(D3DDevice_SetScissors_1_0_5849, XTL::EmuIDirect3DDevice8_SetScissors), + // IDirect3DDevice8::GetScissors + OOVPA_TABLE_PATCH(D3DDevice_GetScissors_1_0_5849, XTL::EmuIDirect3DDevice8_GetScissors), + // IDirect3DDevice8::GetBackMaterial + OOVPA_TABLE_PATCH(D3DDevice_GetBackMaterial_1_0_5849, XTL::EmuIDirect3DDevice8_GetBackMaterial), + // IDirect3DDevice8::ApplyStateBlock (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(D3DDevice_ApplyStateBlock_1_0_4627, XTL::EmuIDirect3DDevice8_ApplyStateBlock), + // IDirect3DDevice8::CaptureStateBlock + OOVPA_TABLE_PATCH(D3DDevice_CaptureStateBlock_1_0_5849, XTL::EmuIDirect3DDevice8_CaptureStateBlock), + // IDirect3DDevice8::DeleteStateBlock + OOVPA_TABLE_PATCH(D3DDevice_DeleteStateBlock_1_0_5849, XTL::EmuIDirect3DDevice8_DeleteStateBlock), + // IDirect3DDevice8::SetRenderState_StencilCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_RopZCmpAlwaysRead + OOVPA_TABLE_PATCH(D3DDevice_SetRenderState_RopZCmpAlwaysRead_1_0_5849, XTL::EmuIDirect3DDevice8_SetRenderState_RopZCmpAlwaysRead), + // IDirect3DDevice8::SetRenderState_RopZRead (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_RopZRead_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_RopZRead), + // IDirect3DDevice8::SetRenderState_DoNotCullUncompressed (* unchanged since 4134 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_DoNotCullUncompressed_1_0_4134, XTL::EmuIDirect3DDevice8_SetRenderState_DoNotCullUncompressed), // D3DDevice_GetTexture2 - { - (OOVPA*)&D3DDevice_GetTexture2_1_0_5849, - XTL::EmuIDirect3DDevice8_GetTexture2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_GetTexture2" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_GetTexture2_1_0_5849, XTL::EmuIDirect3DDevice8_GetTexture2), // IDirect3DDevice8::SetRenderTargetFast (* unchanged since 5344 *) - { - (OOVPA*)&D3DDevice_SetRenderTargetFast_1_0_5344, - - XTL::EmuIDirect3DDevice8_SetRenderTargetFast, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderTargetFast" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetRenderTargetFast_1_0_5344, XTL::EmuIDirect3DDevice8_SetRenderTargetFast), // D3DDevice_SetDepthClipPlanes - { - (OOVPA*)&D3DDevice_SetDepthClipPlanes_1_0_5849, - XTL::EmuIDirect3DDevice8_SetDepthClipPlanes, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetDepthClipPlanes" - #endif - }, + OOVPA_TABLE_PATCH(D3DDevice_SetDepthClipPlanes_1_0_5849, XTL::EmuIDirect3DDevice8_SetDepthClipPlanes), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl index 8bf69603b..4a67f9a06 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8LTCG.1.0.5849.inl @@ -38,15 +38,8 @@ // ****************************************************************** // * IDirect3D8_CreateDevice // ****************************************************************** -SOOVPA<8> IDirect3D8_CreateDevice_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3D8_CreateDevice_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_CreateDevice+0x07 : jnz +0x0A { 0x07, 0x75 }, // (Offset,Value)-Pair #1 { 0x08, 0x0A }, // (Offset,Value)-Pair #2 @@ -62,21 +55,13 @@ SOOVPA<8> IDirect3D8_CreateDevice_1_0_5849_LTCG = // IDirect3D8_CreateDevice+0x8F : retn 0x18 { 0x8F, 0xC2 }, // (Offset,Value)-Pair #7 { 0x90, 0x18 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetPixelShader // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG = -{ - 0, // Large == 0 - 9, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3D8_SetPixelShader+0x1E : jnz +0x67 { 0x1E, 0x75 }, // (Offset,Value)-Pair #1 { 0x1F, 0x67 }, // (Offset,Value)-Pair #2 @@ -84,32 +69,24 @@ SOOVPA<9> IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG = // IDirect3D8_SetPixelShader+0x3E : or eax, 0x2000 { 0x3E, 0x0D }, // (Offset,Value)-Pair #3 { 0x3F, 0x00 }, // (Offset,Value)-Pair #4 - + // IDirect3D8_SetPixelShader+0x60 : push eax { 0x60, 0x50 }, // (Offset,Value)-Pair #5 - + // IDirect3D8_SetPixelShader+0x61 : shr eax, 1 { 0x61, 0xD1 }, // (Offset,Value)-Pair #6 { 0x62, 0xE8 }, // (Offset,Value)-Pair #7 - + // IDirect3D8_SetPixelShader+0xE1 : jb +0x0E { 0xE1, 0x72 }, // (Offset,Value)-Pair #8 { 0xE2, 0x0E }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_CreateVertexShader // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x85 }, { 0x3E, 0xE8 }, { 0x5E, 0x75 }, @@ -118,21 +95,13 @@ SOOVPA<8> IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG = { 0xBE, 0x8B }, { 0xDE, 0x73 }, { 0xFD, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawIndexedVertices // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x13, 0x89 }, { 0x3E, 0x3B }, { 0x5E, 0x05 }, @@ -141,23 +110,15 @@ SOOVPA<8> IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG = { 0xC4, 0x03 }, { 0xDE, 0xE2 }, { 0xFD, 0xEA }, - } -}; +OOVPA_END; // Verteks 10/03/2009 // ****************************************************************** // * IDirect3DDevice8_SetTexture // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetTexture_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x7C }, { 0x3C, 0xE8 }, { 0x5F, 0xE8 }, @@ -166,21 +127,13 @@ SOOVPA<8> IDirect3DDevice8_SetTexture_1_0_5849_LTCG = { 0xBE, 0x0C }, { 0xDE, 0x0F }, { 0xFE, 0x8D }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetViewport // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetViewport_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetViewport_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0xAE }, { 0x3E, 0x53 }, { 0x5E, 0x00 }, @@ -189,21 +142,13 @@ SOOVPA<8> IDirect3DDevice8_SetViewport_1_0_5849_LTCG = { 0xBE, 0x4C }, { 0xDE, 0xE1 }, { 0xF9, 0x7D }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetLight // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetLight_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x00 }, { 0x3E, 0x89 }, { 0x5E, 0x00 }, @@ -212,22 +157,14 @@ SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5849_LTCG = { 0xBE, 0xC9 }, { 0xDE, 0x07 }, { 0xFD, 0xC1 }, - } -}; +OOVPA_END; /* Same as 5558 // ****************************************************************** // * IDirect3DDevice8_SetTransform // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetTransform_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0xB9 }, { 0x3E, 0x0F }, { 0x5E, 0xD9 }, @@ -236,23 +173,15 @@ SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5849_LTCG = { 0xB8, 0xE0 }, { 0xD7, 0xD9 }, { 0xF6, 0xF6 }, - } -}; +OOVPA_END; */ /* Same as 5849 // ****************************************************************** // * IDirect3DDevice8_SetMaterial // ****************************************************************** -SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849_LTCG = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirect3DDevice8_SetMaterial_1_0_5849_LTCG, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x08 }, { 0x0C, 0x81 }, { 0x0E, 0x00 }, @@ -262,22 +191,13 @@ SOOVPA<9> IDirect3DDevice8_SetMaterial_1_0_5849_LTCG = { 0x22, 0x90 }, { 0x2C, 0x5E }, { 0x2E, 0x04 }, - } -}; +OOVPA_END; */ // ****************************************************************** // * IDirect3DDevice8_SetStreamSource // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG = -{ - 0, // Large == 0 - 14, // Count == 14 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG, 14) // IDirect3DDevice8_SetStreamSource+0x07 : mov ebx, [esp+0x0C] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x5C }, // (Offset,Value)-Pair #2 @@ -301,22 +221,13 @@ SOOVPA<14> IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG = // IDirect3DDevice8_SetStreamSource+0x89 : retn 0x0C { 0x89, 0xC2 }, // (Offset,Value)-Pair #13 { 0x8A, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; /* Same as 5849 // ****************************************************************** // * IDirect3DDevice8_SetVertexShaderConstant1 // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849_LTCG = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849_LTCG, 11) // IDirect3DDevice8_SetVertexShaderConstant1+0x06 : add eax, 0x1C { 0x06, 0x83 }, // (Offset,Value)-Pair #1 { 0x07, 0xC0 }, // (Offset,Value)-Pair #2 @@ -337,23 +248,14 @@ SOOVPA<11> IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849_LTCG = // IDirect3DDevice8_SetVertexShaderConstant1+0x5D : jmp +0xA2 { 0x5D, 0xEB }, // (Offset,Value)-Pair #10 { 0x5E, 0xA2 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; */ /* Same as 5849 // ****************************************************************** // * IDirect3DDevice8_CreateVertexBuffer2 // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849_LTCG = -{ - 0, // Large == 0 - 7, // Count == 7 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_CreateVertexBuffer2_1_0_5849_LTCG, 7) { 0x08, 0xE8 }, { 0x12, 0x1E }, { 0x1C, 0x50 }, @@ -361,22 +263,14 @@ SOOVPA<7> IDirect3DDevice8_CreateVertexBuffer2_1_0_5849_LTCG = { 0x31, 0x33 }, { 0x3A, 0xFF }, { 0x44, 0x01 }, - } -}; +OOVPA_END; */ // ****************************************************************** // * IDirect3DDevice8_SetTextureState_TexCoordIndex // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetTextureState_TexCoordIndex+0x14 : shl eax, 0x07 { 0x14, 0xC1 }, // (Offset,Value)-Pair #1 { 0x15, 0xE0 }, // (Offset,Value)-Pair #2 @@ -394,21 +288,12 @@ SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG = { 0xB3, 0xC1 }, // (Offset,Value)-Pair #8 { 0xB4, 0xE3 }, // (Offset,Value)-Pair #9 { 0xB5, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_BumpEnv // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG = -{ - 0, // Large == 0 - 12, // Count == 12 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG, 12) // IDirect3DDevice8_SetTextureState_BumpEnv+0x18 : jnz +0x03 { 0x18, 0x75 }, // (Offset,Value)-Pair #1 { 0x19, 0x03 }, // (Offset,Value)-Pair #2 @@ -428,21 +313,12 @@ SOOVPA<12> IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG = { 0x59, 0xC1 }, // (Offset,Value)-Pair #10 { 0x5A, 0xE6 }, // (Offset,Value)-Pair #11 { 0x5B, 0x05 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetTextureState_BorderColor // ****************************************************************** -SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG = -{ - 0, // Large == 0 - 15, // Count == 15 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG, 15) // IDirect3DDevice8_SetTextureState_BorderColor+0x0C : jb +0x0E { 0x0C, 0x72 }, // (Offset,Value)-Pair #1 { 0x0D, 0x0E }, // (Offset,Value)-Pair #2 @@ -465,21 +341,16 @@ SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG = // IDirect3DDevice8_SetTextureState_BorderColor+0x43 : retn 0x08 { 0x43, 0xC2 }, // (Offset,Value)-Pair #14 { 0x44, 0x08 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_CullMode // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG, 13, - XREF_DXSRSCULLMODE, // XRef Is Saved - 0, // XRef Not Used + XREF_DXSRSCULLMODE, + XRefZero) - { // IDirect3DDevice8_SetRenderState_CullMode+0x23 : mov dword ptr [eax], 0x40308 { 0x23, 0xC7 }, // (Offset,Value)-Pair #1 { 0x25, 0x08 }, // (Offset,Value)-Pair #2 @@ -500,21 +371,12 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG = { 0x5E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x5F, 0x04 }, // (Offset,Value)-Pair #12 { 0x60, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_TextureFactor // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG = -{ - 0, // Large == 0 - 7, // Count == 7 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG, 7) { 0x09, 0x84 }, { 0x14, 0x46 }, { 0x28, 0x24 }, @@ -522,21 +384,12 @@ SOOVPA<7> IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG = { 0x3D, 0x4A }, { 0x48, 0x5E }, { 0x55, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_NormalizeNormals // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG, 8) // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -550,21 +403,12 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG = // IDirect3DDevice8_SetRenderState_NormalizeNormals+0x3F : retn 0x04 { 0x3F, 0xC2 }, // (Offset,Value)-Pair #7 { 0x40, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ZEnable // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG, 8) { 0x0C, 0x72 }, { 0x2B, 0xC9 }, { 0x3D, 0x89 }, @@ -573,20 +417,12 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG = { 0x74, 0x8B }, { 0x8A, 0x8B }, { 0x97, 0x06 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_StencilEnable // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG, 8) { 0x12, 0x8B }, { 0x2D, 0x33 }, { 0x40, 0x74 }, @@ -595,21 +431,12 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG = { 0x79, 0xB9 }, { 0x92, 0x33 }, { 0x9F, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -//SOOVPA<7> IDirect3DDevice8_Swap_1_0_5849_LTCG = -//{ -// 0, // Large == 0 -// 7, // Count == 7 -// -// XRefNotSaved, -// XRefNotUsed, -// -// { +//OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_5849_LTCG, 7) // { 0x1B, 0xE8 }, // { 0x38, 0xC3 }, // { 0x55, 0xC0 }, @@ -617,22 +444,13 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG = // { 0x93, 0x85 }, // { 0xAA, 0xC6 }, // { 0xC9, 0x0A }, -// } -//}; +//OOVPA_END; /* Same as 4627 // ****************************************************************** // * IDirect3DDevice8_SetVertexData2f // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_5849_LTCG = -{ - 0, // Large == 0 - 14, // Count == 14 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexData2f_1_0_5849_LTCG, 14) // IDirect3DDevice8_SetVertexData2f+0x20 : lea edx, ds:abs[ecx*8] { 0x20, 0x8D }, // (Offset,Value)-Pair #1 { 0x21, 0x14 }, // (Offset,Value)-Pair #2 @@ -654,22 +472,13 @@ SOOVPA<14> IDirect3DDevice8_SetVertexData2f_1_0_5849_LTCG = // IDirect3DDevice8_SetVertexData2f+0x3D : retn 0x0C { 0x3D, 0xC2 }, // (Offset,Value)-Pair #13 { 0x3E, 0x0C }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; */ // ****************************************************************** // * IDirect3DDevice8_End // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_End_1_0_5849_LTCG = -{ - 0, // Large == 0 - 7, // Count == 7 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_End_1_0_5849_LTCG, 7) { 0x07, 0x8B }, { 0x13, 0x50 }, { 0x1C, 0xC7 }, @@ -677,21 +486,12 @@ SOOVPA<7> IDirect3DDevice8_End_1_0_5849_LTCG = { 0x2B, 0x08 }, { 0x34, 0xE1 }, { 0x49, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FillMode // ****************************************************************** -SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG = -{ - 0, // Large == 0 - 11, // Count == 11 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG, 11) // IDirect3DDevice8_SetRenderState_FillMode+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -710,21 +510,12 @@ SOOVPA<11> IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG = { 0x3E, 0x83 }, // (Offset,Value)-Pair #9 { 0x3F, 0xC0 }, // (Offset,Value)-Pair #10 { 0x40, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_FogColor // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG, 10) // IDirect3DDevice8_SetRenderState_FogColor+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -742,21 +533,12 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG = // IDirect3DDevice8_SetRenderState_FogColor+0x49 : mov [esi], eax { 0x49, 0x89 }, // (Offset,Value)-Pair #9 { 0x4A, 0x06 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVerticesUP // ****************************************************************** -SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG, 8) { 0x1E, 0xA1 }, { 0x3E, 0x8B }, { 0x5E, 0x08 }, @@ -765,8 +547,7 @@ SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG = { 0xBE, 0x8D }, { 0xDE, 0x3B }, { 0xFE, 0x81 }, - } -}; +OOVPA_END; // Verteks 11/03/2009 // blueshogun96 7/17/2010 @@ -774,15 +555,7 @@ SOOVPA<8> IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG = // ****************************************************************** // * D3DVertexBuffer_Lock2 // ****************************************************************** -SOOVPA<10> IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG, 10) // D3DVertexBuffer_Lock2+0x05 : test bl, 0x10 { 0x05, 0xF6 }, { 0x06, 0xC3 }, @@ -796,22 +569,13 @@ SOOVPA<10> IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG = // D3DVertexBuffer_Lock2+0x85 : retn 8 { 0x85, 0xC2 }, { 0x86, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_YuvEnable // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG = -{ - 0, // Large == 0 - 13, // Count == 13 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG, 13) // IDirect3DDevice8_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, // (Offset,Value)-Pair #1 { 0x01, 0x44 }, // (Offset,Value)-Pair #2 @@ -834,21 +598,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG = // IDirect3DDevice8_SetRenderState_YuvEnable+0x30 : retn 0x04 { 0x30, 0xC2 }, // (Offset,Value)-Pair #12 { 0x31, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_ShadowFunc // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_ShadowFunc+0x00 : push esi { 0x00, 0x56 }, // (Offset,Value)-Pair #1 @@ -871,21 +627,13 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG = { 0x2F, 0x83 }, // (Offset,Value)-Pair #11 { 0x30, 0xC0 }, // (Offset,Value)-Pair #12 { 0x31, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_OcclusionCullEnable // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x15 : jb +0x0E { 0x15, 0x72 }, // (Offset,Value)-Pair #1 { 0x16, 0x0E }, // (Offset,Value)-Pair #2 @@ -905,21 +653,13 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG = // IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x68 : retn 0x04 { 0x68, 0xC2 }, // (Offset,Value)-Pair #11 { 0x69, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetRenderState_EdgeAntiAlias // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x07 : mov eax, [esi] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x06 }, // (Offset,Value)-Pair #2 @@ -937,8 +677,7 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG = // IDirect3DDevice8_SetRenderState_EdgeAntiAlias+0x38 : retn 0x04 { 0x38, 0xC2 }, // (Offset,Value)-Pair #9 { 0x39, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // I am not sure about this // ****************************************************************** @@ -947,15 +686,8 @@ SOOVPA<10> IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG = // * NOTE: We are actually intercepting Get2DSurfaceDesc, because // * GetLevelDesc Simply redirects to that function // ****************************************************************** -SOOVPA<9> Get2DSurfaceDesc_1_0_5849_LTCG = -{ - 0, // Large == 0 - 9, // Count == 10 +OOVPA_NO_XREF(Get2DSurfaceDesc_1_0_5849_LTCG, 9) - XRefNotSaved, - XRefNotUsed, - - { // Get2DSurfaceDesc+0x1E : movzx ecx, byte ptr [edi+0x0D] { 0x1E, 0x0F }, // (Offset,Value)-Pair #1 { 0x1F, 0xB6 }, // (Offset,Value)-Pair #2 @@ -970,21 +702,13 @@ SOOVPA<9> Get2DSurfaceDesc_1_0_5849_LTCG = // Get2DSurfaceDesc+0x9E : retn { 0x9E, 0xC3 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetShaderConstantMode // ****************************************************************** -SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x19, 0xFD }, { 0x38, 0x8B }, { 0x60, 0x0B }, @@ -993,8 +717,7 @@ SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG = { 0xB2, 0x00 }, { 0xDA, 0x89 }, { 0xF9, 0x00 }, - } -}; +OOVPA_END; /* I don't know which one of these is the right one : @@ -1004,15 +727,8 @@ I don't know which one of these is the right one : // ****************************************************************** // * IDirect3DDevice8_SetIndices // ****************************************************************** -SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_SetIndices_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0F, 0x10 }, { 0x20, 0xC7 }, { 0x31, 0xC0 }, @@ -1020,13 +736,12 @@ SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 = { 0x53, 0xBE }, { 0x64, 0x89 }, { 0x75, 0x10 }, - } -}; +OOVPA_END; */ /* Maybe this : 0x0034D730 (NOT THIS) It's : 0x0034CC00 (same as 3925) - + 0035FEE8 accessed by CreateDevice (must contain 0035DA40 ?) 0034D730 /$ A1 E8FE3500 mov eax, dword ptr ds:[35FEE8] 0034D735 |. 8B88 041A0000 mov ecx, dword ptr ds:[eax+1A04] <- Exception here @@ -1049,15 +764,7 @@ SOOVPA<7> IDirect3DDevice8_SetIndices_1_0_5849 = // ****************************************************************** // * IDirect3DResource8_AddRef // ****************************************************************** -SOOVPA<10> IDirect3DResource8_AddRef_1_0_5849_LTCG = -{ - 0, // Large == 0 - 10, // Count == 8 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DResource8_AddRef_1_0_5849_LTCG, 10) // IDirect3DResource8_AddRef+0x11 : test eax, 0xFFFF { 0x11, 0xA9 }, // (Offset,Value)-Pair #1 { 0x12, 0xFF }, // (Offset,Value)-Pair #2 @@ -1077,23 +784,15 @@ SOOVPA<10> IDirect3DResource8_AddRef_1_0_5849_LTCG = // IDirect3DResource8_AddRef+0x34 : mov eax, ecx { 0x33, 0x8B }, // (Offset,Value)-Pair #9 { 0x34, 0xC1 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; */ // 0x0034CC40 // ****************************************************************** // * IDirect3DResource8_Release // ****************************************************************** -SOOVPA<11> IDirect3DResource8_Release_1_0_5849_LTCG = -{ - 0, // Large == 0 - 11, // Count == 8 +OOVPA_NO_XREF(IDirect3DResource8_Release_1_0_5849_LTCG, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DResource8_Release+0x09 : and ecx, 0xFFFF { 0x09, 0x81 }, // (Offset,Value)-Pair #1 { 0x0A, 0xE1 }, // (Offset,Value)-Pair #2 @@ -1114,59 +813,43 @@ SOOVPA<11> IDirect3DResource8_Release_1_0_5849_LTCG = // IDirect3DResource8_Release+0x4A : retn 0x04 { 0x4A, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4B, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // Verteks 05/04/2009 // ****************************************************************** // * IDirect3DDevice8_SetTextureState_ColorKeyColor (Not sure) // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_5849_LTCG = -{ - 0, // Large == 0 - 10, // Count == 10 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_5849_LTCG, 10) + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x05 : cmp esi, 0x5C { 0x05, 0x83 }, { 0x06, 0xFE }, { 0x07, 0x5C }, - + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x29 : cmp esi, 0x88 { 0x29, 0x81 }, { 0x2A, 0xFE }, { 0x2B, 0x88 }, - + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x4A : retn 0x08 { 0x4A, 0xC2 }, { 0x4B, 0x08 }, - + // IDirect3DDevice8_SetTextureState_ColorKeyColor+0x5A : retn 0x08 { 0x5A, 0xC2 }, { 0x5B, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Unknown1_3 // ****************************************************************** -SOOVPA<13> IDirect3DDevice8_Unknown1_3_1_0_5849_LTCG = -{ - 0, // Large == 0 - 13, // Count == 13 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF(IDirect3DDevice8_Unknown1_3_1_0_5849_LTCG, 13) + // IDirect3DDevice8_Unknown1_3+0x04 : cmp eax, 0x0C { 0x04, 0x83 }, { 0x05, 0xF8 }, { 0x06, 0x0C }, - + // IDirect3DDevice8_Unknown1_3+0x48 : and ecx, 0xFFFFBFF1 { 0x48, 0x81 }, { 0x49, 0xE1 }, @@ -1174,29 +857,20 @@ SOOVPA<13> IDirect3DDevice8_Unknown1_3_1_0_5849_LTCG = { 0x4B, 0xBF }, { 0x4C, 0xFF }, { 0x4D, 0xFF }, - + // IDirect3DDevice8_Unknown1_3+0x69 : retn 0x0C { 0x69, 0xC2 }, { 0x6A, 0x0C }, - + // IDirect3DDevice8_Unknown1_3+0xD7 : retn 0x0C { 0xD7, 0xC2 }, { 0xD8, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Clear // ****************************************************************** -LOOVPA<9> IDirect3DDevice8_Clear_1_0_5849_LTCG = -{ - 1, // Large == 1 - 9, // Count == 9 - - XRefNotSaved, - XRefNotUsed, - - { +OOVPA_NO_XREF_LARGE(IDirect3DDevice8_Clear_1_0_5849_LTCG, 9) // IDirect3DDevice8_Clear+0x0000 : sub esp, 38h { 0x0000, 0x83 }, // (Offset,Value)-Pair #1 { 0x0001, 0xEC }, // (Offset,Value)-Pair #2 @@ -1211,21 +885,13 @@ LOOVPA<9> IDirect3DDevice8_Clear_1_0_5849_LTCG = // IDirect3DDevice8_Clear+0x03D1 : retn 0x18 { 0x03D1, 0xC2 }, // (Offset,Value)-Pair #8 { 0x03D2, 0x18 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_Swap // ****************************************************************** -SOOVPA<6> IDirect3DDevice8_Swap_1_0_5849_LTCG = -{ - 0, // Large == 0 - 6, // Count == 7 +OOVPA_NO_XREF(IDirect3DDevice8_Swap_1_0_5849_LTCG, 6) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_Swap+0x00 : push esi { 0x00, 0x56 }, // IDirect3DDevice8_Swap+0x32 : test ah, 0x40 @@ -1235,21 +901,13 @@ SOOVPA<6> IDirect3DDevice8_Swap_1_0_5849_LTCG = // IDirect3DDevice8_Swap+0xEA : retn 4 { 0xEA, 0xC2 }, { 0xEB, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_SetVertexShader // ****************************************************************** -SOOVPA<10> IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_SetVertexShader+0x27 : test al, 0x10 { 0x27, 0xA8 }, { 0x28, 0x10 }, @@ -1263,21 +921,13 @@ SOOVPA<10> IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG = { 0xCD, 0x83 }, { 0xCE, 0xC0 }, { 0xCF, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirect3DDevice8_DrawVertices // ****************************************************************** -SOOVPA<14> IDirect3DDevice8_DrawVertices_1_0_5849_LTCG = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(IDirect3DDevice8_DrawVertices_1_0_5849_LTCG, 14) - XRefNotSaved, - XRefNotUsed, - - { // IDirect3DDevice8_DrawVertices+0x2B : and ecx, 0x200 { 0x2B, 0x81 }, { 0x2C, 0xC1 }, @@ -1295,435 +945,98 @@ SOOVPA<14> IDirect3DDevice8_DrawVertices_1_0_5849_LTCG = // IDirect3DDevice8_DrawVertices+0xCC : retn 0xC { 0xCC, 0xC2 }, { 0xCD, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * D3D8LTCG_1_0_5849 // ****************************************************************** -OOVPATable D3D8LTCG_1_0_5849[] = -{ +OOVPATable D3D8LTCG_1_0_5849[] = { + // IDirect3D8::CreateDevice - { - (OOVPA*)&IDirect3D8_CreateDevice_1_0_5849_LTCG, - - XTL::EmuIDirect3D8_CreateDevice, - - #ifdef _DEBUG_TRACE - "EmuIDirect3D8_CreateDevice" - #endif - }, - // IDirect3DDevice8::SetPixelShader - { - (OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetPixelShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetPixelShader" - #endif - }, - // IDirect3DDevice8::CreateVertexShader - { - (OOVPA*)&IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_CreateVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexShader" - #endif - }, - // IDirect3DDevice8::DrawIndexedVertices - { - (OOVPA*)&IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_DrawIndexedVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawIndexedVertices" - #endif - }, - // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, - // IDirect3DDevice8::SetTexture - { - (OOVPA*)&IDirect3DDevice8_SetTexture_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetTexture, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTexture" - #endif - }, - // IDirect3DDevice8::SetViewport - { - (OOVPA*)&IDirect3DDevice8_SetViewport_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetViewport, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetViewport" - #endif - }, - // IDirect3DDevice8::SetLight - { - (OOVPA*)&IDirect3DDevice8_SetLight_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetLight, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetLight" - #endif - }, - // IDirect3DDevice8::SetTransform (* unchanged since 5558 *) - { - (OOVPA*)&IDirect3DDevice8_SetTransform_1_0_5558, - - XTL::EmuIDirect3DDevice8_SetTransform, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTransform" - #endif - }, - // IDirect3DDevice8::SetMaterial (* unchanged since 5849 *) - { - (OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetMaterial, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetMaterial" - #endif - }, - // IDirect3DDevice8::SetStreamSource - { - (OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetStreamSource, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetStreamSource" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant1 (* unchanged since 5849 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant1" - #endif - }, - // IDirect3DDevice8::CreateVertexBuffer2 (* unchanged since 5849 *) - { - (OOVPA*)&IDirect3DDevice8_CreateVertexBuffer2_1_0_5849, - - XTL::EmuIDirect3DDevice8_CreateVertexBuffer2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_CreateVertexBuffer2" - #endif - }, - // IDirect3DDevice8::SetTextureState_TexCoordIndex - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_TexCoordIndex" - #endif - }, - // IDirect3DDevice8::SetTextureState_BumpEnv - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BumpEnv" - #endif - }, - // IDirect3DDevice8::SetTextureState_BorderColor - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_BorderColor" - #endif - }, - // IDirect3DDevice8::SetRenderState_CullMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_CullMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_CullMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_TextureFactor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_TextureFactor" - #endif - }, - // IDirect3DDevice8::SetRenderState_NormalizeNormals - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_NormalizeNormals" - #endif - }, - // IDirect3DDevice8::SetRenderState_ZEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ZEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_StencilEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_StencilEnable" - #endif - }, - // IDirect3DDevice8::Swap - { - (OOVPA*)&IDirect3DDevice8_Swap_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_Swap, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Swap" - #endif - }, - // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexData2f_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexData2f, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexData2f" - #endif - }, - // IDirect3DDevice8::End - { - (OOVPA*)&IDirect3DDevice8_End_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_End, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_End" - #endif - }, - // IDirect3DDevice8::SetRenderState_FillMode - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_FillMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FillMode" - #endif - }, - // IDirect3DDevice8::SetRenderState_FogColor - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_FogColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_FogColor" - #endif - }, - // IDirect3DDevice8::DrawVertices - { - (OOVPA*)&IDirect3DDevice8_DrawVertices_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_DrawVertices, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVertices" - #endif - }, - // IDirect3DDevice8::DrawVerticesUP - { - (OOVPA*)&IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_DrawVerticesUP, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_DrawVerticesUP" - #endif - }, - // IDirect3DDevice8::SetVertexShaderConstant4 (* unchanged since 4627 *) - { - (OOVPA*)&IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, - - XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShaderConstant4" - #endif - }, - // IDirect3DVertexBuffer8::Lock2 - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG, - - XTL::EmuIDirect3DVertexBuffer8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock2" - #endif - }, - // IDirect3DDevice8::SetRenderState_YuvEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_YuvEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_ShadowFunc - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_ShadowFunc" - #endif - }, - // IDirect3DDevice8::SetRenderState_OcclusionCullEnable - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable" - #endif - }, - // IDirect3DDevice8::SetRenderState_EdgeAntiAlias - { - (OOVPA*)&IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias" - #endif - }, - // IDirect3DTexture8::GetLevelDesc - { - (OOVPA*)&Get2DSurfaceDesc_1_0_5849_LTCG, - - XTL::EmuGet2DSurfaceDesc, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DTexture8_GetLevelDesc" - #endif - }, - // IDirect3DDevice8::SetShaderConstantMode - { - (OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetShaderConstantMode, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetShaderConstantMode" - #endif - }, - // IDirect3DResource8::AddRef - { - (OOVPA*)&IDirect3DResource8_AddRef_1_0_3925, - - XTL::EmuIDirect3DResource8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_AddRef" - #endif - }, - // IDirect3DResource8::Release - { - (OOVPA*)&IDirect3DResource8_Release_1_0_5849_LTCG, - - XTL::EmuIDirect3DResource8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DResource8_Release" - #endif - }, - - // IDirect3DDevice8::SetTextureState_ColorKeyColor - { - (OOVPA*)&IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetTextureState_ColorKeyColor" - #endif - }, - // IDirect3DDevice8::Clear - { - (OOVPA*)&IDirect3DDevice8_Clear_1_0_5849_LTCG, - - XTL::EmuIDirect3DDevice8_Clear, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_Clear" - #endif - }, - // IDirect3DVertexBuffer8::Lock2 - { - (OOVPA*)&IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG, - - XTL::EmuIDirect3DVertexBuffer8_Lock2, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DVertexBuffer8_Lock2" - #endif - }, + OOVPA_TABLE_PATCH(IDirect3D8_CreateDevice_1_0_5849_LTCG, XTL::EmuIDirect3D8_CreateDevice), + // IDirect3DDevice8::SetPixelShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetPixelShader_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetPixelShader), + // IDirect3DDevice8::CreateVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexShader_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_CreateVertexShader), + // IDirect3DDevice8::DrawIndexedVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawIndexedVertices_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_DrawIndexedVertices), // IDirect3DDevice8::SetVertexShader - { - (OOVPA*)&IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG, + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetVertexShader), + // IDirect3DDevice8::SetTexture + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTexture_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetTexture), + // IDirect3DDevice8::SetViewport + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetViewport_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetViewport), + // IDirect3DDevice8::SetLight + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetLight_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetLight), + // IDirect3DDevice8::SetTransform (* unchanged since 5558 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTransform_1_0_5558, XTL::EmuIDirect3DDevice8_SetTransform), + // IDirect3DDevice8::SetMaterial (* unchanged since 5849 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetMaterial_1_0_5849, XTL::EmuIDirect3DDevice8_SetMaterial), + // IDirect3DDevice8::SetStreamSource + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetStreamSource_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetStreamSource), + // IDirect3DDevice8::SetVertexShaderConstant1 (* unchanged since 5849 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant1_1_0_5849, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant1), + // IDirect3DDevice8::CreateVertexBuffer2 (* unchanged since 5849 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_CreateVertexBuffer2_1_0_5849, XTL::EmuIDirect3DDevice8_CreateVertexBuffer2), + // IDirect3DDevice8::SetTextureState_TexCoordIndex + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex), + // IDirect3DDevice8::SetTextureState_BumpEnv + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BumpEnv_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv), + // IDirect3DDevice8::SetTextureState_BorderColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_BorderColor_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetTextureState_BorderColor), + // IDirect3DDevice8::SetRenderState_CullMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_CullMode_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_CullMode), + // IDirect3DDevice8::SetRenderState_TextureFactor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_TextureFactor_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_TextureFactor), + // IDirect3DDevice8::SetRenderState_NormalizeNormals + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_NormalizeNormals), + // IDirect3DDevice8::SetRenderState_ZEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ZEnable_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_ZEnable), + // IDirect3DDevice8::SetRenderState_StencilEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_StencilEnable_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable), + // IDirect3DDevice8::Swap + OOVPA_TABLE_PATCH(IDirect3DDevice8_Swap_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_Swap), + // IDirect3DDevice8::SetVertexData2f (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexData2f_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexData2f), + // IDirect3DDevice8::End + OOVPA_TABLE_PATCH(IDirect3DDevice8_End_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_End), + // IDirect3DDevice8::SetRenderState_FillMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FillMode_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_FillMode), + // IDirect3DDevice8::SetRenderState_FogColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_FogColor_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_FogColor), + // IDirect3DDevice8::DrawVertices + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVertices_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_DrawVertices), + // IDirect3DDevice8::DrawVerticesUP + OOVPA_TABLE_PATCH(IDirect3DDevice8_DrawVerticesUP_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_DrawVerticesUP), + // IDirect3DDevice8::SetVertexShaderConstant4 (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShaderConstant4_1_0_4627, XTL::EmuIDirect3DDevice8_SetVertexShaderConstant4), + // IDirect3DVertexBuffer8::Lock2 + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG, XTL::EmuIDirect3DVertexBuffer8_Lock2), + // IDirect3DDevice8::SetRenderState_YuvEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_YuvEnable_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_YuvEnable), + // IDirect3DDevice8::SetRenderState_ShadowFunc + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_ShadowFunc), + // IDirect3DDevice8::SetRenderState_OcclusionCullEnable + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable), + // IDirect3DDevice8::SetRenderState_EdgeAntiAlias + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetRenderState_EdgeAntiAlias_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetRenderState_EdgeAntiAlias), + // IDirect3DTexture8::GetLevelDesc + OOVPA_TABLE_PATCH(Get2DSurfaceDesc_1_0_5849_LTCG, XTL::EmuGet2DSurfaceDesc), + // IDirect3DDevice8::SetShaderConstantMode + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetShaderConstantMode_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetShaderConstantMode), + // IDirect3DResource8::AddRef + OOVPA_TABLE_PATCH(IDirect3DResource8_AddRef_1_0_3925, XTL::EmuIDirect3DResource8_AddRef), + // IDirect3DResource8::Release + OOVPA_TABLE_PATCH(IDirect3DResource8_Release_1_0_5849_LTCG, XTL::EmuIDirect3DResource8_Release), - XTL::EmuIDirect3DDevice8_SetVertexShader, - - #ifdef _DEBUG_TRACE - "EmuIDirect3DDevice8_SetVertexShader" - #endif - }, + // IDirect3DDevice8::SetTextureState_ColorKeyColor + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetTextureState_ColorKeyColor_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetTextureState_ColorKeyColor), + // IDirect3DDevice8::Clear + OOVPA_TABLE_PATCH(IDirect3DDevice8_Clear_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_Clear), + // IDirect3DVertexBuffer8::Lock2 + OOVPA_TABLE_PATCH(IDirect3DVertexBuffer8_Lock2_1_0_5849_LTCG, XTL::EmuIDirect3DVertexBuffer8_Lock2), + // IDirect3DDevice8::SetVertexShader + OOVPA_TABLE_PATCH(IDirect3DDevice8_SetVertexShader_1_0_5849_LTCG, XTL::EmuIDirect3DDevice8_SetVertexShader), }; uint32 D3D8LTCG_1_0_5849_SIZE = sizeof(D3D8LTCG_1_0_5849); \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 2997c55c1..cbcf016d1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * DirectSoundCreate // ****************************************************************** -SOOVPA<9> DirectSoundCreate_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(DirectSoundCreate_1_0_3936, 9) - XRefNotSaved, - XRefNotUsed, - - { // DirectSoundCreate+0x23 : add eax, 8 { 0x23, 0x83 }, // (Offset,Value)-Pair #1 { 0x24, 0xC0 }, // (Offset,Value)-Pair #2 @@ -60,21 +53,16 @@ SOOVPA<9> DirectSoundCreate_1_0_3936 = // DirectSoundCreate+0x9B : retn 0x0C { 0x9B, 0xC2 }, // (Offset,Value)-Pair #8 { 0x9C, 0x0C }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundDoWorkB // ****************************************************************** -SOOVPA<12> DirectSoundDoWorkB_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(DirectSoundDoWorkB_1_0_3936, 12, - XREF_DSDOWORKB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSDOWORKB, + XRefZero) - { // DirectSoundDoWorkB+0x06 : lea edi, [ebx+0x664] { 0x06, 0x8D }, // (Offset,Value)-Pair #1 { 0x07, 0xBB }, // (Offset,Value)-Pair #2 @@ -92,21 +80,16 @@ SOOVPA<12> DirectSoundDoWorkB_1_0_3936 = { 0x34, 0xC7 }, // (Offset,Value)-Pair #10 { 0x35, 0x04 }, // (Offset,Value)-Pair #11 { 0x36, 0x4D }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundDoWorkA // ****************************************************************** -SOOVPA<9> DirectSoundDoWorkA_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSoundDoWorkA_1_0_3936, 9, - XREF_DSDOWORKA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSDOWORKA, + XRefOne) - { // DirectSoundDoWorkA+0x10 : call [DirectSoundDoWorkB] { 0x10, XREF_DSDOWORKB }, // (Offset,Value)-Pair #1 @@ -123,21 +106,16 @@ SOOVPA<9> DirectSoundDoWorkA_1_0_3936 = // DirectSoundDoWorkA+0x24 : retn 0x04 { 0x24, 0xC2 }, // (Offset,Value)-Pair #8 { 0x25, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundDoWork // ****************************************************************** -SOOVPA<9> DirectSoundDoWork_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSoundDoWork_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // DirectSoundDoWork+0x13 : call [XREF_DSDOWORKA] { 0x13, XREF_DSDOWORKA }, // (Offset,Value)-Pair #1 @@ -154,21 +132,16 @@ SOOVPA<9> DirectSoundDoWork_1_0_3936 = // DirectSoundDoWork+0x27 : retn { 0x27, 0xC3 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CreateSoundStream // ****************************************************************** -SOOVPA<16> CDirectSound_CreateSoundStream_1_0_3936 = -{ - 0, // Large == 0 - 16, // Count == 16 +OOVPA_XREF(CDirectSound_CreateSoundStream_1_0_3936, 16, - XREF_DSCREATESOUNDSTREAM, // XRef Is Saved - 0, // XRef Not Used + XREF_DSCREATESOUNDSTREAM, + XRefZero) - { // CDirectSound_CreateSoundStream+0x2D : and esi, 0x7FF8FFF2 { 0x2D, 0x81 }, // (Offset,Value)-Pair #1 { 0x2E, 0xE6 }, // (Offset,Value)-Pair #2 @@ -192,23 +165,18 @@ SOOVPA<16> CDirectSound_CreateSoundStream_1_0_3936 = // CDirectSound_CreateSoundStream+0x72 : retn 0x10 { 0x72, 0xC2 }, // (Offset,Value)-Pair #15 { 0x73, 0x10 }, // (Offset,Value)-Pair #16 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_CreateStream // ****************************************************************** -SOOVPA<10> IDirectSound8_CreateStream_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSound8_CreateStream_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) // TODO: tidy up the xref names (are probably not accurate) - { // IDirectSound8_CreateStream+0x1D : call [CDirectSound::CreateSoundStream] { 0x1D, XREF_DSCREATESOUNDSTREAM }, // (Offset,Value)-Pair #1 @@ -226,21 +194,16 @@ SOOVPA<10> IDirectSound8_CreateStream_1_0_3936 = // IDirectSound8_CreateStream+0x21 : retn 0x10 { 0x21, 0xC2 }, // (Offset,Value)-Pair #9 { 0x22, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CreateSoundBuffer // ****************************************************************** -SOOVPA<16> CDirectSound_CreateSoundBuffer_1_0_3936 = -{ - 0, // Large == 0 - 16, // Count == 16 +OOVPA_XREF(CDirectSound_CreateSoundBuffer_1_0_3936, 16, - XREF_DSCREATESOUNDBUFFER, // XRef Is Saved - 0, // XRef Not Used + XREF_DSCREATESOUNDBUFFER, + XRefZero) - { // CDirectSound_CreateSoundBuffer+0x2D : and esi, 0x7FF8FFF2 { 0x2D, 0x81 }, // (Offset,Value)-Pair #1 { 0x2E, 0xE6 }, // (Offset,Value)-Pair #2 @@ -264,23 +227,18 @@ SOOVPA<16> CDirectSound_CreateSoundBuffer_1_0_3936 = // CDirectSound_CreateSoundBuffer+0x7D : retn 0x10 { 0x7D, 0xC2 }, // (Offset,Value)-Pair #15 { 0x7E, 0x10 }, // (Offset,Value)-Pair #16 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_CreateBuffer // ****************************************************************** -SOOVPA<10> IDirectSound8_CreateBuffer_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSound8_CreateBuffer_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) // TODO: tidy up the xref names (are probably not accurate) - { // IDirectSound8_CreateBuffer+0x1D : call [CDirectSound::CreateSoundStream] { 0x1D, XREF_DSCREATESOUNDBUFFER }, // (Offset,Value)-Pair #1 @@ -298,21 +256,13 @@ SOOVPA<10> IDirectSound8_CreateBuffer_1_0_3936 = // IDirectSound8_CreateBuffer+0x21 : retn 0x10 { 0x21, 0xC2 }, // (Offset,Value)-Pair #9 { 0x22, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_Release // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_Release_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirectSoundBuffer8_Release_1_0_3936, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSoundBuffer8_Release+0x04 : lea ecx, [eax-0x1C] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x48 }, // (Offset,Value)-Pair #2 @@ -328,21 +278,15 @@ SOOVPA<10> IDirectSoundBuffer8_Release_1_0_3936 = { 0x10, 0xFF }, // (Offset,Value)-Pair #8 { 0x11, 0x51 }, // (Offset,Value)-Pair #9 { 0x12, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPitchB // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer8_SetPitchB_1_0_3936 = -{ - 0, // Large == 0 - 11,// Count == 11 +OOVPA_XREF(IDirectSoundBuffer8_SetPitchB_1_0_3936, 11, - XREF_DSBUFFERSETPITCHB,// XRef Is Saved - 0, // XRef Not Used - - { + XREF_DSBUFFERSETPITCHB, + XRefZero) // IDirectSoundBuffer8_SetPitchB+0x21 : lea edi, [esi+0xB4] { 0x21, 0x8D }, // (Offset,Value)-Pair #1 { 0x22, 0xBE }, // (Offset,Value)-Pair #2 @@ -359,21 +303,16 @@ SOOVPA<11> IDirectSoundBuffer8_SetPitchB_1_0_3936 = { 0x5E, 0x48 }, // (Offset,Value)-Pair #9 { 0x5F, 0xD1 }, // (Offset,Value)-Pair #10 { 0x60, 0xF8 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPitchA // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetPitchA_1_0_3936 = -{ - 0, // Large == 0 - 12,// Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_SetPitchA_1_0_3936, 12, - XREF_DSBUFFERSETPITCHA,// XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETPITCHA, + XRefOne) - { // IDirectSoundBuffer8_SetPitchA+0x1B : call [IDirectSoundBuffer8_SetPitchB] { 0x1B, XREF_DSBUFFERSETPITCHB }, // (Offset,Value)-Pair #1 @@ -395,21 +334,16 @@ SOOVPA<12> IDirectSoundBuffer8_SetPitchA_1_0_3936 = // IDirectSoundBuffer8_SetPitchA+0x34 : retn 0x08 { 0x34, 0xC2 }, // (Offset,Value)-Pair #11 { 0x35, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPitch // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetPitch_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetPitch_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetPitch+0x15 : call [IDirectSoundBuffer8_SetPitchA] { 0x15, XREF_DSBUFFERSETPITCHA }, // (Offset,Value)-Pair #1 @@ -427,21 +361,16 @@ SOOVPA<10> IDirectSoundBuffer8_SetPitch_1_0_3936 = // IDirectSoundBuffer8_SetPitch+0x19 : retn 0x08 { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer::GetStatus // ****************************************************************** -SOOVPA<13> CMcpxBuffer_GetStatus_1_0_3936 = -{ - 0, // Large == 0 - 13,// Count == 13 +OOVPA_XREF(CMcpxBuffer_GetStatus_1_0_3936, 13, - XREF_DSBUFFERGETSTATUSB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERGETSTATUSB, + XRefZero) - { // CMcpxBuffer_GetStatus+0x10 : mov eax, [ebp+0x08] { 0x10, 0x8B }, // (Offset,Value)-Pair #1 { 0x11, 0x45 }, // (Offset,Value)-Pair #2 @@ -464,21 +393,16 @@ SOOVPA<13> CMcpxBuffer_GetStatus_1_0_3936 = // CMcpxBuffer_GetStatus+0x48 : retn 0x04 { 0x48, 0xC2 }, // (Offset,Value)-Pair #12 { 0x49, 0x04 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::GetStatus // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_GetStatus_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_GetStatus_1_0_3936, 10, - XREF_DSBUFFERGETSTATUSA, // XRef Not Saved - 1, // XRef Is Used + XREF_DSBUFFERGETSTATUSA, + XRefOne) - { // CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus] { 0x15, XREF_DSBUFFERGETSTATUSB }, // (Offset,Value)-Pair #1 @@ -496,21 +420,16 @@ SOOVPA<10> CDirectSoundBuffer_GetStatus_1_0_3936 = // CDirectSoundBuffer_GetStatus+0x2E : retn 0x08 { 0x2E, 0xC2 }, // (Offset,Value)-Pair #9 { 0x2F, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_GetStatus // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_GetStatus_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_GetStatus_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] { 0x15, XREF_DSBUFFERGETSTATUSA }, // (Offset,Value)-Pair #1 @@ -528,21 +447,16 @@ SOOVPA<10> IDirectSoundBuffer8_GetStatus_1_0_3936 = // IDirectSoundBuffer8_GetStatus+0x19 : retn 0x08 { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetVolumeB // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer8_SetVolumeB_1_0_3936 = -{ - 0, // Large == 0 - 11,// Count == 11 +OOVPA_XREF(IDirectSoundBuffer8_SetVolumeB_1_0_3936, 11, - XREF_DSBUFFERSETVOLUMEB,// XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERSETVOLUMEB, + XRefZero) - { // IDirectSoundBuffer8_SetVolumeB+0x26 : mov ecx, [esi+0xE0] { 0x26, 0x8B }, // (Offset,Value)-Pair #1 { 0x27, 0x8E }, // (Offset,Value)-Pair #2 @@ -559,21 +473,16 @@ SOOVPA<11> IDirectSoundBuffer8_SetVolumeB_1_0_3936 = { 0x35, 0x49 }, // (Offset,Value)-Pair #9 { 0x36, 0xD1 }, // (Offset,Value)-Pair #10 { 0x37, 0xF9 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetVolumeA // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetVolumeA_1_0_3936 = -{ - 0, // Large == 0 - 12,// Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_SetVolumeA_1_0_3936, 12, - XREF_DSBUFFERSETVOLUMEA,// XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETVOLUMEA, + XRefOne) - { // IDirectSoundBuffer8_SetVolumeA+0x1E : call [IDirectSoundBuffer8_SetVolumeB] { 0x1E, XREF_DSBUFFERSETVOLUMEB }, // (Offset,Value)-Pair #1 @@ -595,21 +504,16 @@ SOOVPA<12> IDirectSoundBuffer8_SetVolumeA_1_0_3936 = // IDirectSoundBuffer8_SetVolumeA+0x37 : retn 0x08 { 0x37, 0xC2 }, // (Offset,Value)-Pair #11 { 0x38, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetVolume // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetVolume_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetVolume_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetVolume+0x15 : call [IDirectSoundBuffer8_SetVolumeA] { 0x15, XREF_DSBUFFERSETVOLUMEA }, // (Offset,Value)-Pair #1 @@ -627,21 +531,16 @@ SOOVPA<10> IDirectSoundBuffer8_SetVolume_1_0_3936 = // IDirectSoundBuffer8_SetVolume+0x19 : retn 0x08 { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetCurrentPositionB // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer8_SetCurrentPositionB_1_0_3936 = -{ - 0, // Large == 0 - 11,// Count == 11 +OOVPA_XREF(IDirectSoundBuffer8_SetCurrentPositionB_1_0_3936, 11, - XREF_DSBUFFERSETCURRENTPOSITIONB,// XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERSETCURRENTPOSITIONB, + XRefZero) - { // IDirectSoundBuffer8_SetCurrentPositionB+0x25 : mov eax, [esi+0x148] { 0x25, 0x8B }, // (Offset,Value)-Pair #1 { 0x26, 0x86 }, // (Offset,Value)-Pair #2 @@ -658,21 +557,16 @@ SOOVPA<11> IDirectSoundBuffer8_SetCurrentPositionB_1_0_3936 = { 0x72, 0xB7 }, // (Offset,Value)-Pair #9 { 0x73, 0x40 }, // (Offset,Value)-Pair #10 { 0x74, 0x02 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetCurrentPositionA // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetCurrentPositionA_1_0_3936 = -{ - 0, // Large == 0 - 12,// Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_SetCurrentPositionA_1_0_3936, 12, - XREF_DSBUFFERSETCURRENTPOSITIONA,// XRef Is Saved - 1,// XRef Is Used + XREF_DSBUFFERSETCURRENTPOSITIONA, + XRefOne) - { // IDirectSoundBuffer8_SetCurrentPositionA+0x15 : call [IDirectSoundBuffer8_SetCurrentPositionB] { 0x15, XREF_DSBUFFERSETCURRENTPOSITIONB }, // (Offset,Value)-Pair #1 @@ -694,21 +588,16 @@ SOOVPA<12> IDirectSoundBuffer8_SetCurrentPositionA_1_0_3936 = // IDirectSoundBuffer8_SetCurrentPositionA+0x2E : retn 0x08 { 0x2E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2F, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetCurrentPosition // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetCurrentPosition_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetCurrentPosition_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetCurrentPosition+0x15 : call [IDirectSoundBuffer8_SetCurrentPositionA] { 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA }, // (Offset,Value)-Pair #1 @@ -726,21 +615,16 @@ SOOVPA<10> IDirectSoundBuffer8_SetCurrentPosition_1_0_3936 = // IDirectSoundBuffer8_SetCurrentPosition+0x19 : retn 0x08 { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPlayRegionA // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetPlayRegionA_1_0_3936 = -{ - 0, // Large == 0 - 10,// Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetPlayRegionA_1_0_3936, 10, - XREF_DSBUFFERSETPLAYREGIONA,// XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERSETPLAYREGIONA, + XRefZero) - { // IDirectSoundBuffer8_SetPlayRegionA+0x20 : cmp edx, [ecx+0x54] { 0x20, 0x3B }, // (Offset,Value)-Pair #1 { 0x21, 0x51 }, // (Offset,Value)-Pair #2 @@ -758,21 +642,16 @@ SOOVPA<10> IDirectSoundBuffer8_SetPlayRegionA_1_0_3936 = // IDirectSoundBuffer8_SetPlayRegionA+0x4A : retn 0x0C { 0x4A, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4B, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPlayRegion // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetPlayRegion_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetPlayRegion+0x19 : call [IDirectSoundBuffer8_SetPlayRegionA] { 0x19, XREF_DSBUFFERSETPLAYREGIONA }, // (Offset,Value)-Pair #1 @@ -790,21 +669,16 @@ SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_3936 = // IDirectSoundBuffer8_SetPlayRegion+0x1D : retn 0x0C { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_LockA // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_LockA_1_0_3936 = -{ - 0, // Large == 0 - 10,// Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_LockA_1_0_3936, 10, - XREF_DSBUFFERLOCKA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERLOCKA, + XRefZero) - { // IDirectSoundBuffer8_LockA+0x37 : mov eax, [eax+0x4C] { 0x37, 0x8B }, // (Offset,Value)-Pair #1 { 0x38, 0x40 }, // (Offset,Value)-Pair #2 @@ -820,21 +694,16 @@ SOOVPA<10> IDirectSoundBuffer8_LockA_1_0_3936 = { 0x85, 0x83 }, // (Offset,Value)-Pair #8 { 0x86, 0x22 }, // (Offset,Value)-Pair #9 { 0x87, 0x00 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_Lock // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_Lock_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_Lock_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_Lock+0x28 : call [IDirectSoundBuffer8_LockA] { 0x28, XREF_DSBUFFERLOCKA }, // (Offset,Value)-Pair #1 @@ -851,23 +720,18 @@ SOOVPA<9> IDirectSoundBuffer8_Lock_1_0_3936 = // IDirectSoundBuffer8_Lock+0x2D : retn 0x20 { 0x2D, 0xC2 }, // (Offset,Value)-Pair #8 { 0x2E, 0x20 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetHeadroomA // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetHeadroomA_1_0_3936 = -{ - 0, // Large == 0 - 12,// Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_SetHeadroomA_1_0_3936, 12, - XREF_DSBUFFERSETHEADROOMA,// XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETHEADROOMA, + XRefOne) // WARNING: I am unsure if this is SetHeadroom - { // IDirectSoundBuffer8_SetHeadroomA+0x23 : call [IDirectSoundBuffer8_SetVolumeB] { 0x23, XREF_DSBUFFERSETVOLUMEB }, // (Offset,Value)-Pair #1 @@ -889,21 +753,16 @@ SOOVPA<12> IDirectSoundBuffer8_SetHeadroomA_1_0_3936 = // IDirectSoundBuffer8_SetHeadroomA+0x3C : retn 0x08 { 0x3C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x3D, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetHeadroom // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetHeadroom_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetHeadroom_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetHeadroom+0x15 : call [IDirectSoundBuffer8_SetHeadroomA] { 0x15, XREF_DSBUFFERSETHEADROOMA }, // (Offset,Value)-Pair #1 @@ -921,21 +780,16 @@ SOOVPA<10> IDirectSoundBuffer8_SetHeadroom_1_0_3936 = // IDirectSoundBuffer8_SetHeadroom+0x19 : retn 0x08 { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetBufferDataA // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetBufferDataA_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetBufferDataA_1_0_3936, 9, - XREF_DSSETBUFFERDATA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETBUFFERDATA, + XRefZero) - { // IDirectSoundBuffer8_SetBufferDataA+0x22 : cmp ecx, [eax+0x4C] { 0x22, 0x3B }, // (Offset,Value)-Pair #1 { 0x23, 0x48 }, // (Offset,Value)-Pair #2 @@ -950,21 +804,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetBufferDataA_1_0_3936 = { 0x71, 0xC9 }, // (Offset,Value)-Pair #7 { 0x72, 0xC2 }, // (Offset,Value)-Pair #8 { 0x73, 0x0C }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetBufferData // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetBufferData_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetBufferData_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetBufferData+0x18 : call [IDirectSoundBuffer8_SetBufferDataA] { 0x19, XREF_DSSETBUFFERDATA }, // (Offset,Value)-Pair #1 @@ -982,21 +831,16 @@ SOOVPA<10> IDirectSoundBuffer8_SetBufferData_1_0_3936 = // IDirectSoundBuffer8_SetBufferData+0x1D : retn 0x0C { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient::SetMixBins // ****************************************************************** -SOOVPA<15> CMcpxVoiceClient_SetMixBins_1_0_3936 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_XREF(CMcpxVoiceClient_SetMixBins_1_0_3936, 15, - XREF_DSSETMIXBINSB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETMIXBINSB, + XRefZero) - { // CMcpxVoiceClient_SetMixBins+0x1C : lea eax, [esi+0x84] { 0x1D, 0x86 }, // (Offset,Value)-Pair #1 { 0x1E, 0x84 }, // (Offset,Value)-Pair #2 @@ -1023,21 +867,16 @@ SOOVPA<15> CMcpxVoiceClient_SetMixBins_1_0_3936 = // CMcpxVoiceClient_SetMixBins+0xD6 : retn { 0xD6, 0xC3 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMixBins // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetMixBins_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetMixBins_1_0_3936, 9, - XREF_DSSETMIXBINSA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETMIXBINSA, + XRefOne) - { // CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins] { 0x29, XREF_DSSETMIXBINSB }, // (Offset,Value)-Pair #1 @@ -1054,21 +893,16 @@ SOOVPA<9> CDirectSoundVoice_SetMixBins_1_0_3936 = // CDirectSoundVoice_SetMixBins+0x55 : retn 0x08 { 0x55, 0xC2 }, // (Offset,Value)-Pair #8 { 0x56, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetMixBins // ****************************************************************** -SOOVPA<10> IDirectSoundStream_SetMixBins_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundStream_SetMixBins_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice::SetMixBins] { 0x0D, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1 @@ -1086,21 +920,16 @@ SOOVPA<10> IDirectSoundStream_SetMixBins_1_0_3936 = // IDirectSoundStream_SetMixBins+0x11 : retn 0x08 { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 { 0x12, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetMixBins // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetMixBins_1_0_3936, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] { 0x15, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1 @@ -1116,21 +945,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_3936 = // IDirectSoundBuffer8_SetMixBins+0x11 : and ecx, eax { 0x11, 0x23 }, // (Offset,Value)-Pair #7 { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** -SOOVPA<11> CMcpxBuffer_GetCurrentPosition_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_GetCurrentPosition_1_0_3936, 11, - XREF_GETCURRENTPOSITION, // XRef Is Saved - 0, // XRef Not Used + XREF_GETCURRENTPOSITION, + XRefZero) - { // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+8] { 0x12, 0x8B }, // (Offset,Value)-Pair #1 { 0x13, 0x46 }, // (Offset,Value)-Pair #2 @@ -1149,21 +973,16 @@ SOOVPA<11> CMcpxBuffer_GetCurrentPosition_1_0_3936 = { 0xC8, 0xC2 }, // (Offset,Value)-Pair #9 { 0xC9, 0x08 }, // (Offset,Value)-Pair #10 { 0xCA, 0x00 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** -SOOVPA<11> CMcpxBuffer_GetCurrentPosition2_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_GetCurrentPosition2_1_0_3936, 11, - XREF_GETCURRENTPOSITION, // XRef Is Saved - 0, // XRef Not Used + XREF_GETCURRENTPOSITION, + XRefZero) - { // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+0x18] { 0x12, 0x8B }, // (Offset,Value)-Pair #1 { 0x13, 0x46 }, // (Offset,Value)-Pair #2 @@ -1182,21 +1001,16 @@ SOOVPA<11> CMcpxBuffer_GetCurrentPosition2_1_0_3936 = { 0xC8, 0xC2 }, // (Offset,Value)-Pair #9 { 0xC9, 0x08 }, // (Offset,Value)-Pair #10 { 0xCA, 0x00 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_GetCurrentPosition // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_GetCurrentPosition_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition_1_0_3936, 9, - XREF_GETCURRENTPOSITION2, // XRef Is Saved - 1, // XRef Is Used + XREF_GETCURRENTPOSITION2, + XRefOne) - { // CDirectSoundBuffer_GetCurrentPosition+0x19 : call [CMcpxBuffer::GetCurrentPosition] { 0x19, XREF_GETCURRENTPOSITION }, // (Offset,Value)-Pair #1 @@ -1213,21 +1027,16 @@ SOOVPA<10> CDirectSoundBuffer_GetCurrentPosition_1_0_3936 = // CDirectSoundBuffer_GetCurrentPosition+0x32 : retn 0x0C { 0x32, 0xC2 }, // (Offset,Value)-Pair #8 { 0x33, 0x0C }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_GetCurrentPosition // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_GetCurrentPosition_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_GetCurrentPosition+0x19 : call [CDirectSoundBuffer::GetCurrentPosition] { 0x19, XREF_GETCURRENTPOSITION2 }, // (Offset,Value)-Pair #1 @@ -1243,21 +1052,16 @@ SOOVPA<8> IDirectSoundBuffer8_GetCurrentPosition_1_0_3936 = // IDirectSoundBuffer8_GetCurrentPosition+0x15 : and ecx, eax { 0x15, 0x23 }, // (Offset,Value)-Pair #7 { 0x16, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::Play // ****************************************************************** -SOOVPA<7> CDirectSoundBuffer_Play_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundBuffer_Play_1_0_3936, 7, - XREF_DSOUNDPLAY, // Xref Is Saved - XRefNotUsed, + XREF_DSOUNDPLAY, + XRefZero) - { { 0x07, 0xFF }, { 0x0C, 0xF0 }, { 0x13, 0x24 }, @@ -1265,21 +1069,16 @@ SOOVPA<7> CDirectSoundBuffer_Play_1_0_3936 = { 0x25, 0xFF }, { 0x2B, 0x8B }, { 0x2F, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_Play // ****************************************************************** -SOOVPA<16> IDirectSoundBuffer8_Play_1_0_3936 = -{ - 0, // Large == 0 - 16, // Count == 15 +OOVPA_XREF(IDirectSoundBuffer8_Play_1_0_3936, 16, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_Play+0x1D : call CDirectSoundBuffer::Play { 0x1D, XREF_DSOUNDPLAY }, @@ -1307,21 +1106,16 @@ SOOVPA<16> IDirectSoundBuffer8_Play_1_0_3936 = // IDirectSoundBuffer8_Play+0x21 : retn 0x10 { 0x21, 0xC2 }, // (Offset,Value)-Pair #14 { 0x22, 0x10 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_Play2 // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_Play2_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_Play2_1_0_3936, 12, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_Play+0x1D : call CDirectSoundBuffer::Play { 0x1D, XREF_DSOUNDPLAY }, @@ -1343,21 +1137,16 @@ SOOVPA<12> IDirectSoundBuffer8_Play2_1_0_3936 = // IDirectSoundBuffer8_Play+0x21 : retn 0x10 { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x10 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** -SOOVPA<12> CDirectSoundBuffer_Stop_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundBuffer_Stop_1_0_3936, 12, - XREF_DSOUNDSTOP, // XRef Is Saved - 0, // XRef Not Used + XREF_DSOUNDSTOP, + XRefZero) - { // CDirectSoundBuffer_Stop+0x07 : mov eax, 0x80004005 { 0x07, 0x6A }, // (Offset,Value)-Pair #1 { 0x08, 0x00 }, // (Offset,Value)-Pair #2 @@ -1375,21 +1164,16 @@ SOOVPA<12> CDirectSoundBuffer_Stop_1_0_3936 = // CDirectSoundBuffer_Stop+0x2D : retn 0x04 { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_Stop // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_Stop_1_0_3936, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_Stop+0x11 : call [CDirectSoundBuffer::Stop] { 0x11, XREF_DSOUNDSTOP }, // (Offset,Value)-Pair #1 @@ -1405,23 +1189,18 @@ SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_3936 = // IDirectSoundBuffer8_Stop+0x0D : and ecx, eax { 0x0D, 0x23 }, // (Offset,Value)-Pair #7 { 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** -SOOVPA<10> CMcpxVoiceClient_SetVolume_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CMcpxVoiceClient_SetVolume_1_0_3936, 10, - XREF_DSSTREAMSETVOLUME, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETVOLUME, + XRefZero) // TODO: re-use for IDirectSoundBuffer_SetVolume! - { // CMcpxVoiceClient_SetVolume+0x14 : sub edx, [eax+0x1C] { 0x14, 0x2B }, // (Offset,Value)-Pair #1 { 0x15, 0x50 }, // (Offset,Value)-Pair #2 @@ -1439,21 +1218,16 @@ SOOVPA<10> CMcpxVoiceClient_SetVolume_1_0_3936 = // CMcpxVoiceClient_SetVolume+0x37 : retn 0x08 { 0x37, 0xC2 }, // (Offset,Value)-Pair #9 { 0x38, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetVolume // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetVolume_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundStream_SetVolume_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetVolume+0x0D : call [IDirectSoundStream::SetVolume] { 0x0D, XREF_DSSTREAMSETVOLUME }, // (Offset,Value)-Pair #1 @@ -1471,23 +1245,18 @@ SOOVPA<10> CDirectSoundStream_SetVolume_1_0_3936 = // CDirectSoundStream_SetVolume+0x11 : retn 0x08 { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 { 0x12, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetAllParametersB // ****************************************************************** -SOOVPA<11> CDirectSoundStream_SetAllParametersB_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundStream_SetAllParametersB_1_0_3936, 11, - XREF_DSSTREAMSETALLPARAMETERS1B, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETALLPARAMETERS1B, + XRefZero) // TODO: re-use for CDirectSoundBuffer_SetAllParametersB!? - { // CDirectSoundStream_SetAllParametersB+0x10 : or byte ptr [eax+0x80], 0x80 { 0x10, 0x80 }, // (Offset,Value)-Pair #1 { 0x11, 0x88 }, // (Offset,Value)-Pair #2 @@ -1504,23 +1273,18 @@ SOOVPA<11> CDirectSoundStream_SetAllParametersB_1_0_3936 = // CDirectSoundStream_SetAllParametersB+0x2B : retn 0x08 { 0x2B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x2C, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetAllParametersA // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetAllParametersA_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetAllParametersA_1_0_3936, 12, - XREF_DSSTREAMSETALLPARAMETERS1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETALLPARAMETERS1A, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetAllParametersA!? - { // CDirectSoundStream_SetAllParametersA+0x25 : call [IDirectSoundStream::SetAllParametersB] { 0x1F, XREF_DSSTREAMSETALLPARAMETERS1B }, // (Offset,Value)-Pair #1 @@ -1540,21 +1304,16 @@ SOOVPA<12> CDirectSoundStream_SetAllParametersA_1_0_3936 = // CDirectSoundStream_SetAllParametersA+0x38 : retn 0x0C { 0x38, 0xC2 }, // (Offset,Value)-Pair #11 { 0x39, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetAllParameters // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetAllParameters_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundStream_SetAllParameters_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetAllParameters+0x11 : call [IDirectSoundStream::SetAllParametersA] { 0x11, XREF_DSSTREAMSETALLPARAMETERS1A }, // (Offset,Value)-Pair #1 @@ -1572,23 +1331,18 @@ SOOVPA<10> CDirectSoundStream_SetAllParameters_1_0_3936 = // CDirectSoundStream_SetAllParameters+0x15 : retn 0x0C { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 { 0x16, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeAnglesB // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetConeAnglesB_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetConeAnglesB_1_0_3936, 12, - XREF_DSSTREAMSETCONEANGLES1B, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETCONEANGLES1B, + XRefZero) // TODO: re-use for CDirectSoundBuffer_SetConeAnglesB!? - { // CDirectSoundStream_SetConeAnglesB+0x04 : or dword ptr [eax+0x80], 0x10 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x89 }, // (Offset,Value)-Pair #2 @@ -1606,23 +1360,18 @@ SOOVPA<12> CDirectSoundStream_SetConeAnglesB_1_0_3936 = // CDirectSoundStream_SetConeAnglesB+0x25 : retn 0x0C { 0x25, 0xC2 }, // (Offset,Value)-Pair #11 { 0x26, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeAnglesA // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetConeAnglesA_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetConeAnglesA_1_0_3936, 12, - XREF_DSSTREAMSETCONEANGLES1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETCONEANGLES1A, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetConeAnglesA!? - { // CDirectSoundStream_SetConeAnglesA+0x23 : call [IDirectSoundStream::SetConeAnglesB] { 0x23, XREF_DSSTREAMSETCONEANGLES1B }, // (Offset,Value)-Pair #1 @@ -1642,21 +1391,16 @@ SOOVPA<12> CDirectSoundStream_SetConeAnglesA_1_0_3936 = // CDirectSoundStream_SetConeAnglesA+0x3C : retn 0x10 { 0x3C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x3D, 0x10 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeAngles // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetConeAngles_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundStream_SetConeAngles_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetConeAngles+0x15 : call [IDirectSoundStream::SetConeAnglesA] { 0x15, XREF_DSSTREAMSETCONEANGLES1A }, // (Offset,Value)-Pair #1 @@ -1674,23 +1418,18 @@ SOOVPA<10> CDirectSoundStream_SetConeAngles_1_0_3936 = // CDirectSoundStream_SetConeAngles+0x19 : retn 0x10 { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeOutsideVolumeB // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetConeOutsideVolumeB_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolumeB_1_0_3936, 12, - XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B, + XRefZero) // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeB!? - { // CDirectSoundStream_SetConeOutsideVolumeB+0x04 : or dword ptr [eax+0x80], 0x10 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x89 }, // (Offset,Value)-Pair #2 @@ -1708,23 +1447,18 @@ SOOVPA<12> CDirectSoundStream_SetConeOutsideVolumeB_1_0_3936 = // CDirectSoundStream_SetConeOutsideVolumeB+0x1E : retn 0x08 { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeOutsideVolumeA // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetConeOutsideVolumeA_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolumeA_1_0_3936, 12, - XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeA!? - { // CDirectSoundStream_SetConeOutsideVolumeA+0x1F : call [IDirectSoundStream::SetConeOutsideVolumeB] { 0x1F, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B }, // (Offset,Value)-Pair #1 @@ -1744,21 +1478,16 @@ SOOVPA<12> CDirectSoundStream_SetConeOutsideVolumeA_1_0_3936 = // CDirectSoundStream_SetConeOutsideVolumeA+0x38 : retn 0x0C { 0x38, 0xC2 }, // (Offset,Value)-Pair #11 { 0x39, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeOutsideVolume // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetConeOutsideVolume_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [IDirectSoundStream::SetConeOutsideVolumeA] { 0x11, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A }, // (Offset,Value)-Pair #1 @@ -1776,23 +1505,18 @@ SOOVPA<10> CDirectSoundStream_SetConeOutsideVolume_1_0_3936 = // CDirectSoundStream_SetConeOutsideVolume+0x15 : retn 0x0C { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 { 0x16, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMaxDistanceC // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetMaxDistanceC_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetMaxDistanceC_1_0_3936, 12, - XREF_DSSTREAMSETMAXDISTANCE1C, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETMAXDISTANCE1C, + XRefZero) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceC!? - { // CDirectSoundStream_SetMaxDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x89 }, // (Offset,Value)-Pair #2 @@ -1810,23 +1534,18 @@ SOOVPA<12> CDirectSoundStream_SetMaxDistanceC_1_0_3936 = // CDirectSoundStream_SetMaxDistanceC+0x1E : retn 0x08 { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMaxDistanceB // ****************************************************************** -SOOVPA<15> CDirectSoundStream_SetMaxDistanceB_1_0_3936 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_XREF(CDirectSoundStream_SetMaxDistanceB_1_0_3936, 15, - XREF_DSSTREAMSETMAXDISTANCE1B, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETMAXDISTANCE1B, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceB!? - { // CDirectSoundStream_SetMaxDistanceB+0x23 : call [IDirectSoundStream::SetMaxDistanceC] { 0x23, XREF_DSSTREAMSETMAXDISTANCE1C }, // (Offset,Value)-Pair #1 @@ -1853,23 +1572,18 @@ SOOVPA<15> CDirectSoundStream_SetMaxDistanceB_1_0_3936 = // CDirectSoundStream_SetMaxDistanceB+0x3C : retn 0x0C { 0x3C, 0xC2 }, // (Offset,Value)-Pair #14 { 0x3D, 0x0C }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMaxDistanceA // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetMaxDistanceA_1_0_3936 = -{ - 0, // Large == 0 - 10,// Count == 10 +OOVPA_XREF(CDirectSoundStream_SetMaxDistanceA_1_0_3936, 10, - XREF_DSSTREAMSETMAXDISTANCE1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETMAXDISTANCE1A, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceA!? - { // CDirectSoundStream_SetMaxDistanceA+0x15 : call [IDirectSoundStream::SetMaxDistanceB] { 0x15, XREF_DSSTREAMSETMAXDISTANCE1B }, // (Offset,Value)-Pair #1 @@ -1887,21 +1601,16 @@ SOOVPA<10> CDirectSoundStream_SetMaxDistanceA_1_0_3936 = // CDirectSoundStream_SetMaxDistanceA+0x19 : retn 0x0C { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMaxDistance // ****************************************************************** -SOOVPA<11> CDirectSoundStream_SetMaxDistance_1_0_3936 = -{ - 0, // Large == 0 - 11,// Count == 11 +OOVPA_XREF(CDirectSoundStream_SetMaxDistance_1_0_3936, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetMaxDistance+0x11 : call [IDirectSoundStream::SetMaxDistanceA] { 0x11, XREF_DSSTREAMSETMAXDISTANCE1A }, // (Offset,Value)-Pair #1 @@ -1920,23 +1629,18 @@ SOOVPA<11> CDirectSoundStream_SetMaxDistance_1_0_3936 = // CDirectSoundStream_SetMaxDistance+0x15 : retn 0x0C { 0x15, 0xC2 }, // (Offset,Value)-Pair #10 { 0x16, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMinDistanceC // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetMinDistanceC_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetMinDistanceC_1_0_3936, 12, - XREF_DSSTREAMSETMINDISTANCE1C, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETMINDISTANCE1C, + XRefZero) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceC!? - { // CDirectSoundStream_SetMinDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x89 }, // (Offset,Value)-Pair #2 @@ -1954,23 +1658,18 @@ SOOVPA<12> CDirectSoundStream_SetMinDistanceC_1_0_3936 = // CDirectSoundStream_SetMinDistanceC+0x1E : retn 0x08 { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMinDistanceB // ****************************************************************** -SOOVPA<15> CDirectSoundStream_SetMinDistanceB_1_0_3936 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_XREF(CDirectSoundStream_SetMinDistanceB_1_0_3936, 15, - XREF_DSSTREAMSETMINDISTANCE1B, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETMINDISTANCE1B, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceB!? - { // CDirectSoundStream_SetMinDistanceB+0x23 : call [IDirectSoundStream::SetMinDistanceC] { 0x23, XREF_DSSTREAMSETMINDISTANCE1C }, // (Offset,Value)-Pair #1 @@ -1997,23 +1696,18 @@ SOOVPA<15> CDirectSoundStream_SetMinDistanceB_1_0_3936 = // CDirectSoundStream_SetMinDistanceB+0x3C : retn 0x0C { 0x3C, 0xC2 }, // (Offset,Value)-Pair #14 { 0x3D, 0x0C }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMinDistanceA // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetMinDistanceA_1_0_3936 = -{ - 0, // Large == 0 - 10,// Count == 10 +OOVPA_XREF(CDirectSoundStream_SetMinDistanceA_1_0_3936, 10, - XREF_DSSTREAMSETMINDISTANCE1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETMINDISTANCE1A, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceA!? - { // CDirectSoundStream_SetMinDistanceA+0x15 : call [IDirectSoundStream::SetMinDistanceB] { 0x15, XREF_DSSTREAMSETMINDISTANCE1B }, // (Offset,Value)-Pair #1 @@ -2031,21 +1725,16 @@ SOOVPA<10> CDirectSoundStream_SetMinDistanceA_1_0_3936 = // CDirectSoundStream_SetMinDistanceA+0x19 : retn 0x0C { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1A, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMinDistance // ****************************************************************** -SOOVPA<11> CDirectSoundStream_SetMinDistance_1_0_3936 = -{ - 0, // Large == 0 - 11,// Count == 11 +OOVPA_XREF(CDirectSoundStream_SetMinDistance_1_0_3936, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetMinDistance+0x11 : call [IDirectSoundStream::SetMinDistanceA] { 0x11, XREF_DSSTREAMSETMINDISTANCE1A }, // (Offset,Value)-Pair #1 @@ -2064,21 +1753,16 @@ SOOVPA<11> CDirectSoundStream_SetMinDistance_1_0_3936 = // CDirectSoundStream_SetMinDistance+0x15 : retn 0x0C { 0x15, 0xC2 }, // (Offset,Value)-Pair #10 { 0x16, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetVelocityC // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetVelocityC_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSoundStream_SetVelocityC_1_0_3936, 12, - XREF_DSSTREAMSETVELOCITY1C, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETVELOCITY1C, + XRefZero) - { // CDirectSoundStream_SetVelocityC+0x0C : or byte ptr [ecx+0x80], 0x40 { 0x0C, 0x83 }, // (Offset,Value)-Pair #1 { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 @@ -2096,21 +1780,16 @@ SOOVPA<12> CDirectSoundStream_SetVelocityC_1_0_3936 = // CDirectSoundStream_SetVelocityC+0x25 : retn 0x08 { 0x25, 0xC2 }, // (Offset,Value)-Pair #11 { 0x26, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetVelocityB // ****************************************************************** -SOOVPA<14> CDirectSoundStream_SetVelocityB_1_0_3936 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSoundStream_SetVelocityB_1_0_3936, 14, - XREF_DSSTREAMSETVELOCITY1B, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETVELOCITY1B, + XRefOne) - { // CDirectSoundStream_SetVelocityB+0x35 : call [IDirectSoundStream::SetVelocityC] { 0x35, XREF_DSSTREAMSETVELOCITY1C }, // (Offset,Value)-Pair #1 @@ -2136,21 +1815,16 @@ SOOVPA<14> CDirectSoundStream_SetVelocityB_1_0_3936 = // CDirectSoundStream_SetVelocityB+0x4F : retn 0x14 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 { 0x50, 0x14 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetVelocityA // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetVelocityA_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetVelocityA_1_0_3936, 9, - XREF_DSSTREAMSETVELOCITY1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETVELOCITY1A, + XRefOne) - { // CDirectSoundStream_SetVelocityA+0x25 : call [IDirectSoundStream::SetVelocityB] { 0x25, XREF_DSSTREAMSETVELOCITY1B }, // (Offset,Value)-Pair #1 @@ -2167,21 +1841,16 @@ SOOVPA<9> CDirectSoundStream_SetVelocityA_1_0_3936 = // CDirectSoundStream_SetVelocityA+0x2A : retn 0x14 { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetVelocity // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetVelocity_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetVelocity_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetVelocity+0x21 : call [IDirectSoundStream::SetVelocityA] { 0x21, XREF_DSSTREAMSETVELOCITY1A }, // (Offset,Value)-Pair #1 @@ -2198,21 +1867,16 @@ SOOVPA<9> CDirectSoundStream_SetVelocity_1_0_3936 = // CDirectSoundStream_SetVelocity+0x26 : retn 0x14 { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 { 0x27, 0x14 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetVelocity // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetVelocity_1_0_3936, 9, - XREF_DSBUFFERSETVELOCITY, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETVELOCITY, + XRefOne) - { // CDirectSoundBuffer_SetVelocity+0x20 : call [CDirectSoundStream::SetVelocityB] { 0x21, XREF_DSSTREAMSETVELOCITY1B }, // (Offset,Value)-Pair #1 @@ -2229,21 +1893,16 @@ SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_3936 = // CDirectSoundBuffer_SetVelocity+0x26 : retn 0x14 { 0x27, 0x14 }, // (Offset,Value)-Pair #8 { 0x28, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetVelocity // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetVelocity_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetVelocity_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity] { 0x2D, XREF_DSBUFFERSETVELOCITY }, // (Offset,Value)-Pair #1 @@ -2260,23 +1919,18 @@ SOOVPA<9> IDirectSoundBuffer8_SetVelocity_1_0_3936 = // IDirectSoundBuffer8_SetVelocity+0x32 : retn 0x14 { 0x33, 0x14 }, // (Offset,Value)-Pair #8 { 0x34, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeOrientationC // ****************************************************************** -SOOVPA<11> CDirectSoundStream_SetConeOrientationC_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundStream_SetConeOrientationC_1_0_3936, 11, - XREF_DSSTREAMSETCONEORIENTATION1C, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETCONEORIENTATION1C, + XRefZero) // TODO: re-use for CDirectSoundBuffer_SetConeOrientationC!? - { // CDirectSoundStream_SetConeOrientationC+0x0C : or byte ptr [ecx+0x80], 0x18 { 0x0C, 0x83 }, // (Offset,Value)-Pair #1 { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 @@ -2293,23 +1947,18 @@ SOOVPA<11> CDirectSoundStream_SetConeOrientationC_1_0_3936 = // CDirectSoundStream_SetConeOrientationC+0x25 : retn 0x08 { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 { 0x26, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeOrientationB // ****************************************************************** -SOOVPA<14> CDirectSoundStream_SetConeOrientationB_1_0_3936 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSoundStream_SetConeOrientationB_1_0_3936, 14, - XREF_DSSTREAMSETCONEORIENTATION1B, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETCONEORIENTATION1B, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetConeOrientationB!? - { // CDirectSoundStream_SetConeOrientationB+0x35 : call [IDirectSoundStream::SetConeOrientationC] { 0x35, XREF_DSSTREAMSETCONEORIENTATION1C }, // (Offset,Value)-Pair #1 @@ -2335,23 +1984,18 @@ SOOVPA<14> CDirectSoundStream_SetConeOrientationB_1_0_3936 = // CDirectSoundStream_SetConeOrientationB+0x4F : retn 0x14 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 { 0x50, 0x14 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeOrientationA // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetConeOrientationA_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetConeOrientationA_1_0_3936, 9, - XREF_DSSTREAMSETCONEORIENTATION1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETCONEORIENTATION1A, + XRefOne) // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? - { // CDirectSoundStream_SetConeOrientationA+0x25 : call [IDirectSoundStream::SetConeOrientationB] { 0x25, XREF_DSSTREAMSETCONEORIENTATION1B }, // (Offset,Value)-Pair #1 @@ -2368,21 +2012,16 @@ SOOVPA<9> CDirectSoundStream_SetConeOrientationA_1_0_3936 = // CDirectSoundStream_SetConeOrientationA+0x2A : retn 0x14 { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetConeOrientation // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetConeOrientation_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetConeOrientation_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetConeOrientation+0x21 : call [IDirectSoundStream::SetConeOrientationA] { 0x21, XREF_DSSTREAMSETCONEORIENTATION1A }, // (Offset,Value)-Pair #1 @@ -2399,21 +2038,16 @@ SOOVPA<9> CDirectSoundStream_SetConeOrientation_1_0_3936 = // CDirectSoundStream_SetConeOrientation+0x26 : retn 0x14 { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 { 0x27, 0x14 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetPositionC // ****************************************************************** -SOOVPA<11> CDirectSoundStream_SetPositionC_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundStream_SetPositionC_1_0_3936, 11, - XREF_DSSTREAMSETPOSITION1C, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETPOSITION1C, + XRefZero) - { // CDirectSoundStream_SetPositionC+0x0C : or byte ptr [ecx+0x80], 0xFF { 0x0C, 0x80 }, // (Offset,Value)-Pair #1 { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 @@ -2430,21 +2064,16 @@ SOOVPA<11> CDirectSoundStream_SetPositionC_1_0_3936 = // CDirectSoundStream_SetPositionC+0x25 : retn 0x08 { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 { 0x26, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetPositionB // ****************************************************************** -SOOVPA<14> CDirectSoundStream_SetPositionB_1_0_3936 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSoundStream_SetPositionB_1_0_3936, 14, - XREF_DSSTREAMSETPOSITION1B, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETPOSITION1B, + XRefOne) - { // CDirectSoundStream_SetPositionB+0x35 : call [IDirectSoundStream::SetPositionC] { 0x35, XREF_DSSTREAMSETPOSITION1C }, // (Offset,Value)-Pair #1 @@ -2470,21 +2099,16 @@ SOOVPA<14> CDirectSoundStream_SetPositionB_1_0_3936 = // CDirectSoundStream_SetPositionB+0x4F : retn 0x14 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 { 0x50, 0x14 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetPositionA // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetPositionA_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetPositionA_1_0_3936, 9, - XREF_DSSTREAMSETPOSITION1A, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETPOSITION1A, + XRefOne) - { // CDirectSoundStream_SetPositionA+0x25 : call [IDirectSoundStream::SetPositionB] { 0x25, XREF_DSSTREAMSETPOSITION1B }, // (Offset,Value)-Pair #1 @@ -2501,21 +2125,16 @@ SOOVPA<9> CDirectSoundStream_SetPositionA_1_0_3936 = // CDirectSoundStream_SetPositionA+0x2A : retn 0x14 { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetPosition // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetPosition_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetPosition_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetPosition+0x21 : call [IDirectSoundStream::SetPositionA] { 0x21, XREF_DSSTREAMSETPOSITION1A }, // (Offset,Value)-Pair #1 @@ -2532,21 +2151,16 @@ SOOVPA<9> CDirectSoundStream_SetPosition_1_0_3936 = // CDirectSoundStream_SetPosition+0x26 : retn 0x14 { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 { 0x27, 0x14 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetPosition // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetPosition_1_0_3936, 9, - XREF_DSBUFFERSETPOSITION, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETPOSITION, + XRefOne) - { // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundStream::PositionB] { 0x21, XREF_DSSTREAMSETPOSITION1B }, // (Offset,Value)-Pair #1 @@ -2563,21 +2177,16 @@ SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_3936 = // CDirectSoundBuffer_SetPosition+0x26 : retn 0x14 { 0x27, 0x14 }, // (Offset,Value)-Pair #8 { 0x28, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPosition // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetPosition_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetPosition_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition] { 0x2D, XREF_DSBUFFERSETPOSITION }, // (Offset,Value)-Pair #1 @@ -2594,21 +2203,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetPosition_1_0_3936 = // IDirectSoundBuffer8_SetPosition+0x32 : retn 0x14 { 0x33, 0x14 }, // (Offset,Value)-Pair #8 { 0x34, 0x00 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetFrequencyB // ****************************************************************** -SOOVPA<11> CDirectSoundStream_SetFrequencyB_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundStream_SetFrequencyB_1_0_3936, 11, - XREF_DSSTREAMSETFREQUENCY1B,// XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETFREQUENCY1B, + XRefZero) - { // CDirectSoundStream_SetFrequencyB+0x08 : cmp esi, 0xBB80 { 0x08, 0x81 }, // (Offset,Value)-Pair #1 { 0x09, 0xFE }, // (Offset,Value)-Pair #2 @@ -2627,21 +2231,16 @@ SOOVPA<11> CDirectSoundStream_SetFrequencyB_1_0_3936 = // CDirectSoundStream_SetFrequencyB+0x4E : retn 0x08 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4F, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetFrequencyA // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetFrequencyA_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetFrequencyA_1_0_3936, 9, - XREF_DSSTREAMSETFREQUENCY1A,// XRef Is Saved - 1, // XRef Is Used + XREF_DSSTREAMSETFREQUENCY1A, + XRefOne) - { // CDirectSoundStream_SetFrequencyA+0x1F : call [CDirectSoundStream::SetFrequencyB] { 0x20, XREF_DSSTREAMSETFREQUENCY1B }, // (Offset,Value)-Pair #1 @@ -2658,21 +2257,16 @@ SOOVPA<9> CDirectSoundStream_SetFrequencyA_1_0_3936 = // CDirectSoundStream_SetFrequencyA+0x40 : retn 0x08 { 0x40, 0xC2 }, // (Offset,Value)-Pair #8 { 0x41, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetFrequency // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetFrequency_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundStream_SetFrequency_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetFrequency+0x0D : call [IDirectSoundStream::SetFrequency] { 0x0D, XREF_DSSTREAMSETFREQUENCY1A }, // (Offset,Value)-Pair #1 @@ -2690,21 +2284,16 @@ SOOVPA<10> CDirectSoundStream_SetFrequency_1_0_3936 = // CDirectSoundStream_SetFrequency+0x11 : retn 0x08 { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 { 0x12, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetFrequency // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetFrequency_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetFrequency_1_0_3936, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetFrequency+0x15 : call [IDirectSoundStream::SetFrequency] { 0x15, XREF_DSSTREAMSETFREQUENCY1A }, // (Offset,Value)-Pair #1 @@ -2720,21 +2309,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetFrequency_1_0_3936 = // IDirectSoundBuffer8_SetFrequency+0x11 : and ecx, eax { 0x11, 0x23 }, // (Offset,Value)-Pair #7 { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient::Set3dMode // ****************************************************************** -SOOVPA<12> CMcpxVoiceClient_Set3dMode_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CMcpxVoiceClient_Set3dMode_1_0_3936, 12, - XREF_DSBUFFERSETMODEB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERSETMODEB, + XRefZero) - { // CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF { 0x04, 0x80 }, // (Offset,Value)-Pair #1 { 0x05, 0x89 }, // (Offset,Value)-Pair #2 @@ -2752,21 +2336,16 @@ SOOVPA<12> CMcpxVoiceClient_Set3dMode_1_0_3936 = // CMcpxVoiceClient_Set3dMode+0x1E : retn 0x08 { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMode // ****************************************************************** -SOOVPA<10> CDirectSoundVoice_SetMode_1_0_3936 = -{ - 0, // Large == 0 - 10,// Count == 10 +OOVPA_XREF(CDirectSoundVoice_SetMode_1_0_3936, 10, - XREF_DSBUFFERSETMODEA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETMODEA, + XRefOne) - { // CDirectSoundVoice_SetMode+0x1E : call [CMcpxVoiceClient::Set3dMode] { 0x1F, XREF_DSBUFFERSETMODEB }, // (Offset,Value)-Pair #1 @@ -2784,21 +2363,16 @@ SOOVPA<10> CDirectSoundVoice_SetMode_1_0_3936 = // CDirectSoundVoice_SetMode+0x38 : retn 0x0C { 0x38, 0xC2 }, // (Offset,Value)-Pair #9 { 0x39, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetMode // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetMode_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_SetMode_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetMode+0x18 : call [CDirectSoundVoice::SetMode] { 0x19, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1 @@ -2816,22 +2390,17 @@ SOOVPA<10> IDirectSoundBuffer8_SetMode_1_0_3936 = // IDirectSoundBuffer8_SetMode+0x1D : retn 0x0C { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; /* // ****************************************************************** // * CDirectSoundStream_SetRolloffFactor // ****************************************************************** -SOOVPA<10> CDirectSoundStream_SetRolloffFactor_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundStream_SetRolloffFactor_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetRolloffFactor+0x11 : call [IDirectSoundStream::SetRolloffFactor] { 0x11, XREF_DSSTREAMSETROLLOFFFACTOR1A }, // (Offset,Value)-Pair #1 @@ -2849,21 +2418,16 @@ SOOVPA<10> CDirectSoundStream_SetRolloffFactor_1_0_3936 = // CDirectSoundStream_SetRolloffFactor+0x15 : retn 0x0C { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 { 0x16, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; */ // ****************************************************************** // * IDirectSoundStream_SetI3DL2SourceA // ****************************************************************** -/*SOOVPA<11> IDirectSoundStream_SetI3DL2SourceA_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +/*OOVPA_XREF(IDirectSoundStream_SetI3DL2SourceA_1_0_3936, 11, - XREF_DSSETI3DL2SOURCE1A, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETI3DL2SOURCE1A, + XRefZero) - { // IDirectSoundStream_SetI3DL2SourceA+0x07 : call [addr] { 0x07, 0xE8 }, // (Offset,Value)-Pair #1 @@ -2884,23 +2448,18 @@ SOOVPA<10> CDirectSoundStream_SetRolloffFactor_1_0_3936 = // IDirectSoundStream_SetI3DL2SourceA+0x71 : retn 0x0C { 0x71, 0xC2 }, // (Offset,Value)-Pair #10 { 0x72, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetI3DL2Source // ****************************************************************** -SOOVPA<10> IDirectSoundStream_SetI3DL2Source_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundStream_SetI3DL2Source_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) // TODO: Tentative! (most likely incorrect, actually!) - { // IDirectSoundStream_SetI3DL2SourceB+0x11 : call [IDirectSoundStream_SetI3DL2SourceA] { 0x11, XREF_DSSETI3DL2SOURCE1A }, // (Offset,Value)-Pair #1 @@ -2918,23 +2477,20 @@ SOOVPA<10> IDirectSoundStream_SetI3DL2Source_1_0_3936 = // IDirectSoundStream_SetI3DL2SourceB+0x15 : retn 0x0C { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 { 0x16, 0x0C }, // (Offset,Value)-Pair #10 - } -};*/ +OOVPA_END; +*/ + /* // ****************************************************************** // * IDirectSoundStream_Unknown1 // ****************************************************************** -SOOVPA<9> IDirectSoundStream_Unknown1_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundStream_Unknown1_1_0_3936, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) // TODO: Tentative! (most likely incorrect, actually!) - { // IDirectSoundStream_Unknown1A+0x38 : call [IDirectSoundStream_SetI3DL2SourceA] { 0x38, XREF_DSSETI3DL2SOURCE1A }, // (Offset,Value)-Pair #1 @@ -2951,21 +2507,16 @@ SOOVPA<9> IDirectSoundStream_Unknown1_1_0_3936 = // IDirectSoundStream_Unknown1A+0x55 : retn 0x08 { 0x55, 0xC2 }, // (Offset,Value)-Pair #8 { 0x56, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; //*/ // ****************************************************************** // * IDirectSoundStream_SetHeadroomA // ****************************************************************** -SOOVPA<11> IDirectSoundStream_SetHeadroomA_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSoundStream_SetHeadroomA_1_0_3936, 11, - XREF_DSSETHEADROOMA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETHEADROOMA, + XRefZero) - { // IDirectSoundStream_SetHeadroomA+0x09 : call [addr] { 0x09, 0xE8 }, // (Offset,Value)-Pair #1 @@ -2986,22 +2537,18 @@ SOOVPA<11> IDirectSoundStream_SetHeadroomA_1_0_3936 = // IDirectSoundStream_SetHeadroomA+0x55 : retn 0x08 { 0x55, 0xC2 }, // (Offset,Value)-Pair #10 { 0x56, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetHeadroom // ****************************************************************** -SOOVPA<10> IDirectSoundStream_SetHeadroom_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundStream_SetHeadroom_1_0_3936, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) // TODO: Tentative! (most likely incorrect, actually!) - { + // IDirectSoundStream_SetHeadroomB+0x0D : call [IDirectSoundStream_SetHeadroomA] { 0x0D, XREF_DSSETHEADROOMA }, // (Offset,Value)-Pair #1 @@ -3019,21 +2566,13 @@ SOOVPA<10> IDirectSoundStream_SetHeadroom_1_0_3936 = // IDirectSoundStream_SetHeadroomB+0x11 : retn 0x08 { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 { 0x12, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetOrientation // ****************************************************************** -SOOVPA<13> IDirectSound8_SetOrientation_1_0_3936 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(IDirectSound8_SetOrientation_1_0_3936, 13) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSound8_SetOrientation+0x06 : fld [ebp+0x20] { 0x06, 0xD9 }, // (Offset,Value)-Pair #1 { 0x07, 0x45 }, // (Offset,Value)-Pair #2 @@ -3056,21 +2595,16 @@ SOOVPA<13> IDirectSound8_SetOrientation_1_0_3936 = // IDirectSound8_SetOrientation+0x47 : retn 0x20 { 0x47, 0xC2 }, // (Offset,Value)-Pair #12 { 0x48, 0x20 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CommitDeferredSettingsB // ****************************************************************** -SOOVPA<11> CDirectSound_CommitDeferredSettingsB_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_CommitDeferredSettingsB_1_0_3936, 11, - XREF_COMMITDEFERREDSETTINGSB, // XRef Is Saved - 0, // XRef Not Used + XREF_COMMITDEFERREDSETTINGSB, + XRefZero) - { // CDirectSound_CommitDeferredSettingsB+0x56 : fld dword ptr [eax+0x174] { 0x56, 0xD9 }, // (Offset,Value)-Pair #1 { 0x57, 0x80 }, // (Offset,Value)-Pair #2 @@ -3087,21 +2621,16 @@ SOOVPA<11> CDirectSound_CommitDeferredSettingsB_1_0_3936 = { 0xD4, 0xBE }, // (Offset,Value)-Pair #9 { 0xD5, 0x18 }, // (Offset,Value)-Pair #10 { 0xD6, 0x01 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CommitDeferredSettingsA // ****************************************************************** -SOOVPA<10> CDirectSound_CommitDeferredSettingsA_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_CommitDeferredSettingsA_1_0_3936, 10, - XREF_COMMITDEFERREDSETTINGSA, // XRef Is Saved - 1, // XRef Is Used + XREF_COMMITDEFERREDSETTINGSA, + XRefOne) - { // CDirectSound_CommitDeferredSettingsA+0x12 : call [CDirectSound::CommitDeferredSettingsB] { 0x12, XREF_COMMITDEFERREDSETTINGSB }, // (Offset,Value)-Pair #1 @@ -3121,21 +2650,16 @@ SOOVPA<10> CDirectSound_CommitDeferredSettingsA_1_0_3936 = // CDirectSound_CommitDeferredSettingsA+0x28 : retn 0x04 { 0x28, 0xC2 }, // (Offset,Value)-Pair #9 { 0x29, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound_CommitDeferredSettings // ****************************************************************** -SOOVPA<8> CDirectSound_CommitDeferredSettings_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSound_CommitDeferredSettings_1_0_3936, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound::CommitDeferredSettingsA] { 0x11, XREF_COMMITDEFERREDSETTINGSA }, // (Offset,Value)-Pair #1 @@ -3151,21 +2675,13 @@ SOOVPA<8> CDirectSound_CommitDeferredSettings_1_0_3936 = // CDirectSound_CommitDeferredSettings+0x15 : retn 0x04 { 0x15, 0xC2 }, // (Offset,Value)-Pair #7 { 0x16, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_Release // ****************************************************************** -SOOVPA<10> IDirectSound8_Release_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirectSound8_Release_1_0_3936, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSound8_Release+0x04 : lea ecx, [eax-8] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x48 }, // (Offset,Value)-Pair #2 @@ -3183,21 +2699,16 @@ SOOVPA<10> IDirectSound8_Release_1_0_3936 = // IDirectSound8_Release+0x13 : retn 0x04 { 0x13, 0xC2 }, // (Offset,Value)-Pair #9 { 0x14, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorB // ****************************************************************** -SOOVPA<13> CDirectSound_SetDistanceFactorB_1_0_3936 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(CDirectSound_SetDistanceFactorB_1_0_3936, 13, - XREF_SETDISTANCEFACTORB,// XRef Is Saved - 0, // XRef Not Used + XREF_SETDISTANCEFACTORB, + XRefZero) - { // CDirectSound_SetDistanceFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x89 }, // (Offset,Value)-Pair #2 @@ -3216,21 +2727,16 @@ SOOVPA<13> CDirectSound_SetDistanceFactorB_1_0_3936 = // CDirectSound_SetDistanceFactorB+0x12 : mov [ecx+0x0178], eax { 0x12, 0x78 }, // (Offset,Value)-Pair #12 { 0x13, 0x01 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -SOOVPA<12> CDirectSound_SetDistanceFactorA_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 11 +OOVPA_XREF(CDirectSound_SetDistanceFactorA_1_0_3936, 12, - XREF_SETDISTANCEFACTORA,// XRef Is Saved - 1, // XRef Is Used + XREF_SETDISTANCEFACTORA, + XRefOne) - { // CDirectSound_SetDistanceFactorA+0x23 : call [CDirectSound::SetDistanceFactorB] { 0x23, XREF_SETDISTANCEFACTORB }, // (Offset,Value)-Pair #1 @@ -3250,23 +2756,18 @@ SOOVPA<12> CDirectSound_SetDistanceFactorA_1_0_3936 = { 0x13, 0x83 }, // (Offset,Value)-Pair #10 { 0x14, 0xE0 }, // (Offset,Value)-Pair #11 { 0x15, 0x01 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetDistanceFactor // ****************************************************************** -SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSound8_SetDistanceFactor_1_0_3936, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) // TODO: Tentative (may not be SetDistanceFactor) - { // IDirectSound8_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactorA] { 0x1D, XREF_SETDISTANCEFACTORA }, // (Offset,Value)-Pair #1 @@ -3287,21 +2788,16 @@ SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_3936 = // IDirectSound8_SetDistanceFactor+0x21 : retn 0x0C { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetRolloffFactorB // ****************************************************************** -SOOVPA<13> CDirectSound_SetRolloffFactorB_1_0_3936 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(CDirectSound_SetRolloffFactorB_1_0_3936, 13, - XREF_SETROLLOFFFACTORB, // XRef Is Saved - 0, // XRef Not Used + XREF_SETROLLOFFFACTORB, + XRefZero) - { // CDirectSound_SetRolloffFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x89 }, // (Offset,Value)-Pair #2 @@ -3320,21 +2816,16 @@ SOOVPA<13> CDirectSound_SetRolloffFactorB_1_0_3936 = // CDirectSound_SetRolloffFactorB+0x12 : mov [ecx+0x017C], eax { 0x12, 0x7C }, // (Offset,Value)-Pair #12 { 0x13, 0x01 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetRolloffFactorA // ****************************************************************** -SOOVPA<12> CDirectSound_SetRolloffFactorA_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 11 +OOVPA_XREF(CDirectSound_SetRolloffFactorA_1_0_3936, 12, - XREF_SETROLLOFFFACTORA, // XRef Is Saved - 1, // XRef Is Used + XREF_SETROLLOFFFACTORA, + XRefOne) - { // CDirectSound_SetRolloffFactorA+0x23 : call [CDirectSound::SetRolloffFactorB] { 0x23, XREF_SETROLLOFFFACTORB }, // (Offset,Value)-Pair #1 @@ -3354,23 +2845,18 @@ SOOVPA<12> CDirectSound_SetRolloffFactorA_1_0_3936 = { 0x13, 0x83 }, // (Offset,Value)-Pair #10 { 0x14, 0xE0 }, // (Offset,Value)-Pair #11 { 0x15, 0x01 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetRolloffFactor // ****************************************************************** -SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSound8_SetRolloffFactor_1_0_3936, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) // TODO: Tentative (may not be SetRolloffFactor) - { // IDirectSound8_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactorA] { 0x1D, XREF_SETROLLOFFFACTORA }, // (Offset,Value)-Pair #1 @@ -3391,21 +2877,16 @@ SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_3936 = // IDirectSound8_SetRolloffFactor+0x21 : retn 0x0C { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetMixBinHeadroomB // ****************************************************************** -SOOVPA<12> CDirectSound_SetMixBinHeadroomB_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSound_SetMixBinHeadroomB_1_0_3936, 12, - XREF_DSSETMIXBINHEADROOMB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETMIXBINHEADROOMB, + XRefZero) - { // CDirectSound_SetMixBinHeadroomB+0x04 : cmp dword ptr ds:[0xFE820010], 4 { 0x12, 0x83 }, // (Offset,Value)-Pair #1 { 0x13, 0x3D }, // (Offset,Value)-Pair #2 @@ -3423,21 +2904,16 @@ SOOVPA<12> CDirectSound_SetMixBinHeadroomB_1_0_3936 = // CDirectSound_SetMixBinHeadroomB+0x2D : jl +0xD8 { 0x2D, 0x7C }, // (Offset,Value)-Pair #11 { 0x2E, 0xD8 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetMixBinHeadroomA // ****************************************************************** -SOOVPA<9> CDirectSound_SetMixBinHeadroomA_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSound_SetMixBinHeadroomA_1_0_3936, 9, - XREF_DSSETMIXBINHEADROOMA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETMIXBINHEADROOMA, + XRefOne) - { // CDirectSound_SetMixBinHeadroomA+0x19 : call [CDirectSound::SetMixBinHeadroomB] { 0x19, XREF_DSSETMIXBINHEADROOMB }, // (Offset,Value)-Pair #1 @@ -3454,21 +2930,16 @@ SOOVPA<9> CDirectSound_SetMixBinHeadroomA_1_0_3936 = // CDirectSound_SetMixBinHeadroomA+0x21 : jz +0x0B { 0x21, 0x74 }, // (Offset,Value)-Pair #8 { 0x22, 0x0B }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetMixBinHeadroom // ****************************************************************** -SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSound8_SetMixBinHeadroom_1_0_3936, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroomA] { 0x19, XREF_DSSETMIXBINHEADROOMA }, // (Offset,Value)-Pair #1 @@ -3490,21 +2961,16 @@ SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_3936 = // IDirectSound8_SetMixBinHeadroom+0x1D : retn 0x0C { 0x1D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1E, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetPositionB // ****************************************************************** -SOOVPA<12> CDirectSound_SetPositionB_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSound_SetPositionB_1_0_3936, 12, - XREF_DSSETPOSITIONB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETPOSITIONB, + XRefZero) - { // CDirectSound_SetPositionB+0x0C : movsd; movsd; movsd { 0x0C, 0xA5 }, // (Offset,Value)-Pair #1 { 0x0D, 0xA5 }, // (Offset,Value)-Pair #2 @@ -3522,21 +2988,16 @@ SOOVPA<12> CDirectSound_SetPositionB_1_0_3936 = // CDirectSound_SetPositionB+0x28 : retn 0x08 { 0x28, 0xC2 }, // (Offset,Value)-Pair #11 { 0x29, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetPositionA // ****************************************************************** -SOOVPA<10> CDirectSound_SetPositionA_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_SetPositionA_1_0_3936, 10, - XREF_DSSETPOSITIONA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETPOSITIONA, + XRefOne) - { // CDirectSound_SetPositionA+0x35 : call [CDirectSound::SetPositionB] { 0x35, XREF_DSSETPOSITIONB }, // (Offset,Value)-Pair #1 @@ -3554,21 +3015,16 @@ SOOVPA<10> CDirectSound_SetPositionA_1_0_3936 = // CDirectSound_SetPositionA+0x4F : retn 0x14 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #9 { 0x50, 0x14 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetPosition // ****************************************************************** -SOOVPA<11> IDirectSound8_SetPosition_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSound8_SetPosition_1_0_3936, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetPosition+0x2D : call [CDirectSound::SetPositionA] { 0x2D, XREF_DSSETPOSITIONA }, // (Offset,Value)-Pair #1 @@ -3589,21 +3045,16 @@ SOOVPA<11> IDirectSound8_SetPosition_1_0_3936 = // IDirectSound8_SetPosition+0x32 : retn 0x14 { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 { 0x33, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetVelocityB // ****************************************************************** -SOOVPA<12> CDirectSound_SetVelocityB_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CDirectSound_SetVelocityB_1_0_3936, 12, - XREF_DSSETVELOCITYB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETVELOCITYB, + XRefZero) - { // CDirectSound_SetVelocityB+0x0C : movsd; movsd; movsd { 0x0C, 0xA5 }, // (Offset,Value)-Pair #1 { 0x0D, 0xA5 }, // (Offset,Value)-Pair #2 @@ -3621,21 +3072,16 @@ SOOVPA<12> CDirectSound_SetVelocityB_1_0_3936 = // CDirectSound_SetVelocityB+0x28 : retn 0x08 { 0x28, 0xC2 }, // (Offset,Value)-Pair #11 { 0x29, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetVelocityA // ****************************************************************** -SOOVPA<10> CDirectSound_SetVelocityA_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_SetVelocityA_1_0_3936, 10, - XREF_DSSETVELOCITYA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETVELOCITYA, + XRefOne) - { // CDirectSound_SetVelocityA+0x35 : call [CDirectSound::SetVelocityB] { 0x35, XREF_DSSETVELOCITYB }, // (Offset,Value)-Pair #1 @@ -3653,21 +3099,16 @@ SOOVPA<10> CDirectSound_SetVelocityA_1_0_3936 = // CDirectSound_SetVelocityA+0x4F : retn 0x14 { 0x4F, 0xC2 }, // (Offset,Value)-Pair #9 { 0x50, 0x14 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetVelocity // ****************************************************************** -SOOVPA<11> IDirectSound8_SetVelocity_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSound8_SetVelocity_1_0_3936, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetVelocity+0x2D : call [CDirectSound::SetVelocityA] { 0x2D, XREF_DSSETVELOCITYA }, // (Offset,Value)-Pair #1 @@ -3688,21 +3129,16 @@ SOOVPA<11> IDirectSound8_SetVelocity_1_0_3936 = // IDirectSound8_SetVelocity+0x32 : retn 0x14 { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 { 0x33, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetAllParametersB // ****************************************************************** -SOOVPA<13> CDirectSound_SetAllParametersB_1_0_3936 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(CDirectSound_SetAllParametersB_1_0_3936, 13, - XREF_DSSETALLPARAMETERSB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETALLPARAMETERSB, + XRefZero) - { // CDirectSound_SetAllParametersB+0x08 : push 0x0C; pop ecx { 0x08, 0x6A }, // (Offset,Value)-Pair #1 { 0x09, 0x0C }, // (Offset,Value)-Pair #2 @@ -3721,21 +3157,16 @@ SOOVPA<13> CDirectSound_SetAllParametersB_1_0_3936 = // CDirectSound_SetAllParametersB+0x30 : retn 0x08 { 0x30, 0xC2 }, // (Offset,Value)-Pair #12 { 0x31, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetAllParametersA // ****************************************************************** -SOOVPA<10> CDirectSound_SetAllParametersA_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_SetAllParametersA_1_0_3936, 10, - XREF_DSSETALLPARAMETERSA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETALLPARAMETERSA, + XRefOne) - { // CDirectSound_SetAllParametersA+0x2F : call [CDirectSound::SetAllParametersB] { 0x2F, XREF_DSSETALLPARAMETERSB }, // (Offset,Value)-Pair #1 @@ -3753,21 +3184,16 @@ SOOVPA<10> CDirectSound_SetAllParametersA_1_0_3936 = // CDirectSound_SetAllParametersA+0x48 : retn 0x0C { 0x48, 0xC2 }, // (Offset,Value)-Pair #9 { 0x49, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetAllParameters // ****************************************************************** -SOOVPA<12> IDirectSound8_SetAllParameters_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSound8_SetAllParameters_1_0_3936, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetAllParameters+0x19 : call [CDirectSound::SetAllParametersA] { 0x19, XREF_DSSETALLPARAMETERSA }, // (Offset,Value)-Pair #1 @@ -3789,21 +3215,13 @@ SOOVPA<12> IDirectSound8_SetAllParameters_1_0_3936 = // IDirectSound8_SetAllParameters+0x1D : retn 0x0C { 0x1D, 0xC2 }, // (Offset,Value)-Pair #11 { 0x1E, 0x0C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_DownloadEffectsImage // ****************************************************************** -SOOVPA<11> IDirectSound8_DownloadEffectsImage_1_0_3936 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirectSound8_DownloadEffectsImage_1_0_3936, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSound8_DownloadEffectsImage+0x03 : push [ebp+0x18] { 0x03, 0xFF }, // (Offset,Value)-Pair #1 { 0x04, 0x75 }, // (Offset,Value)-Pair #2 @@ -3822,21 +3240,16 @@ SOOVPA<11> IDirectSound8_DownloadEffectsImage_1_0_3936 = // IDirectSound8_DownloadEffectsImage+0x24 : retn 0x14 { 0x24, 0xC2 }, // (Offset,Value)-Pair #10 { 0x25, 0x14 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMode // ****************************************************************** -SOOVPA<7> CDirectSoundStream_SetMode_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundStream_SetMode_1_0_3936, 7, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetMode+0x10 : call [CDirectSoundVoice::SetMode] { 0x11, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1 @@ -3851,21 +3264,16 @@ SOOVPA<7> CDirectSoundStream_SetMode_1_0_3936 = // CDirectSoundBuffer8_SetMode+0x15 : retn 0x0C { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 { 0x16, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::Play // ****************************************************************** -SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_3925 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CMcpxBuffer_Play_1_0_3925, 8, - XREF_DirectSound_CMcpxBuffer_Play, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxBuffer_Play, + XRefZero) - { { 0x06, 0x56 }, { 0x0E, 0xF1 }, { 0x16, 0xFF }, @@ -3874,21 +3282,16 @@ SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_3925 = { 0x26, 0x75 }, { 0x2F, 0x8B }, { 0x36, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxAPU::Set3dDopplerFactor // ****************************************************************** -SOOVPA<7> CMcpxAPU_Set3dDopplerFactor_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CMcpxAPU_Set3dDopplerFactor_1_0_3936, 7, - XREF_CMcpxAPU_Set3dDopplerFactor, // Xref Is Saved - XRefNotUsed, + XREF_CMcpxAPU_Set3dDopplerFactor, + XRefZero) - { { 0x03, 0x04 }, { 0x08, 0x00 }, { 0x0D, 0x24 }, @@ -3896,21 +3299,16 @@ SOOVPA<7> CMcpxAPU_Set3dDopplerFactor_1_0_3936 = { 0x17, 0x07 }, { 0x1F, 0x33 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** -SOOVPA<9> CDirectSound_SetDopplerFactor_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSound_SetDopplerFactor_1_0_3936, 9, - XREF_SETDOPPLERFACTOR, // Xref Is Saved - 1, // Xref Is Used + XREF_SETDOPPLERFACTOR, + XRefOne) - { { 0x23, XREF_CMcpxAPU_Set3dDopplerFactor }, { 0x07, 0xD9 }, @@ -3921,21 +3319,16 @@ SOOVPA<9> CDirectSound_SetDopplerFactor_1_0_3936 = { 0x32, 0xFF }, { 0x38, 0x8B }, { 0x3E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetDopplerFactor // ****************************************************************** -SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetDopplerFactor_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_SETDOPPLERFACTOR }, { 0x03, 0x0C }, @@ -3945,21 +3338,16 @@ SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_3936 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CSensaura3d::GetFullHRTFFilterPair // ****************************************************************** -SOOVPA<7> CSensaura3d_GetFullHRTFFilterPair_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair_1_0_3936, 7, - XREF_CSensaura3d_GetFullHRTFFilterPair, // Xref Is Saved - XRefNotUsed, + XREF_CSensaura3d_GetFullHRTFFilterPair, + XRefZero) - { { 0x1E, 0xEB }, { 0x3E, 0x40 }, { 0x5E, 0x7E }, @@ -3967,21 +3355,16 @@ SOOVPA<7> CSensaura3d_GetFullHRTFFilterPair_1_0_3936 = { 0xA2, 0xD9 }, { 0xBE, 0x09 }, { 0xDE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundUseFullHRTF // ****************************************************************** -SOOVPA<8> DirectSoundUseFullHRTF_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSoundUseFullHRTF_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x0D, XREF_CSensaura3d_GetFullHRTFFilterPair }, { 0x05, 0x85 }, @@ -3991,21 +3374,16 @@ SOOVPA<8> DirectSoundUseFullHRTF_1_0_3936 = { 0x13, 0x68 }, { 0x18, 0xFF }, { 0x1E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundUseFullHRTF2 // ****************************************************************** -SOOVPA<8> DirectSoundUseFullHRTF2_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSoundUseFullHRTF2_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x01, XREF_DirectSoundEnterCriticalSection }, { 0x05, 0x85 }, @@ -4015,21 +3393,16 @@ SOOVPA<8> DirectSoundUseFullHRTF2_1_0_3936 = { 0x13, 0x68 }, { 0x18, 0xFF }, { 0x1E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::GetCaps // ****************************************************************** -SOOVPA<8> CDirectSound_GetCaps_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSound_GetCaps_1_0_3936, 8, - XREF_CDirectSound_GetCaps, // Xref Is Saved - XRefNotUsed, + XREF_CDirectSound_GetCaps, + XRefZero) - { { 0x08, 0x8B }, { 0x12, 0x8D }, { 0x1C, 0x0C }, @@ -4038,21 +3411,16 @@ SOOVPA<8> CDirectSound_GetCaps_1_0_3936 = { 0x3A, 0xDB }, { 0x48, 0x8B }, { 0x4E, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_GetCaps // ****************************************************************** -SOOVPA<8> IDirectSound_GetCaps_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_GetCaps_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_CDirectSound_GetCaps }, { 0x02, 0x24 }, @@ -4062,21 +3430,16 @@ SOOVPA<8> IDirectSound_GetCaps_1_0_3936 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetPitch // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetPitch_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetPitch_1_0_3936, 8, - XREF_CDirectSoundVoice_SetPitch, // Xref Is Saved - XRefNotUsed, + XREF_CDirectSoundVoice_SetPitch, + XRefZero) - { { 0x07, 0x8B }, { 0x0C, 0xF0 }, { 0x13, 0x18 }, @@ -4085,21 +3448,16 @@ SOOVPA<8> CDirectSoundVoice_SetPitch_1_0_3936 = { 0x2A, 0xFF }, { 0x30, 0x8B }, { 0x36, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetPitch // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetPitch_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetPitch_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_CDirectSoundVoice_SetPitch }, { 0x02, 0x24 }, @@ -4109,21 +3467,16 @@ SOOVPA<8> IDirectSoundBuffer_SetPitch_1_0_3936 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetConeAngles // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetConeAngles_1_0_3936, 8, - XREF_DSVOICESETCONEANGLES, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETCONEANGLES, + XRefZero) - { { 0x07, 0x8B }, { 0x0E, 0xD0 }, { 0x16, 0x18 }, @@ -4132,21 +3485,16 @@ SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_3936 = { 0x32, 0xFF }, { 0x38, 0x8B }, { 0x3E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetConeAngles // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetConeAngles_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetConeAngles_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSVOICESETCONEANGLES }, { 0x03, 0x10 }, @@ -4156,21 +3504,16 @@ SOOVPA<8> IDirectSoundBuffer_SetConeAngles_1_0_3936 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundEnterCriticalSection // ****************************************************************** -SOOVPA<7> DirectSoundEnterCriticalSection_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSoundEnterCriticalSection_1_0_3936, 7, - XREF_DirectSoundEnterCriticalSection, // Xref Is Saved - XRefNotUsed, + XREF_DirectSoundEnterCriticalSection, + XRefZero) - { { 0x02, 0xB6 }, { 0x06, 0x00 }, { 0x0A, 0x74 }, @@ -4178,21 +3521,16 @@ SOOVPA<7> DirectSoundEnterCriticalSection_1_0_3936 = { 0x14, 0xFF }, { 0x1A, 0x33 }, { 0x1B, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::PlayEx // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_PlayEx_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_PlayEx_1_0_3936, 9, - XREF_DirectSound_CDirectSoundBuffer_PlayEx, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_PlayEx, + XRefOne) - { { 0x03, XREF_DirectSoundEnterCriticalSection }, { 0x00, 0x56 }, @@ -4203,21 +3541,16 @@ SOOVPA<9> CDirectSoundBuffer_PlayEx_1_0_3936 = { 0x26, 0xF6 }, { 0x30, 0xFF }, { 0x36, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_PlayEx // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_PlayEx_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DirectSound_CDirectSoundBuffer_PlayEx }, { 0x03, 0x10 }, @@ -4227,21 +3560,13 @@ SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_3936 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_AddRef // ****************************************************************** -SOOVPA<12> IDirectSound8_AddRef_1_0_3936 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirectSound8_AddRef_1_0_3936, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSound8_AddRef+0x04 : lea ecx, [eax-8] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x48 }, // (Offset,Value)-Pair #2 @@ -4263,42 +3588,26 @@ SOOVPA<12> IDirectSound8_AddRef_1_0_3936 = { 0x10, 0xFF }, // (Offset,Value)-Pair #10 { 0x11, 0x51 }, // (Offset,Value)-Pair #11 { 0x12, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundGetSampleTime // ****************************************************************** -SOOVPA<6> DirectSoundGetSampleTime_1_0_3936 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(DirectSoundGetSampleTime_1_0_3936, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xA1 }, { 0x01, 0x0C }, { 0x02, 0x20 }, { 0x03, 0x80 }, { 0x04, 0xFE }, { 0x05, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_AddRef // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_AddRef_1_0_3936 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(IDirectSoundBuffer8_AddRef_1_0_3936, 10) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSoundBuffer8_AddRef+0x04 : lea ecx, [eax-0x1C] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x48 }, // (Offset,Value)-Pair #2 @@ -4314,21 +3623,16 @@ SOOVPA<10> IDirectSoundBuffer8_AddRef_1_0_3936 = { 0x10, 0xFF }, // (Offset,Value)-Pair #8 { 0x11, 0x51 }, // (Offset,Value)-Pair #9 { 0x12, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMinDistance // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetMinDistance_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetMinDistance_1_0_3936, 9, - XREF_CDirectSoundBuffer_SetMinDistance, // Xref Is Saved - 1, // Xref Is Used + XREF_CDirectSoundBuffer_SetMinDistance, + XRefOne) - { { 0x11, XREF_DSSTREAMSETMINDISTANCE1B }, { 0x01, 0x74 }, @@ -4339,21 +3643,16 @@ SOOVPA<9> CDirectSoundBuffer_SetMinDistance_1_0_3936 = { 0x10, 0xE8 }, { 0x15, 0xC2 }, { 0x16, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetMinDistance_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_CDirectSoundBuffer_SetMinDistance }, { 0x03, 0x0C }, @@ -4363,21 +3662,16 @@ SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_3936 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMaxDistance // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetMaxDistance_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_3936, 9, - XREF_CDirectSoundBuffer_SetMaxDistance, // Xref Is Saved - 1, // Xref Is Used + XREF_CDirectSoundBuffer_SetMaxDistance, + XRefOne) - { { 0x11, XREF_DSSTREAMSETMAXDISTANCE1B }, { 0x01, 0x74 }, @@ -4388,21 +3682,16 @@ SOOVPA<9> CDirectSoundBuffer_SetMaxDistance_1_0_3936 = { 0x10, 0xE8 }, { 0x15, 0xC2 }, { 0x16, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance }, { 0x03, 0x0C }, @@ -4412,21 +3701,16 @@ SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_3936 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** -SOOVPA<10> CMcpxVoiceClient_Commit3dSettings_1_0_3936 = -{ - 0, // Large == 0 - 10, // Small == 10 +OOVPA_XREF(CMcpxVoiceClient_Commit3dSettings_1_0_3936, 10, // Small == 10 - XREF_CMcpxVoiceClient_Commit3dSettings, // XRef Is Saved - XRefNotUsed, + XREF_CMcpxVoiceClient_Commit3dSettings, + XRefZero) - { // CMcpxVoiceClient::Commit3dSettings+0x17 : or [eax+0x80], ecx { 0x17, 0x09 }, { 0x18, 0x88 }, @@ -4440,21 +3724,16 @@ SOOVPA<10> CMcpxVoiceClient_Commit3dSettings_1_0_3936 = { 0x3D, 0x0F }, { 0x3E, 0xB1 }, { 0x3F, 0x11 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient::SetI3DL2Source // ****************************************************************** -SOOVPA<8> CMcpxVoiceClient_SetI3DL2Source_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CMcpxVoiceClient_SetI3DL2Source_1_0_3936, 7, - XREF_CMcpxVoiceClient_SetI3DL2Source, // Xref Is Saved - XRefNotUsed, + XREF_CMcpxVoiceClient_SetI3DL2Source, + XRefZero) - { { 0x04, 0x08 }, { 0x0A, 0x59 }, { 0x10, 0x80 }, @@ -4462,21 +3741,16 @@ SOOVPA<8> CMcpxVoiceClient_SetI3DL2Source_1_0_3936 = { 0x1C, 0x5F }, { 0x22, 0x8B }, { 0x29, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetI3DL2Source // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetI3DL2Source_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source_1_0_3936, 9, - XREF_CDirectSoundVoice_SetI3DL2Source, // Xref Is Saved - 1, // Xref Is Used + XREF_CDirectSoundVoice_SetI3DL2Source, + XRefOne) - { { 0x1F, XREF_CMcpxVoiceClient_SetI3DL2Source }, { 0x00, 0x56 }, @@ -4487,21 +3761,16 @@ SOOVPA<9> CDirectSoundVoice_SetI3DL2Source_1_0_3936 = { 0x26, 0xF8 }, { 0x2E, 0xFF }, { 0x36, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetI3DL2Source // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source_1_0_3936, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_CDirectSoundVoice_SetI3DL2Source }, { 0x02, 0x24 }, @@ -4512,21 +3781,16 @@ SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_3936 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMixBinVolumes // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetMixBinVolumes_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes_1_0_3936, 7, - XREF_CDirectSoundVoice_SetMixBinVolumes, // Xref Is Saved - XRefNotUsed, + XREF_CDirectSoundVoice_SetMixBinVolumes, + XRefZero) - { { 0x0D, 0x65 }, { 0x1C, 0x53 }, { 0x2B, 0xC0 }, @@ -4534,21 +3798,16 @@ SOOVPA<7> CDirectSoundVoice_SetMixBinVolumes_1_0_3936 = { 0x49, 0xFC }, { 0x58, 0x83 }, { 0x67, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMixBinVolumes // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetMixBinVolumes_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_1_0_3936, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_CDirectSoundVoice_SetMixBinVolumes }, { 0x02, 0x24 }, @@ -4559,21 +3818,16 @@ SOOVPA<9> IDirectSoundBuffer_SetMixBinVolumes_1_0_3936 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxAPU::Set3dParameters // ****************************************************************** -SOOVPA<7> CMcpxAPU_Set3dParameters_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CMcpxAPU_Set3dParameters_1_0_3936, 7, - XREF_DSSETALLPARAMETERSB, // Xref Is Saved - XRefNotUsed, + XREF_DSSETALLPARAMETERSB, + XRefZero) - { { 0x05, 0x57 }, { 0x0C, 0xB8 }, { 0x13, 0x80 }, @@ -4581,21 +3835,16 @@ SOOVPA<7> CMcpxAPU_Set3dParameters_1_0_3936 = { 0x21, 0x74 }, { 0x2C, 0x33 }, { 0x2F, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetAllParameters // ****************************************************************** -SOOVPA<9> CDirectSound_SetAllParameters_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSound_SetAllParameters_1_0_3936, 9, - XREF_DSSETALLPARAMETERSA, // Xref Is Saved - 1, // Xref Is Used + XREF_DSSETALLPARAMETERSA, + XRefOne) - { { 0x1F, XREF_DSSETALLPARAMETERSB }, { 0x00, 0x56 }, @@ -4606,21 +3855,16 @@ SOOVPA<9> CDirectSound_SetAllParameters_1_0_3936 = { 0x26, 0xF8 }, { 0x2E, 0xFF }, { 0x36, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetAllParameters // ****************************************************************** -SOOVPA<9> IDirectSound_SetAllParameters_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_SetAllParameters_1_0_3936, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETALLPARAMETERSA }, { 0x02, 0x24 }, @@ -4631,21 +3875,16 @@ SOOVPA<9> IDirectSound_SetAllParameters_1_0_3936 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetI3DL2Listener // ****************************************************************** -SOOVPA<7> CDirectSound_SetI3DL2Listener_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSound_SetI3DL2Listener_1_0_3936, 7, - XREF_DSSETI3DL2LISTENER, // Xref Is Saved - XRefNotUsed, + XREF_DSSETI3DL2LISTENER, + XRefZero) - { { 0x08, 0xF8 }, { 0x12, 0x0C }, { 0x1C, 0x18 }, @@ -4653,21 +3892,16 @@ SOOVPA<7> CDirectSound_SetI3DL2Listener_1_0_3936 = { 0x33, 0x8B }, { 0x3E, 0xFF }, { 0x44, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetI3DL2Listener // ****************************************************************** -SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_SetI3DL2Listener_1_0_3936, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETI3DL2LISTENER }, { 0x02, 0x24 }, @@ -4678,21 +3912,15 @@ SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_3936 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::EnableHeadphones // ****************************************************************** -SOOVPA<7> CDirectSound_EnableHeadphones_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSound_EnableHeadphones_1_0_3936, 7, - XREF_DirectSound_CDirectSound_EnableHeadphones, // Xref Is Saved - XRefNotUsed, - - { + XREF_DirectSound_CDirectSound_EnableHeadphones, + XRefZero) { 0x18, 0x8B }, { 0x32, 0x0C }, { 0x4F, 0x8B }, @@ -4700,21 +3928,16 @@ SOOVPA<7> CDirectSound_EnableHeadphones_1_0_3936 = { 0x80, 0xFF }, { 0x9A, 0x76 }, { 0xB4, 0x5B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** -SOOVPA<8> IDirectSound_EnableHeadphones_1_0_3936 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_EnableHeadphones_1_0_3936, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSound_EnableHeadphones }, { 0x02, 0x24 }, @@ -4724,21 +3947,16 @@ SOOVPA<8> IDirectSound_EnableHeadphones_1_0_3936 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetMixBinVolumes // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetMixBinVolumes_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_1_0_3936, 9, - XREF_CDirectSoundStream_SetMixBinVolumes, // Xref Is Saved - 1, // Xref Is Used + XREF_CDirectSoundStream_SetMixBinVolumes, + XRefOne) - { { 0x11, XREF_CDirectSoundVoice_SetMixBinVolumes }, { 0x01, 0x74 }, @@ -4749,21 +3967,13 @@ SOOVPA<9> CDirectSoundStream_SetMixBinVolumes_1_0_3936 = { 0x10, 0xE8 }, { 0x15, 0xC2 }, { 0x16, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetI3DL2Source // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetI3DL2Source_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(CDirectSoundStream_SetI3DL2Source_1_0_3936, 9) - 0, // Xref Is Saved - 1, // Xref Is Used - - { { 0x11, XREF_CDirectSoundVoice_SetI3DL2Source }, { 0x01, 0x74 }, @@ -4774,21 +3984,16 @@ SOOVPA<9> CDirectSoundStream_SetI3DL2Source_1_0_3936 = { 0x10, 0xE8 }, { 0x15, 0xC2 }, { 0x16, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetNotificationPositions // ****************************************************************** -SOOVPA<7> CDirectSoundBuffer_SetNotificationPositions_1_0_3936 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions_1_0_3936, 7, - XREF_CDirectSoundBuffer_SetNotificationPositions, // Xref Is Saved - XRefNotUsed, + XREF_CDirectSoundBuffer_SetNotificationPositions, + XRefZero) - { { 0x09, 0x24 }, { 0x14, 0x24 }, { 0x1F, 0x74 }, @@ -4796,21 +4001,16 @@ SOOVPA<7> CDirectSoundBuffer_SetNotificationPositions_1_0_3936 = { 0x35, 0xF6 }, { 0x40, 0x07 }, { 0x4D, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetNotificationPositions // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_3936 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions_1_0_3936, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_CDirectSoundBuffer_SetNotificationPositions }, { 0x02, 0x24 }, @@ -4821,1368 +4021,340 @@ SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_3936 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream::Pause // ****************************************************************** -SOOVPA<6> CDirectSoundStream_Pause_1_0_3936 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(CDirectSoundStream_Pause_1_0_3936, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0xFF }, { 0x07, 0x08 }, { 0x0A, 0x24 }, { 0x10, 0xC2 }, { 0x11, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundCreate_1_0_3936 // ****************************************************************** -OOVPATable DSound_1_0_3936[] = -{ +OOVPATable DSound_1_0_3936[] = { + // DirectSoundCreate - { - (OOVPA*)&DirectSoundCreate_1_0_3936, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_3936, XTL::EmuDirectSoundCreate), // DirectSoundDoWorkB (XREF) - { - (OOVPA*)&DirectSoundDoWorkB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "DirectSoundDoWorkB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSoundDoWorkB_1_0_3936), // DirectSoundDoWorkA (XREF) - { - (OOVPA*)&DirectSoundDoWorkA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "DirectSoundDoWorkA (XRef)" - #endif - }, - // DirectSoundDoWork - { - (OOVPA*)&DirectSoundDoWork_1_0_3936, - - XTL::EmuDirectSoundDoWork, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundDoWork" - #endif - }, + OOVPA_TABLE_XREF(DirectSoundDoWorkA_1_0_3936), + // DirectSoundDoWork + OOVPA_TABLE_PATCH(DirectSoundDoWork_1_0_3936, XTL::EmuDirectSoundDoWork), // CDirectSound_CreateSoundStream - { - (OOVPA*)&CDirectSound_CreateSoundStream_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, - // IDirectSound8_CreateStream - { - (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, - - XTL::EmuIDirectSound8_CreateStream, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateStream" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundStream_1_0_3936), + // IDirectSound8_CreateStream + OOVPA_TABLE_PATCH(IDirectSound8_CreateStream_1_0_3936, XTL::EmuIDirectSound8_CreateStream), // CDirectSound_CreateSoundBuffer - { - (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundBuffer (XREF)" - #endif - }, - // IDirectSound8_CreateBuffer - { - (OOVPA*)&IDirectSound8_CreateBuffer_1_0_3936, - - XTL::EmuIDirectSound8_CreateBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateBuffer" - #endif - }, - // IDirectSoundBuffer8::Release - { - (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Release" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundBuffer_1_0_3936), + // IDirectSound8_CreateBuffer + OOVPA_TABLE_PATCH(IDirectSound8_CreateBuffer_1_0_3936, XTL::EmuIDirectSound8_CreateBuffer), + // IDirectSoundBuffer8::Release + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Release_1_0_3936, XTL::EmuIDirectSoundBuffer8_Release), // IDirectSoundBuffer8::SetPitchB (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetPitchB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetPitchB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetPitchB_1_0_3936), // IDirectSoundBuffer8::SetPitchA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetPitchA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetPitchA (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetPitch - { - (OOVPA*)&IDirectSoundBuffer8_SetPitch_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetPitch, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPitch" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetPitchA_1_0_3936), + // IDirectSoundBuffer8::SetPitch + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPitch_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetPitch), // CMcpxBuffer::GetStatus (XREF) - { - (OOVPA*)&CMcpxBuffer_GetStatus_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer::GetStatus (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatus_1_0_3936), // CDirectSoundBuffer::GetStatus (XREF) - { - (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::GetStatus (XRef)" - #endif - }, - // IDirectSoundBuffer8::GetStatus - { - (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_GetStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_GetStatus" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetStatus_1_0_3936), + // IDirectSoundBuffer8::GetStatus + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetStatus_1_0_3936, XTL::EmuIDirectSoundBuffer8_GetStatus), // IDirectSoundBuffer8::SetVolumeB (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetVolumeB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetVolumeB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetVolumeB_1_0_3936), // IDirectSoundBuffer8::SetVolumeA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetVolumeA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetVolumeA (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetVolume - { - (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetVolume" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetVolumeA_1_0_3936), + // IDirectSoundBuffer8::SetVolume + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVolume_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetVolume), // IDirectSoundBuffer8::SetCurrentPositionB (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetCurrentPositionB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetCurrentPositionB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetCurrentPositionB_1_0_3936), // IDirectSoundBuffer8::SetCurrentPositionA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetCurrentPositionA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetCurrentPositionA (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetCurrentPosition - { - (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetCurrentPositionA_1_0_3936), + // IDirectSoundBuffer8::SetCurrentPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetCurrentPosition_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetCurrentPosition), // IDirectSoundBuffer8::SetPlayRegionA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetPlayRegionA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetPlayRegionA (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetPlayRegion - { - (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetPlayRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPlayRegion" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetPlayRegionA_1_0_3936), + // IDirectSoundBuffer8::SetPlayRegion + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPlayRegion_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetPlayRegion), // IDirectSoundBuffer8::LockA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_LockA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_LockA (XRef)" - #endif - }, - // IDirectSoundBuffer8::Lock - { - (OOVPA*)&IDirectSoundBuffer8_Lock_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Lock" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_LockA_1_0_3936), + // IDirectSoundBuffer8::Lock + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Lock_1_0_3936, XTL::EmuIDirectSoundBuffer8_Lock), // IDirectSoundBuffer8::SetHeadroomA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetHeadroomA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetHeadroomA (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetHeadroom - { - (OOVPA*)&IDirectSoundBuffer8_SetHeadroom_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetHeadroom" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetHeadroomA_1_0_3936), + // IDirectSoundBuffer8::SetHeadroom + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetHeadroom_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetHeadroom), // IDirectSoundBuffer8::SetBufferDataA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferDataA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetBufferDataA (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetBufferData" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetBufferDataA_1_0_3936), + // IDirectSoundBuffer8::SetBufferData + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetBufferData_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetBufferData), // CMcpxVoiceClient::SetMixBins (XRef) - { - (OOVPA*)&CMcpxVoiceClient_SetMixBins_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetMixBins (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetMixBins_1_0_3936), // CDirectSoundVoice::SetMixBins (XRef) - { - (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBins (XRef)" - #endif - }, - // IDirectSoundStream::SetMixBins - { - (OOVPA*)&IDirectSoundStream_SetMixBins_1_0_3936, - - XTL::EmuCDirectSoundStream_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundStream_SetMixBins" - #endif - }, - // IDirectSoundBuffer8::SetMixBins - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBins" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBins_1_0_3936), + // IDirectSoundStream::SetMixBins + OOVPA_TABLE_PATCH(IDirectSoundStream_SetMixBins_1_0_3936, XTL::EmuCDirectSoundStream_SetMixBins), + // IDirectSoundBuffer8::SetMixBins + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBins_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetMixBins), // CMcpxBuffer::GetCurrentPosition - { - (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetCurrentPosition_1_0_3936), // CMcpxBuffer::GetCurrentPosition - { - (OOVPA*)&CMcpxBuffer_GetCurrentPosition2_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetCurrentPosition2_1_0_3936), // CDirectSoundBuffer::GetCurrentPosition - { - (OOVPA*)&CDirectSoundBuffer_GetCurrentPosition_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetCurrentPosition - { - (OOVPA*)&IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_GetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetCurrentPosition_1_0_3936), + // IDirectSoundBuffer8::GetCurrentPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, XTL::EmuIDirectSoundBuffer8_GetCurrentPosition), // CDirectSoundBuffer_Play - { - (OOVPA*)&CDirectSoundBuffer_Play_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::Play (XREF)" - #endif - }, - // IDirectSoundBuffer8::Play - { - (OOVPA*)&IDirectSoundBuffer8_Play_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Play, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Play" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Play_1_0_3936), + // IDirectSoundBuffer8::Play + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Play_1_0_3936, XTL::EmuIDirectSoundBuffer8_Play), // IDirectSoundBuffer8::Play /* { - (OOVPA*)&IDirectSoundBuffer8_Play2_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Play, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Play2_1_0_3936, XTL::EmuIDirectSoundBuffer8_Play, #ifdef _DEBUG_TRACE "EmuIDirectSoundBuffer8_Play [YESSSS! IT WORKED!]" #endif },*/ // CDirectSoundBuffer::Stop - { - (OOVPA*)&CDirectSoundBuffer_Stop_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_Stop (XREF)" - #endif - }, - // IDirectSoundBuffer8::Stop - { - (OOVPA*)&IDirectSoundBuffer8_Stop_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Stop, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Stop" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Stop_1_0_3936), + // IDirectSoundBuffer8::Stop + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Stop_1_0_3936, XTL::EmuIDirectSoundBuffer8_Stop), // CMcpxVoiceClient_SetVolume - { - (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetVolume (XREF)" - #endif - }, - // CDirectSoundStream_SetVolume - { - (OOVPA*)&CDirectSoundStream_SetVolume_1_0_3936, - - XTL::EmuCDirectSoundStream_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetVolume" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetVolume_1_0_3936), + // CDirectSoundStream_SetVolume + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVolume_1_0_3936, XTL::EmuCDirectSoundStream_SetVolume), // CDirectSoundStream::SetConeAnglesB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetConeAnglesB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetConeAnglesB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetConeAnglesB_1_0_3936), // CDirectSoundStream::SetConeAnglesA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetConeAnglesA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetConeAnglesA (XRef)" - #endif - }, - // CDirectSoundStream::SetConeAngles - { - (OOVPA*)&CDirectSoundStream_SetConeAngles_1_0_3936, - - XTL::EmuCDirectSoundStream_SetConeAngles, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetConeAngles" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetConeAnglesA_1_0_3936), + // CDirectSoundStream::SetConeAngles + OOVPA_TABLE_PATCH(CDirectSoundStream_SetConeAngles_1_0_3936, XTL::EmuCDirectSoundStream_SetConeAngles), // CDirectSoundStream::SetConeOutsideVolumeB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetConeOutsideVolumeB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetConeOutsideVolumeB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetConeOutsideVolumeB_1_0_3936), // CDirectSoundStream::SetConeOutsideVolumeA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetConeOutsideVolumeA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetConeOutsideVolumeA (XRef)" - #endif - }, - // CDirectSoundStream::SetConeOutsideVolume - { - (OOVPA*)&CDirectSoundStream_SetConeOutsideVolume_1_0_3936, - - XTL::EmuCDirectSoundStream_SetConeOutsideVolume, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetConeOutsideVolume" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetConeOutsideVolumeA_1_0_3936), + // CDirectSoundStream::SetConeOutsideVolume + OOVPA_TABLE_PATCH(CDirectSoundStream_SetConeOutsideVolume_1_0_3936, XTL::EmuCDirectSoundStream_SetConeOutsideVolume), //// CDirectSoundStream::SetAllParametersB (XREF) - //{ - // (OOVPA*)&CDirectSoundStream_SetAllParametersB_1_0_3936, 0, - - // #ifdef _DEBUG_TRACE - // "CDirectSoundStream_SetAllParametersB (XRef)" - // #endif - //}, + //OOVPA_TABLE_XREF(CDirectSoundStream_SetAllParametersB_1_0_3936), //// CDirectSoundStream::SetAllParametersA (XREF) - //{ - // (OOVPA*)&CDirectSoundStream_SetAllParametersA_1_0_3936, 0, - - // #ifdef _DEBUG_TRACE - // "CDirectSoundStream_SetAllParametersA (XRef)" - // #endif - //}, - //// CDirectSoundStream::SetAllParameters - //{ - // (OOVPA*)&CDirectSoundStream_SetAllParameters_1_0_3936, - - // XTL::EmuCDirectSoundStream_SetAllParameters, - - // #ifdef _DEBUG_TRACE - // "EmuCDirectSoundStream_SetAllParameters" - // #endif - //}, + //OOVPA_TABLE_XREFCDirectSoundStream_SetAllParametersA_1_0_3936), + //// CDirectSoundStream::SetAllParameters + //OOVPA_TABLE_PATCH(CDirectSoundStream_SetAllParameters_1_0_3936, XTL::EmuCDirectSoundStream_SetAllParameters), // CDirectSoundStream::SetMaxDistanceC (XREF) - { - (OOVPA*)&CDirectSoundStream_SetMaxDistanceC_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetMaxDistanceC (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetMaxDistanceC_1_0_3936), // CDirectSoundStream::SetMaxDistanceB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetMaxDistanceB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetMaxDistanceB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetMaxDistanceB_1_0_3936), // CDirectSoundStream::SetMaxDistanceA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetMaxDistanceA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetMaxDistanceA (XRef)" - #endif - }, - // CDirectSoundStream::SetMaxDistance - { - (OOVPA*)&CDirectSoundStream_SetMaxDistance_1_0_3936, - - XTL::EmuCDirectSoundStream_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetMaxDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetMaxDistanceA_1_0_3936), + // CDirectSoundStream::SetMaxDistance + OOVPA_TABLE_PATCH(CDirectSoundStream_SetMaxDistance_1_0_3936, XTL::EmuCDirectSoundStream_SetMaxDistance), // CDirectSoundStream::SetMinDistanceC (XREF) - { - (OOVPA*)&CDirectSoundStream_SetMinDistanceC_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetMinDistanceC (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetMinDistanceC_1_0_3936), // CDirectSoundStream::SetMinDistanceB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetMinDistanceB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetMinDistanceB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetMinDistanceB_1_0_3936), // CDirectSoundStream::SetMinDistanceA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetMinDistanceA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetMinDistanceA (XRef)" - #endif - }, - // CDirectSoundStream::SetMinDistance - { - (OOVPA*)&CDirectSoundStream_SetMinDistance_1_0_3936, - - XTL::EmuCDirectSoundStream_SetMinDistance, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetMinDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetMinDistanceA_1_0_3936), + // CDirectSoundStream::SetMinDistance + OOVPA_TABLE_PATCH(CDirectSoundStream_SetMinDistance_1_0_3936, XTL::EmuCDirectSoundStream_SetMinDistance), // CDirectSoundStream::SetVelocityC (XREF) - { - (OOVPA*)&CDirectSoundStream_SetVelocityC_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetVelocityC (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetVelocityC_1_0_3936), // CDirectSoundStream::SetVelocityB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetVelocityB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetVelocityB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetVelocityB_1_0_3936), // CDirectSoundStream::SetVelocityA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetVelocityA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetVelocityA (XRef)" - #endif - }, - // CDirectSoundStream::SetVelocity - { - (OOVPA*)&CDirectSoundStream_SetVelocity_1_0_3936, - - XTL::EmuCDirectSoundStream_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetVelocityA_1_0_3936), + // CDirectSoundStream::SetVelocity + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVelocity_1_0_3936, XTL::EmuCDirectSoundStream_SetVelocity), // CDirectSoundBuffer::SetVelocity (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVelocity (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetVelocity - { - (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetVelocity_1_0_3936), + // IDirectSoundBuffer8_SetVelocity + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVelocity_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetVelocity), // CDirectSoundStream::SetConeOrientationC (XREF) - { - (OOVPA*)&CDirectSoundStream_SetConeOrientationC_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetConeOrientationC (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetConeOrientationC_1_0_3936), // CDirectSoundStream::SetConeOrientationB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetConeOrientationB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetConeOrientationB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetConeOrientationB_1_0_3936), // CDirectSoundStream::SetConeOrientationA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetConeOrientationA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetConeOrientationA (XRef)" - #endif - }, - // CDirectSoundStream::SetConeOrientation - { - (OOVPA*)&CDirectSoundStream_SetConeOrientation_1_0_3936, - - XTL::EmuCDirectSoundStream_SetConeOrientation, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetConeOrientation" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetConeOrientationA_1_0_3936), + // CDirectSoundStream::SetConeOrientation + OOVPA_TABLE_PATCH(CDirectSoundStream_SetConeOrientation_1_0_3936, XTL::EmuCDirectSoundStream_SetConeOrientation), // CDirectSoundStream::SetPositionC (XREF) - { - (OOVPA*)&CDirectSoundStream_SetPositionC_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetPositionC (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetPositionC_1_0_3936), // CDirectSoundStream::SetPositionB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetPositionB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetPositionB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetPositionB_1_0_3936), // CDirectSoundStream::SetPositionA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetPositionA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetPositionA (XRef)" - #endif - }, - // CDirectSoundStream::SetPosition - { - (OOVPA*)&CDirectSoundStream_SetPosition_1_0_3936, - - XTL::EmuCDirectSoundStream_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetPositionA_1_0_3936), + // CDirectSoundStream::SetPosition + OOVPA_TABLE_PATCH(CDirectSoundStream_SetPosition_1_0_3936, XTL::EmuCDirectSoundStream_SetPosition), // CDirectSoundBuffer::SetPosition (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPosition (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetPosition - { - (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetPosition_1_0_3936), + // IDirectSoundBuffer8_SetPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPosition_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetPosition), // CDirectSoundStream::SetFrequencyB (XREF) - { - (OOVPA*)&CDirectSoundStream_SetFrequencyB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetFrequencyB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetFrequencyB_1_0_3936), // CDirectSoundStream::SetFrequencyA (XREF) - { - (OOVPA*)&CDirectSoundStream_SetFrequencyA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetFrequencyA (XRef)" - #endif - }, - // CDirectSoundStream::SetFrequency - { - (OOVPA*)&CDirectSoundStream_SetFrequency_1_0_3936, - - XTL::EmuCDirectSoundStream_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetFrequency" - #endif - }, - // IDirectSoundBuffer8::SetFrequency - { - (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetFrequency" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetFrequencyA_1_0_3936), + // CDirectSoundStream::SetFrequency + OOVPA_TABLE_PATCH(CDirectSoundStream_SetFrequency_1_0_3936, XTL::EmuCDirectSoundStream_SetFrequency), + // IDirectSoundBuffer8::SetFrequency + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetFrequency_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetFrequency), // CMcpxVoiceClient::Set3dMode (XREF) - { - (OOVPA*)&CMcpxVoiceClient_Set3dMode_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::Set3dMode (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_Set3dMode_1_0_3936), // CDirectSoundVoice::SetMode (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetMode_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMode (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetMode - { - (OOVPA*)&IDirectSoundBuffer8_SetMode_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMode" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMode_1_0_3936), + // IDirectSoundBuffer8::SetMode + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMode_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetMode), // IDirectSoundStream::SetI3DL2SourceA (XREF) - /*{ - (OOVPA*)&IDirectSoundStream_SetI3DL2SourceA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundStream_SetI3DL2SourceA (XRef) ******************" - #endif - }, - // IDirectSoundStream::SetI3DL2Source - { - (OOVPA*)&IDirectSoundStream_SetI3DL2Source_1_0_3936, - - XTL::EmuIDirectSoundStream_SetI3DL2Source, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundStream_SetI3DL2Source ***********************" - #endif - },*/ + /* + OOVPA_TABLE_XREF(IDirectSoundStream_SetI3DL2SourceA_1_0_3936), + // IDirectSoundStream::SetI3DL2Source + OOVPA_TABLE_PATCH(IDirectSoundStream_SetI3DL2Source_1_0_3936, XTL::EmuIDirectSoundStream_SetI3DL2Source), + */ /* // IDirectSoundStream::Unknown1 - { - (OOVPA*)&IDirectSoundStream_Unknown1_1_0_3936, - - XTL::EmuIDirectSoundStream_Unknown1, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundStream_Unknown1" - #endif - }, - //*/ + OOVPA_TABLE_PATCH(IDirectSoundStream_Unknown1_1_0_3936, XTL::EmuIDirectSoundStream_Unknown1), + */ // IDirectSoundStream::SetHeadroomA (XREF) - { - (OOVPA*)&IDirectSoundStream_SetHeadroomA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundStream_SetHeadroomA (XRef)" - #endif - }, - // IDirectSoundStream::SetHeadroom - { - (OOVPA*)&IDirectSoundStream_SetHeadroom_1_0_3936, - - XTL::EmuIDirectSoundStream_SetHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundStream_SetHeadroom" - #endif - }, - // IDirectSound8::SetOrientation - { - (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, - - XTL::EmuIDirectSound8_SetOrientation, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetOrientation" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundStream_SetHeadroomA_1_0_3936), + // IDirectSoundStream::SetHeadroom + OOVPA_TABLE_PATCH(IDirectSoundStream_SetHeadroom_1_0_3936, XTL::EmuIDirectSoundStream_SetHeadroom), + // IDirectSound8::SetOrientation + OOVPA_TABLE_PATCH(IDirectSound8_SetOrientation_1_0_3936, XTL::EmuIDirectSound8_SetOrientation), // CDirectSound::CommitDeferredSettingsB (XREF) - { - (OOVPA*)&CDirectSound_CommitDeferredSettingsB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_CommitDeferredSettingsB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CommitDeferredSettingsB_1_0_3936), // CDirectSound::CommitDeferredSettingsA (XREF) - { - (OOVPA*)&CDirectSound_CommitDeferredSettingsA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_CommitDeferredSettingsA (XRef)" - #endif - }, - // CDirectSound::CommitDeferredSettings - { - (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_3936, - - XTL::EmuCDirectSound_CommitDeferredSettings, - - #ifdef _DEBUG_TRACE - "EmuCDirectSound_CommitDeferredSettings" - #endif - }, - // IDirectSound8::Release - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CommitDeferredSettingsA_1_0_3936), + // CDirectSound::CommitDeferredSettings + OOVPA_TABLE_PATCH(CDirectSound_CommitDeferredSettings_1_0_3936, XTL::EmuCDirectSound_CommitDeferredSettings), + // IDirectSound8::Release + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), // CDirectSound::SetDistanceFactorB (XREF) - { - (OOVPA*)&CDirectSound_SetDistanceFactorB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDistanceFactorB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDistanceFactorB_1_0_3936), // CDirectSound::SetDistanceFactorA (XREF) - { - (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDistanceFactorA (XRef)" - #endif - }, - // IDirectSound8::SetDistanceFactor - { - (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_3936, - - XTL::EmuIDirectSound8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDistanceFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDistanceFactorA_1_0_3936), + // IDirectSound8::SetDistanceFactor + OOVPA_TABLE_PATCH(IDirectSound8_SetDistanceFactor_1_0_3936, XTL::EmuIDirectSound8_SetDistanceFactor), // CDirectSound::SetRolloffFactorB (XREF) - { - (OOVPA*)&CDirectSound_SetRolloffFactorB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetRolloffFactorB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetRolloffFactorB_1_0_3936), // CDirectSound::SetRolloffFactorA (XREF) - { - (OOVPA*)&CDirectSound_SetRolloffFactorA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetRolloffFactorA (XRef)" - #endif - }, - // IDirectSound8::SetRolloffFactor - { - (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_3936, - - XTL::EmuIDirectSound8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetRolloffFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetRolloffFactorA_1_0_3936), + // IDirectSound8::SetRolloffFactor + OOVPA_TABLE_PATCH(IDirectSound8_SetRolloffFactor_1_0_3936, XTL::EmuIDirectSound8_SetRolloffFactor), // CDirectSound::SetMixBinHeadroomB (XREF) - { - (OOVPA*)&CDirectSound_SetMixBinHeadroomB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetMixBinHeadroomB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetMixBinHeadroomB_1_0_3936), // CDirectSound::SetMixBinHeadroomA (XREF) - { - (OOVPA*)&CDirectSound_SetMixBinHeadroomA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetMixBinHeadroomA (XRef)" - #endif - }, - // IDirectSound8::SetMixBinHeadroom - { - (OOVPA*)&IDirectSound8_SetMixBinHeadroom_1_0_3936, - - XTL::EmuIDirectSound8_SetMixBinHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetMixBinHeadroom" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetMixBinHeadroomA_1_0_3936), + // IDirectSound8::SetMixBinHeadroom + OOVPA_TABLE_PATCH(IDirectSound8_SetMixBinHeadroom_1_0_3936, XTL::EmuIDirectSound8_SetMixBinHeadroom), // CDirectSound::SetPositionB (XREF) - { - (OOVPA*)&CDirectSound_SetPositionB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetPositionB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetPositionB_1_0_3936), // CDirectSound::SetPositionA (XREF) - { - (OOVPA*)&CDirectSound_SetPositionA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetPositionA (XRef)" - #endif - }, - // IDirectSound8::SetPosition - { - (OOVPA*)&IDirectSound8_SetPosition_1_0_3936, - - XTL::EmuIDirectSound8_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetPositionA_1_0_3936), + // IDirectSound8::SetPosition + OOVPA_TABLE_PATCH(IDirectSound8_SetPosition_1_0_3936, XTL::EmuIDirectSound8_SetPosition), // CDirectSound::SetVelocityB (XREF) - { - (OOVPA*)&CDirectSound_SetVelocityB_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetVelocityB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetVelocityB_1_0_3936), // CDirectSound::SetVelocityA (XREF) - { - (OOVPA*)&CDirectSound_SetVelocityA_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetVelocityA (XRef)" - #endif - }, - // IDirectSound8::SetVelocity - { - (OOVPA*)&IDirectSound8_SetVelocity_1_0_3936, - - XTL::EmuIDirectSound8_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetVelocityA_1_0_3936), + // IDirectSound8::SetVelocity + OOVPA_TABLE_PATCH(IDirectSound8_SetVelocity_1_0_3936, XTL::EmuIDirectSound8_SetVelocity), // CDirectSound::SetAllParametersB (XREF) - { - (OOVPA*)&CMcpxAPU_Set3dParameters_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetAllParametersB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxAPU_Set3dParameters_1_0_3936), // CDirectSound::SetAllParametersA (XREF) - { - (OOVPA*)&CDirectSound_SetAllParameters_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetAllParametersA (XRef)" - #endif - }, - // IDirectSound8::SetAllParameters - { - (OOVPA*)&IDirectSound_SetAllParameters_1_0_3936, - - XTL::EmuIDirectSound8_SetAllParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetAllParameters" - #endif - }, - // IDirectSound8::DownloadEffectsImage - { - (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, - - XTL::EmuIDirectSound8_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_DownloadEffectsImage" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetAllParameters_1_0_3936), + // IDirectSound8::SetAllParameters + OOVPA_TABLE_PATCH(IDirectSound_SetAllParameters_1_0_3936, XTL::EmuIDirectSound8_SetAllParameters), + // IDirectSound8::DownloadEffectsImage + OOVPA_TABLE_PATCH(IDirectSound8_DownloadEffectsImage_1_0_3936, XTL::EmuIDirectSound8_DownloadEffectsImage), // CDirectSoundStream::SetMode - { - (OOVPA*)&CDirectSoundStream_SetMode_1_0_3936, - - XTL::EmuCDirectSoundStream_SetMode, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetMode" - #endif - }, + OOVPA_TABLE_PATCH(CDirectSoundStream_SetMode_1_0_3936, XTL::EmuCDirectSoundStream_SetMode), // DirectSound::CMcpxBuffer::Play (XREF) - /*{ - (OOVPA*)&DirectSound_CMcpxBuffer_Play_1_0_4361, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CMcpxBuffer::Play (XREF)" - #endif - },*/ + /* + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_Play_1_0_4361), + */ // CMcpxAPU::Set3dDopplerFactor (XREF) - { - (OOVPA*)&CMcpxAPU_Set3dDopplerFactor_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CMcpxAPU::Set3dDopplerFactor (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxAPU_Set3dDopplerFactor_1_0_3936), // CDirectSound::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetDopplerFactor (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDopplerFactor_1_0_3936), // IDirectSound_SetDopplerFactor - { - (OOVPA*)&IDirectSound_SetDopplerFactor_1_0_3936, - XTL::EmuIDirectSound8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "IDirectSound_SetDopplerFactor" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound_SetDopplerFactor_1_0_3936, XTL::EmuIDirectSound8_SetDopplerFactor), // CSensaura3d::GetFullHRTFFilterPair (XREF) - { - (OOVPA*)&CSensaura3d_GetFullHRTFFilterPair_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CSensaura3d::GetFullHRTFFilterPair (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CSensaura3d_GetFullHRTFFilterPair_1_0_3936), // DirectSoundUseFullHRTF - { - (OOVPA*)&DirectSoundUseFullHRTF_1_0_3936, - XTL::EmuDirectSoundUseFullHRTF, - - #ifdef _DEBUG_TRACE - "DirectSoundUseFullHRTF" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundUseFullHRTF_1_0_3936, XTL::EmuDirectSoundUseFullHRTF), // CDirectSound::GetCaps (XREF) - { - (OOVPA*)&CDirectSound_GetCaps_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::GetCaps (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_GetCaps_1_0_3936), // IDirectSound_GetCaps - { - (OOVPA*)&IDirectSound_GetCaps_1_0_3936, - XTL::EmuIDirectSound8_GetCaps, - - #ifdef _DEBUG_TRACE - "IDirectSound_GetCaps" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound_GetCaps_1_0_3936, XTL::EmuIDirectSound8_GetCaps), // CDirectSoundVoice::SetConeAngles (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetConeAngles_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetConeAngles (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetConeAngles_1_0_3936), // IDirectSoundBuffer_SetConeAngles - { - (OOVPA*)&IDirectSoundBuffer_SetConeAngles_1_0_3936, - XTL::EmuIDirectSoundBuffer8_SetConeAngles, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetConeAngles" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetConeAngles_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetConeAngles), // DirectSoundEnterCriticalSection (XREF) - { - (OOVPA*)&DirectSoundEnterCriticalSection_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "DirectSoundEnterCriticalSection (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSoundEnterCriticalSection_1_0_3936), // DirectSoundUseFullHRTF - { - (OOVPA*)&DirectSoundUseFullHRTF2_1_0_3936, - XTL::EmuDirectSoundUseFullHRTF, - - #ifdef _DEBUG_TRACE - "DirectSoundUseFullHRTF" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundUseFullHRTF2_1_0_3936, XTL::EmuDirectSoundUseFullHRTF), // DirectSound::CDirectSoundBuffer::PlayEx (XREF) - { - (OOVPA*)&CDirectSoundBuffer_PlayEx_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" - #endif - }, - // IDirectSoundBuffer_PlayEx - { - (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_3936, - XTL::EmuIDirectSoundBuffer8_PlayEx, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_PlayEx" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_PlayEx_1_0_3936), + // IDirectSoundBuffer_PlayEx + OOVPA_TABLE_PATCH(IDirectSoundBuffer_PlayEx_1_0_3936, XTL::EmuIDirectSoundBuffer8_PlayEx), // IDirectSound8::AddRef - { - (OOVPA*)&IDirectSound8_AddRef_1_0_3936, - - XTL::EmuIDirectSound8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_AddRef_1_0_3936, XTL::EmuIDirectSound8_AddRef), // DirectSoundGetSampleTime - { - (OOVPA*)&DirectSoundGetSampleTime_1_0_3936, - XTL::EmuDirectSoundGetSampleTime, - - #ifdef _DEBUG_TRACE - "DirectSoundGetSampleTime" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundGetSampleTime_1_0_3936, XTL::EmuDirectSoundGetSampleTime), // IDirectSoundBuffer_AddRef - { - (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_AddRef_1_0_3936, XTL::EmuIDirectSoundBuffer8_AddRef), // CDirectSoundBuffer::SetMinDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMinDistance (XREF)" - #endif - }, - // IDirectSoundBuffer_SetMinDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_3936, - XTL::EmuIDirectSoundBuffer8_SetMinDistance, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMinDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMinDistance_1_0_3936), + // IDirectSoundBuffer_SetMinDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMinDistance_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetMinDistance), // CDirectSoundBuffer::SetMaxDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMaxDistance (XREF)" - #endif - }, - // IDirectSoundBuffer_SetMaxDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_3936, - XTL::EmuIDirectSoundBuffer8_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMaxDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_3936), + // IDirectSoundBuffer_SetMaxDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMaxDistance_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetMaxDistance), // CMcpxVoiceClient::Commit3dSettings (XREF) - { - (OOVPA*)&CMcpxVoiceClient_Commit3dSettings_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::Commit3dSettings (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_Commit3dSettings_1_0_3936), // CMcpxVoiceClient::SetI3DL2Source (XREF) - { - (OOVPA*)&CMcpxVoiceClient_SetI3DL2Source_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetI3DL2Source (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetI3DL2Source_1_0_3936), // CDirectSoundVoice::SetI3DL2Source (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetI3DL2Source_1_0_3936, - XTL::EmuCDirectSoundStream_SetI3DL2Source, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetI3DL2Source (XREF)" - #endif - }, + OOVPA_TABLE_PATCH(CDirectSoundVoice_SetI3DL2Source_1_0_3936, XTL::EmuCDirectSoundStream_SetI3DL2Source), // IDirectSoundBuffer_SetI3DL2Source - { - (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_3936, - XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetI3DL2Source" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetI3DL2Source_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetI3DL2Source), // CDirectSoundVoice::SetMixBinVolumes - { - (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice_SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBinVolumes_1_0_3936), // IDirectSoundBuffer_SetMixBinVolumes - { - (OOVPA*)&IDirectSoundBuffer_SetMixBinVolumes_1_0_3936, - XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBinVolumes" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMixBinVolumes_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes), // CDirectSound_SetI3DL2Listener - { - (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF)" - #endif - }, - // IDirectSound8_SetI3DL2Listener - { - (OOVPA*)&IDirectSound_SetI3DL2Listener_1_0_3936, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetI3DL2Listener_1_0_3936), + // IDirectSound8_SetI3DL2Listener + OOVPA_TABLE_PATCH(IDirectSound_SetI3DL2Listener_1_0_3936, XTL::EmuIDirectSound8_SetI3DL2Listener), // DirectSound::CDirectSound::EnableHeadphones (XREF) - { - (OOVPA*)&CDirectSound_EnableHeadphones_1_0_3936, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::EnableHeadphones (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_EnableHeadphones_1_0_3936), // EmuIDirectSound_EnableHeadphones - { - (OOVPA*)&IDirectSound_EnableHeadphones_1_0_3936, - XTL::EmuIDirectSound_EnableHeadphones, - - #ifdef _DEBUG_TRACE - "IDirectSound_EnableHeadphones" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound_EnableHeadphones_1_0_3936, XTL::EmuIDirectSound_EnableHeadphones), // CDirectSoundStream::SetMixBinVolumes - { - (OOVPA*)&CDirectSoundStream_SetMixBinVolumes_1_0_3936, - XTL::EmuCDirectSoundStream_SetMixBinVolumes, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_SetMixBinVolumes" - #endif - }, + OOVPA_TABLE_PATCH(CDirectSoundStream_SetMixBinVolumes_1_0_3936, XTL::EmuCDirectSoundStream_SetMixBinVolumes), // CDirectSoundStream::SetI3DL2Source - /*{ - (OOVPA*)&CDirectSoundStream_SetI3DL2Source_1_0_3936, - - XTL::EmuCDirectSoundStream_SetI3DL2Source, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetI3DL2Source" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(CDirectSoundStream_SetI3DL2Source_1_0_3936, XTL::EmuCDirectSoundStream_SetI3DL2Source), + */ // CDirectSoundBuffer_SetNotificationPositions - { - (OOVPA*)&CDirectSoundBuffer_SetNotificationPositions_1_0_3936, 0, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundBuffer_SetNotificationPositions" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetNotificationPositions_1_0_3936), // IDirectSoundBuffer_SetNotificationPositions - { - (OOVPA*)&IDirectSoundBuffer_SetNotificationPositions_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetNotificationPositions, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer_SetNotificationPositions" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetNotificationPositions_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetNotificationPositions), // CDirectSoundStream::Pause - { - (OOVPA*)&CDirectSoundStream_Pause_1_0_3936, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_Pause" - #endif - }, + OOVPA_TABLE_PATCH(CDirectSoundStream_Pause_1_0_3936, XTL::EmuCDirectSoundStream_Pause), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index ede14febd..5878a3fdd 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * DirectSoundCreate // ****************************************************************** -SOOVPA<9> DirectSoundCreate_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(DirectSoundCreate_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // DirectSoundCreate+0x0B : movzx esi, al { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 { 0x0C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -62,21 +55,13 @@ SOOVPA<9> DirectSoundCreate_1_0_4134 = // DirectSoundCreate+0x43 : leave { 0x43, 0xC9 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_CreateSoundBuffer // ****************************************************************** -SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirectSound8_CreateSoundBuffer_1_0_4134, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSound8_CreateSoundBuffer+0x2A : push 0x24 { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 { 0x2B, 0x24 }, // (Offset,Value)-Pair #2 @@ -91,21 +76,15 @@ SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4134 = { 0x4D, 0xFF }, // (Offset,Value)-Pair #7 { 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 { 0x4F, 0x7F }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetHeadroom // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134, 7, - XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved - XRefNotUsed, - - { + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, + XRefZero) { 0x03, 0x04 }, { 0x08, 0x48 }, { 0x0D, 0x24 }, @@ -113,21 +92,15 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134 = { 0x17, 0x8B }, { 0x1F, 0x5E }, { 0x21, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetHeadroom // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134, 8, - XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved - 1, - - { + XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, + XRefOne) { 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, { 0x0C, 0x00 }, @@ -137,21 +110,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetHeadroom // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetHeadroom_1_0_4134, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom }, { 0x02, 0x24 }, @@ -161,21 +129,13 @@ SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_4134 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Lock // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_Lock_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirectSoundBuffer_Lock_1_0_4134, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x75 }, { 0x0A, 0x75 }, { 0x10, 0x1C }, @@ -184,21 +144,15 @@ SOOVPA<8> IDirectSoundBuffer_Lock_1_0_4134 = { 0x22, 0xC8 }, { 0x2C, 0x5D }, { 0x2E, 0x20 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetVolume // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetVolume_1_0_4134, 7, - XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved - XRefNotUsed, - - { + XREF_DirectSound_CDirectSoundVoice_SetVolume, + XRefZero) { 0x02, 0x24 }, { 0x06, 0x10 }, { 0x0A, 0x08 }, @@ -206,21 +160,15 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_4134 = { 0x12, 0x49 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetVolume // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134, 8, - XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved - 1, - - { + XREF_DirectSound_CDirectSoundBuffer_SetVolume, + XRefOne) { 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume }, { 0x0C, 0x00 }, @@ -230,21 +178,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetVolume // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetVolume_1_0_4134, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume }, { 0x02, 0x24 }, @@ -254,21 +197,15 @@ SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_4134 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetI3DL2Listener // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134, 7, - XREF_DSSETI3DL2LISTENER, // Xref Is Saved - XRefNotUsed, - - { + XREF_DSSETI3DL2LISTENER, + XRefZero) { 0x1E, 0x15 }, { 0x3E, 0x88 }, { 0x5E, 0x5A }, @@ -276,21 +213,16 @@ SOOVPA<7> DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134 = { 0x9E, 0x20 }, { 0xBE, 0x00 }, { 0xDE, 0x75 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetI3DL2Listener // ****************************************************************** -SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_SetI3DL2Listener_1_0_4134, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETI3DL2LISTENER }, { 0x02, 0x24 }, @@ -301,21 +233,15 @@ SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_4134 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetBufferData // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134, 7, - XREF_DSSETBUFFERDATA2, // Xref Is Saved - XRefNotUsed, - - { + XREF_DSSETBUFFERDATA2, + XRefZero) { 0x14, 0x0C }, { 0x2A, 0xB6 }, { 0x40, 0xB8 }, @@ -323,21 +249,16 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134 = { 0x6C, 0x8B }, { 0x82, 0x7C }, { 0x98, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetBufferData // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetBufferData_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetBufferData_1_0_4134, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETBUFFERDATA2 }, { 0x02, 0x24 }, @@ -348,21 +269,15 @@ SOOVPA<9> IDirectSoundBuffer_SetBufferData_1_0_4134 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::GetEffectData // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSound_GetEffectData_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSound_GetEffectData_1_0_4134, 8, - XREF_DirectSound_CDirectSound_GetEffectData, // Xref Is Saved - XRefNotUsed, - - { + XREF_DirectSound_CDirectSound_GetEffectData, + XRefZero) { 0x0A, 0x3D }, { 0x16, 0xF6 }, { 0x24, 0xB8 }, @@ -371,21 +286,16 @@ SOOVPA<8> DirectSound_CDirectSound_GetEffectData_1_0_4134 = { 0x46, 0x85 }, { 0x52, 0x15 }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_GetEffectData // ****************************************************************** -SOOVPA<9> IDirectSound_GetEffectData_1_0_4134 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_GetEffectData_1_0_4134, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1F, XREF_DirectSound_CDirectSound_GetEffectData }, { 0x03, 0xFF }, @@ -396,21 +306,15 @@ SOOVPA<9> IDirectSound_GetEffectData_1_0_4134 = { 0x1C, 0xC8 }, { 0x23, 0x5D }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoiceSettings::SetMixBins // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134, 7, - XREF_DSSETMIXBINSC, // Xref Is Saved - XRefNotUsed, - - { + XREF_DSSETMIXBINSC, + XRefZero) { 0x0E, 0xB8 }, { 0x22, 0x83 }, { 0x2E, 0x71 }, @@ -418,21 +322,15 @@ SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134 = { 0x4E, 0x41 }, { 0x5E, 0x00 }, { 0x6E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMixBins // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134, 8, - XREF_DSSETMIXBINSB, // Xref Is Saved - 1, - - { + XREF_DSSETMIXBINSB, + XRefOne) { 0x0D, XREF_DSSETMIXBINSC }, { 0x02, 0x74 }, @@ -442,21 +340,15 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134 = { 0x12, 0x4E }, { 0x19, 0x5E }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetMixBins // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134, 8, - XREF_DSSETMIXBINSA, // Xref Is Saved - 1, - - { + XREF_DSSETMIXBINSA, + XRefOne) { 0x32, XREF_DSSETMIXBINSB }, { 0x0C, 0x00 }, @@ -466,21 +358,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMixBins // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetMixBins_1_0_4134, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSSETMIXBINSA }, { 0x02, 0x24 }, @@ -490,224 +377,59 @@ SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_4134 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundCreate_1_0_4134 // ****************************************************************** -OOVPATable DSound_1_0_4134[] = -{ +OOVPATable DSound_1_0_4134[] = { + // DirectSoundCreate - { - (OOVPA*)&DirectSoundCreate_1_0_4134, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_4134, XTL::EmuDirectSoundCreate), // IDirectSound8::AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_AddRef_1_0_3936, - - XTL::EmuIDirectSound8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_AddRef_1_0_3936, XTL::EmuIDirectSound8_AddRef), // IDirectSound8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, - - XTL::EmuIDirectSound8_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_DownloadEffectsImage" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_DownloadEffectsImage_1_0_3936, XTL::EmuIDirectSound8_DownloadEffectsImage), // IDirectSound8::CreateSoundBuffer - { - (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4134, - - XTL::EmuIDirectSound8_CreateSoundBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateSoundBuffer" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_CreateSoundBuffer_1_0_4134, XTL::EmuIDirectSound8_CreateSoundBuffer), // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetHeadroom (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134), // DirectSound::CDirectSoundBuffer::SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetHeadroom (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134), // IDirectSoundBuffer_SetHeadroom - { - (OOVPA*)&IDirectSoundBuffer_SetHeadroom_1_0_4134, - XTL::EmuIDirectSoundBuffer8_SetHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetHeadRoom" - #endif - }, - // IDirectSoundBuffer8::Lock - { - (OOVPA*)&IDirectSoundBuffer_Lock_1_0_4134, - - XTL::EmuIDirectSoundBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Lock" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetHeadroom_1_0_4134, XTL::EmuIDirectSoundBuffer8_SetHeadroom), + // IDirectSoundBuffer8::Lock + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Lock_1_0_4134, XTL::EmuIDirectSoundBuffer8_Lock), // DirectSound::CDirectSoundVoice::SetVolume (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetVolume_1_0_4134,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetVolume_1_0_4134), // DirectSound::CDirectSoundBuffer::SetVolume (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134), // IDirectSoundBuffer_SetVolume (XREF) - { - (OOVPA*)&IDirectSoundBuffer_SetVolume_1_0_4134, - XTL::EmuIDirectSoundBuffer8_SetVolume, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetVolume" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetVolume_1_0_4134, XTL::EmuIDirectSoundBuffer8_SetVolume), // CDirectSound_SetI3DL2Listener - { - (OOVPA*)&DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF)" - #endif - }, - // IDirectSound8_SetI3DL2Listener - { - (OOVPA*)&IDirectSound_SetI3DL2Listener_1_0_4134, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134), + // IDirectSound8_SetI3DL2Listener + OOVPA_TABLE_PATCH(IDirectSound_SetI3DL2Listener_1_0_4134, XTL::EmuIDirectSound8_SetI3DL2Listener), // CDirectSound_GetEffectData - { - (OOVPA*)&DirectSound_CDirectSound_GetEffectData_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::GetEffectData" - #endif - }, - // IDirectSound8_SetI3DL2Listener - { - (OOVPA*)&IDirectSound_GetEffectData_1_0_4134, - - XTL::EmuIDirectSound8_GetEffectData, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_GetEffectData" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_GetEffectData_1_0_4134), + // IDirectSound8_SetI3DL2Listener + OOVPA_TABLE_PATCH(IDirectSound_GetEffectData_1_0_4134, XTL::EmuIDirectSound8_GetEffectData), // CDirectSoundBuffer::SetBufferData - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetBufferData (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData - { - (OOVPA*)&IDirectSoundBuffer_SetBufferData_1_0_4134, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetBufferData" - #endif - }, - // IDirectSound8_CreateStream - { - (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, - - XTL::EmuIDirectSound8_CreateStream, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateStream" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134), + // IDirectSoundBuffer8::SetBufferData + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetBufferData_1_0_4134, XTL::EmuIDirectSoundBuffer8_SetBufferData), + // IDirectSound8_CreateStream + OOVPA_TABLE_PATCH(IDirectSound8_CreateStream_1_0_3936, XTL::EmuIDirectSound8_CreateStream), // CDirectSoundVoiceSettings::SetMixBins - { - (OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134), // CDirectSoundVoice::SetMixBins - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134), // CDirectSoundBuffer::SetMixBins - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBins (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetMixBins - { - (OOVPA*)&IDirectSoundBuffer_SetMixBins_1_0_4134, - - XTL::EmuIDirectSoundBuffer8_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBins" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134), + // IDirectSoundBuffer8::SetMixBins + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMixBins_1_0_4134, XTL::EmuIDirectSoundBuffer8_SetMixBins), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 088d72927..a46e142b0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * DirectSoundCreate // ****************************************************************** -SOOVPA<9> DirectSoundCreate_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(DirectSoundCreate_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // DirectSoundCreate+0x0B : movzx esi, al { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 { 0x0C, 0xB6 }, // (Offset,Value)-Pair #2 @@ -62,21 +55,13 @@ SOOVPA<9> DirectSoundCreate_1_0_4361 = // DirectSoundCreate+0x43 : leave { 0x43, 0xC9 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_CreateSoundBuffer // ****************************************************************** -SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(IDirectSound8_CreateSoundBuffer_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSound8_CreateSoundBuffer+0x2A : push 0x24 { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 { 0x2B, 0x24 }, // (Offset,Value)-Pair #2 @@ -91,21 +76,16 @@ SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4361 = { 0x4D, 0xFF }, // (Offset,Value)-Pair #7 { 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 { 0x4F, 0x7F }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CreateSoundStream // ****************************************************************** -SOOVPA<14> CDirectSound_CreateSoundStream_1_0_4361 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSound_CreateSoundStream_1_0_4361, 14, - XREF_DSCREATESOUNDSTREAM, // XRef Is Saved - 0, // XRef Not Used + XREF_DSCREATESOUNDSTREAM, + XRefZero) - { // CDirectSound_CreateSoundStream+0x23 : mov eax, 0x80004005 { 0x23, 0xB8 }, // (Offset,Value)-Pair #1 { 0x24, 0x05 }, // (Offset,Value)-Pair #2 @@ -127,21 +107,16 @@ SOOVPA<14> CDirectSound_CreateSoundStream_1_0_4361 = // CDirectSound_CreateSoundStream+0x8E : retn 0x10 { 0x8E, 0xC2 }, // (Offset,Value)-Pair #13 { 0x8F, 0x10 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundCreateStream // ****************************************************************** -SOOVPA<12> DirectSoundCreateStream_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(DirectSoundCreateStream_1_0_4361, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // DirectSoundCreateStream+0x2F : call [CDirectSound::CreateSoundStream] { 0x2F, XREF_DSCREATESOUNDSTREAM }, // (Offset,Value)-Pair #1 @@ -163,21 +138,16 @@ SOOVPA<12> DirectSoundCreateStream_1_0_4361 = // DirectSoundCreateStream+0x54 : retn 0x08 { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 { 0x55, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -SOOVPA<11> CMcpxStream_Pause_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxStream_Pause_1_0_4361, 11, - XREF_DSSTREAMPAUSE, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMPAUSE, + XRefZero) - { // CMcpxStream_Pause+0x1E : or eax, 4 { 0x1E, 0x83 }, // (Offset,Value)-Pair #1 { 0x1F, 0xC8 }, // (Offset,Value)-Pair #2 @@ -196,21 +166,16 @@ SOOVPA<11> CMcpxStream_Pause_1_0_4361 = // CMcpxStream_Pause+0x44 : retn 0x04 { 0x44, 0xC2 }, // (Offset,Value)-Pair #10 { 0x45, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_Pause // ****************************************************************** -SOOVPA<11> CDirectSoundStream_Pause_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundStream_Pause_1_0_4361, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_Pause+0x35 : call [CMcpxStream::Pause] { 0x35, XREF_DSSTREAMPAUSE }, // (Offset,Value)-Pair #1 @@ -229,23 +194,14 @@ SOOVPA<11> CDirectSoundStream_Pause_1_0_4361 = // CDirectSoundStream_Pause+0x4E : retn 0x08 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4F, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPlayRegion // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 - +OOVPA_NO_XREF(IDirectSoundBuffer8_SetPlayRegion_1_0_4361, 10) // NOTE: This is actually intercepting CDirectSoundBuffer::SetPlayRegion(ULONG, ULONG) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSoundBuffer8_SetPlayRegion+0x10 : movzx edi, al { 0x10, 0x0F }, // (Offset,Value)-Pair #1 { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 @@ -261,23 +217,14 @@ SOOVPA<10> IDirectSoundBuffer8_SetPlayRegion_1_0_4361 = { 0x48, 0x00 }, // (Offset,Value)-Pair #8 { 0x49, 0x78 }, // (Offset,Value)-Pair #9 { 0x4A, 0x88 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetLoopRegion // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer8_SetLoopRegion_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 - +OOVPA_NO_XREF(IDirectSoundBuffer8_SetLoopRegion_1_0_4361, 11) // NOTE: This is actually intercepting CDirectSoundBuffer::SetLoopRegion(ULONG, ULONG) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSoundBuffer8_SetLoopRegion+0x24 : mov eax, 0x80004005 { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 { 0x25, 0x05 }, // (Offset,Value)-Pair #2 @@ -296,23 +243,14 @@ SOOVPA<11> IDirectSoundBuffer8_SetLoopRegion_1_0_4361 = // IDirectSoundBuffer8_SetLoopRegion+0x82 : retn 0x0C { 0x82, 0xC2 }, // (Offset,Value)-Pair #10 { 0x83, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetVolume // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer8_SetVolume_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 - +OOVPA_NO_XREF(IDirectSoundBuffer8_SetVolume_1_0_4361, 11) // NOTE: This is actually intercepting CDirectSoundBuffer::SetVolume(ULONG) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSoundBuffer8_SetVolume+0x0D : movzx esi, al { 0x0D, 0x0F }, // (Offset,Value)-Pair #1 { 0x0E, 0xB6 }, // (Offset,Value)-Pair #2 @@ -331,21 +269,16 @@ SOOVPA<11> IDirectSoundBuffer8_SetVolume_1_0_4361 = // IDirectSoundBuffer8_SetVolume+0x4B : retn 0x08 { 0x4B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4C, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_SetBufferData // ****************************************************************** -SOOVPA<9> CMcpxBuffer_SetBufferData_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CMcpxBuffer_SetBufferData_1_0_4361, 9, - XREF_DSSETBUFFERDATA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETBUFFERDATA, + XRefZero) - { // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx { 0x1E, 0x3B }, // (Offset,Value)-Pair #1 { 0x1F, 0xC3 }, // (Offset,Value)-Pair #2 @@ -362,21 +295,16 @@ SOOVPA<9> CMcpxBuffer_SetBufferData_1_0_4361 = // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 { 0x89, 0xC2 }, // (Offset,Value)-Pair #8 { 0x8A, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_SetBufferData // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_SetBufferData_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_SetBufferData_1_0_4361, 10, - XREF_DSSETBUFFERDATA2, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETBUFFERDATA2, + XRefOne) - { // CDirectSoundBuffer_SetBufferData+0x7A : call [CMcpxBuffer::SetBufferData] { 0x7A, XREF_DSSETBUFFERDATA }, // (Offset,Value)-Pair #1 @@ -394,21 +322,16 @@ SOOVPA<10> CDirectSoundBuffer_SetBufferData_1_0_4361 = // CDirectSoundBuffer_SetBufferData+0xAB : retn 0x0C { 0xAB, 0xC2 }, // (Offset,Value)-Pair #9 { 0xAC, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetBufferData // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetBufferData_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetBufferData_1_0_4361, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetBufferData+0x19 : call [CDirectSoundBuffer::SetBufferData] { 0x19, XREF_DSSETBUFFERDATA2 }, // (Offset,Value)-Pair #1 @@ -424,21 +347,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetBufferData_1_0_4361 = // IDirectSoundBuffer8_SetBufferData+0x15 : and ecx, eax { 0x15, 0x23 }, // (Offset,Value)-Pair #7 { 0x16, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_SetCurrentPosition // ****************************************************************** -SOOVPA<9> CMcpxBuffer_SetCurrentPosition_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CMcpxBuffer_SetCurrentPosition_1_0_4361, 9, - XREF_SETCURRENTPOSITION, // XRef Is Saved - 0, // XRef Not Used + XREF_SETCURRENTPOSITION, + XRefZero) - { // CMcpxBuffer_SetCurrentPosition+0x11 : mov al, [esi+12] { 0x11, 0x8A }, // (Offset,Value)-Pair #1 { 0x12, 0x46 }, // (Offset,Value)-Pair #2 @@ -453,21 +371,16 @@ SOOVPA<9> CMcpxBuffer_SetCurrentPosition_1_0_4361 = { 0x87, 0xB6 }, // (Offset,Value)-Pair #7 { 0x88, 0x46 }, // (Offset,Value)-Pair #8 { 0x89, 0x64 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_SetCurrentPosition // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_SetCurrentPosition_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition_1_0_4361, 10, - XREF_SETCURRENTPOSITION2, // XRef Is Saved - 1, // XRef Is Used + XREF_SETCURRENTPOSITION2, + XRefOne) - { // CDirectSoundBuffer_SetCurrentPosition+0x35 : call [CMcpxBuffer::SetCurrentPosition] { 0x35, XREF_SETCURRENTPOSITION }, // (Offset,Value)-Pair #1 @@ -485,21 +398,16 @@ SOOVPA<10> CDirectSoundBuffer_SetCurrentPosition_1_0_4361 = // CDirectSoundBuffer_SetCurrentPosition+0x3D : retn 0x08 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4F, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetCurrentPosition // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetCurrentPosition+0x15 : call [CDirectSoundBuffer::SetCurrentPosition] { 0x15, XREF_SETCURRENTPOSITION2 }, // (Offset,Value)-Pair #1 @@ -515,21 +423,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_4361 = // IDirectSoundBuffer8_SetCurrentPosition+0x11 : and ecx, eax { 0x11, 0x23 }, // (Offset,Value)-Pair #7 { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** -SOOVPA<11> CMcpxBuffer_GetCurrentPosition_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_GetCurrentPosition_1_0_4361, 11, - XREF_GETCURRENTPOSITION, // XRef Is Saved - 0, // XRef Not Used + XREF_GETCURRENTPOSITION, + XRefZero) - { // CMcpxBuffer_GetCurrentPosition+0x0E : lea ecx, [ebp-0x08] { 0x0E, 0x8D }, // (Offset,Value)-Pair #1 { 0x0F, 0x4D }, // (Offset,Value)-Pair #2 @@ -548,21 +451,16 @@ SOOVPA<11> CMcpxBuffer_GetCurrentPosition_1_0_4361 = { 0xD6, 0xC2 }, // (Offset,Value)-Pair #9 { 0xD7, 0x08 }, // (Offset,Value)-Pair #10 { 0xD8, 0x00 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_GetCurrentPosition // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_GetCurrentPosition_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition_1_0_4361, 10, - XREF_GETCURRENTPOSITION2, // XRef Is Saved - 1, // XRef Is Used + XREF_GETCURRENTPOSITION2, + XRefOne) - { // CDirectSoundBuffer_GetCurrentPosition+0x39 : call [CMcpxBuffer::GetCurrentPosition] { 0x39, XREF_GETCURRENTPOSITION }, // (Offset,Value)-Pair #1 @@ -580,21 +478,16 @@ SOOVPA<10> CDirectSoundBuffer_GetCurrentPosition_1_0_4361 = // CDirectSoundBuffer_GetCurrentPosition+0x3D : retn 0x08 { 0x52, 0xC2 }, // (Offset,Value)-Pair #9 { 0x53, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_Play // ****************************************************************** -SOOVPA<11> CMcpxBuffer_Play_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_Play_1_0_4361, 11, - XREF_DSOUNDPLAY, // XRef Is Saved - 0, // XRef Not Used + XREF_DSOUNDPLAY, + XRefZero) - { // CMcpxBuffer_Play+0x0E : cmp ebx, edi { 0x0E, 0x3B }, // (Offset,Value)-Pair #1 { 0x0F, 0xDF }, // (Offset,Value)-Pair #2 @@ -613,21 +506,16 @@ SOOVPA<11> CMcpxBuffer_Play_1_0_4361 = { 0x71, 0xFF }, // (Offset,Value)-Pair #9 { 0x72, 0x50 }, // (Offset,Value)-Pair #10 { 0x73, 0x18 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_Play // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_Play_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_Play_1_0_4361, 10, - XREF_DSOUNDPLAY2, // XRef Is Saved - 1, // XRef Is Used + XREF_DSOUNDPLAY2, + XRefOne) - { // CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play] { 0x35, XREF_DSOUNDPLAY }, // (Offset,Value)-Pair #1 @@ -645,21 +533,16 @@ SOOVPA<10> CDirectSoundBuffer_Play_1_0_4361 = // CDirectSoundBuffer_Play+0x4E : retn 0x10 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4F, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_Play // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_Play_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_Play_1_0_4361, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_Play+0x1D : call [CDirectSoundBuffer::Play] { 0x1D, XREF_DSOUNDPLAY2 }, // (Offset,Value)-Pair #1 @@ -676,21 +559,16 @@ SOOVPA<9> IDirectSoundBuffer8_Play_1_0_4361 = // IDirectSoundBuffer8_Play+0x19 : and ecx, eax { 0x19, 0x23 }, // (Offset,Value)-Pair #8 { 0x1A, 0xC8 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_Stop // ****************************************************************** -SOOVPA<9> CMcpxBuffer_Stop_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CMcpxBuffer_Stop_1_0_4361, 9, - XREF_DSOUNDSTOP, // XRef Is Saved - 0, // XRef Not Used + XREF_DSOUNDSTOP, + XRefZero) - { // CMcpxBuffer_Stop+0x0E : cmp al, 3 { 0x0E, 0x3C }, // (Offset,Value)-Pair #1 { 0x0F, 0x03 }, // (Offset,Value)-Pair #2 @@ -705,21 +583,16 @@ SOOVPA<9> CMcpxBuffer_Stop_1_0_4361 = { 0x70, 0x8B }, // (Offset,Value)-Pair #7 { 0x71, 0x86 }, // (Offset,Value)-Pair #8 { 0x72, 0x90 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_Stop_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_Stop_1_0_4361, 10, - XREF_DSOUNDSTOP2, // XRef Is Saved - 1, // XRef Is Used + XREF_DSOUNDSTOP2, + XRefOne) - { // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] { 0x33, XREF_DSOUNDSTOP }, // (Offset,Value)-Pair #1 @@ -737,21 +610,16 @@ SOOVPA<10> CDirectSoundBuffer_Stop_1_0_4361 = // CDirectSoundBuffer_Stop+0x4C : retn 0x04 { 0x4C, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4D, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_Stop // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_Stop_1_0_4361, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_Stop+0x11 : call [CDirectSoundBuffer::Stop] { 0x11, XREF_DSOUNDSTOP2 }, // (Offset,Value)-Pair #1 @@ -767,21 +635,16 @@ SOOVPA<8> IDirectSoundBuffer8_Stop_1_0_4361 = // IDirectSoundBuffer8_Stop+0x0D : and ecx, eax { 0x0D, 0x23 }, // (Offset,Value)-Pair #7 { 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoiceSettings::SetMixBinVolumes // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361, 7, - XREF_DSSETMIXBINVOLUMESC, // Xref Is Saved - XRefNotUsed, + XREF_DSSETMIXBINVOLUMESC, + XRefZero) - { { 0x03, 0x24 }, { 0x08, 0x16 }, { 0x0D, 0x46 }, @@ -789,21 +652,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361 = { 0x17, 0x42 }, { 0x1C, 0x3B }, { 0x21, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMixBinVolumes // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBinVolumes_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetMixBinVolumes_1_0_4361, 8, - XREF_DSSETMIXBINVOLUMESB, // Xref Is Saved - 1, // Xref Is Used + XREF_DSSETMIXBINVOLUMESB, + XRefOne) - { { 0x0D, XREF_DSSETMIXBINVOLUMESC }, { 0x02, 0x74 }, @@ -813,21 +671,16 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBinVolumes_1_0_4361 = { 0x12, 0x4E }, { 0x19, 0x5E }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetMixBinVolumes // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBinVolumes_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetMixBinVolumes_1_0_4361, 8, - XREF_DSSETMIXBINVOLUMESA, // Xref Is Saved - 1, // Xref Is Used + XREF_DSSETMIXBINVOLUMESA, + XRefOne) - { { 0x32, XREF_DSSETMIXBINVOLUMESB }, { 0x0C, 0x00 }, @@ -837,21 +690,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBinVolumes_1_0_4361 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::PlayEx // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361, 8, - XREF_DirectSound_CDirectSoundBuffer_PlayEx, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_PlayEx, + XRefOne) - { { 0x3D, XREF_DSOUNDPLAY }, { 0x0C, 0x00 }, @@ -861,21 +709,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361 = { 0x3A, 0x24 }, { 0x46, 0x0B }, { 0x52, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_PlayEx // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_PlayEx_1_0_4361, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DirectSound_CDirectSoundBuffer_PlayEx }, { 0x03, 0x10 }, @@ -885,21 +728,16 @@ SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_4361 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer::Stop2 // ****************************************************************** -SOOVPA<10> CMcpxBuffer_Stop2_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CMcpxBuffer_Stop2_1_0_4361, 10, - XREF_CMcpxBuffer_Stop2, // XRef Is Saved - XRefNotUsed, + XREF_CMcpxBuffer_Stop2, + XRefZero) - { // CMcpxBuffer_Stop2+0x03 : mov eax, [ebp+arg_0] { 0x03, 0x8B }, { 0x04, 0x45 }, @@ -914,21 +752,16 @@ SOOVPA<10> CMcpxBuffer_Stop2_1_0_4361 = // CMcpxBuffer_Stop2+0x36 : retn 0xC { 0x36, 0xC2 }, { 0x37, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::StopEx // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_StopEx_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_StopEx_1_0_4361, 8, - XREF_DirectSound_CDirectSoundBuffer_StopEx, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_StopEx, + XRefOne) - { { 0x3D, XREF_CMcpxBuffer_Stop2 }, { 0x0C, 0x00 }, @@ -938,21 +771,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_StopEx_1_0_4361 = { 0x3A, 0x24 }, { 0x46, 0x0B }, { 0x52, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_StopEx // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_StopEx_1_0_4361, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DirectSound_CDirectSoundBuffer_StopEx }, { 0x03, 0x10 }, @@ -962,338 +790,85 @@ SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_4361 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundCreate_1_0_4361 // ****************************************************************** -OOVPATable DSound_1_0_4361[] = -{ +OOVPATable DSound_1_0_4361[] = { + // DirectSoundCreate - { - (OOVPA*)&DirectSoundCreate_1_0_4361, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_4361, XTL::EmuDirectSoundCreate), // CDirectSound_CreateSoundStream - { - (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, - // IDirectSound8_CreateStream - { - (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, - - XTL::EmuIDirectSound8_CreateStream, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateStream" - #endif - }, - // DirectSoundCreateStream - { - (OOVPA*)&DirectSoundCreateStream_1_0_4361, - - XTL::EmuDirectSoundCreateStream, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateStream" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundStream_1_0_4361), + // IDirectSound8_CreateStream + OOVPA_TABLE_PATCH(IDirectSound8_CreateStream_1_0_3936, XTL::EmuIDirectSound8_CreateStream), + // DirectSoundCreateStream + OOVPA_TABLE_PATCH(DirectSoundCreateStream_1_0_4361, XTL::EmuDirectSoundCreateStream), // CMcpxStream::Pause - { - (OOVPA*)&CMcpxStream_Pause_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxStream_Pause (XREF)" - #endif - }, - // CDirectSoundStream::Pause - { - (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_Pause" - #endif - }, - // IDirectSound8::AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_AddRef_1_0_3936, - - XTL::EmuIDirectSound8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_AddRef" - #endif - }, - // IDirectSound8::CreateSoundBuffer - { - (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4361, - - XTL::EmuIDirectSound8_CreateSoundBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateSoundBuffer" - #endif - }, - // IDirectSoundBuffer8::SetPlayRegion - { - (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetPlayRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPlayRegion" - #endif - }, - // IDirectSoundBuffer8::SetLoopRegion - { - (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetLoopRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetLoopRegion" - #endif - }, - // IDirectSoundBuffer8::SetVolume - { - (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetVolume" - #endif - }, + OOVPA_TABLE_XREF(CMcpxStream_Pause_1_0_4361), + // CDirectSoundStream::Pause + OOVPA_TABLE_PATCH(CDirectSoundStream_Pause_1_0_4361, XTL::EmuCDirectSoundStream_Pause), + // IDirectSound8::AddRef (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_AddRef_1_0_3936, XTL::EmuIDirectSound8_AddRef), + // IDirectSound8::CreateSoundBuffer + OOVPA_TABLE_PATCH(IDirectSound8_CreateSoundBuffer_1_0_4361, XTL::EmuIDirectSound8_CreateSoundBuffer), + // IDirectSoundBuffer8::SetPlayRegion + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPlayRegion_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetPlayRegion), + // IDirectSoundBuffer8::SetLoopRegion + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetLoopRegion_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetLoopRegion), + // IDirectSoundBuffer8::SetVolume + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVolume_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetVolume), // CMcpxBuffer::SetBufferData - { - (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetBufferData (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetBufferData_1_0_4361), // CDirectSoundBuffer::SetBufferData - { - (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetBufferData (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetBufferData" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetBufferData_1_0_4361), + // IDirectSoundBuffer8::SetBufferData + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetBufferData_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetBufferData), // CMcpxBuffer::SetCurrentPosition - { - (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetCurrentPosition_1_0_4361), // CDirectSoundBuffer::SetCurrentPosition - { - (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetCurrentPosition - { - (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetCurrentPosition_1_0_4361), + // IDirectSoundBuffer8::SetCurrentPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetCurrentPosition), // CMcpxBuffer::GetCurrentPosition - { - (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetCurrentPosition_1_0_4361), // CDirectSoundBuffer::GetCurrentPosition - { - (OOVPA*)&CDirectSoundBuffer_GetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetCurrentPosition (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_GetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetCurrentPosition_1_0_4361), + // IDirectSoundBuffer8::GetCurrentPosition (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, XTL::EmuIDirectSoundBuffer8_GetCurrentPosition), // CMcpxBuffer::Play - { - (OOVPA*)&CMcpxBuffer_Play_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Play_1_0_4361), // CDirectSoundBuffer::Play - { - (OOVPA*)&CDirectSoundBuffer_Play_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_Play (XREF)" - #endif - }, - // IDirectSoundBuffer8::Play - { - (OOVPA*)&IDirectSoundBuffer8_Play_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_Play, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Play" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Play_1_0_4361), + // IDirectSoundBuffer8::Play + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Play_1_0_4361, XTL::EmuIDirectSoundBuffer8_Play), // CMcpxBuffer::Stop - { - (OOVPA*)&CMcpxBuffer_Stop_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Stop (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Stop_1_0_4361), // CMcpxBuffer_Stop2 - { - (OOVPA*)&CMcpxBuffer_Stop2_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Stop2 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Stop2_1_0_4361), // CDirectSoundBuffer::Stop - { - (OOVPA*)&CDirectSoundBuffer_Stop_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_Stop (XREF)" - #endif - }, - // IDirectSoundBuffer8::Stop - { - (OOVPA*)&IDirectSoundBuffer8_Stop_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_Stop, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Stop" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Stop_1_0_4361), + // IDirectSoundBuffer8::Stop + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Stop_1_0_4361, XTL::EmuIDirectSoundBuffer8_Stop), // CDirectSoundVoiceSettings_SetMixBinVolumes - { - (OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4361), // CDirectSoundVoice_SetMixBinVolumes - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetMixBinVolumes_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetMixBinVolumes_1_0_4361), // CDirectSoundBuffer_SetMixBinVolumes - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMixBinVolumes_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetMixBinVolumes_1_0_4361), // DirectSound::CDirectSoundBuffer::PlayEx (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" - #endif - }, - // IDirectSoundBuffer_PlayEx - { - (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_4361, - XTL::EmuIDirectSoundBuffer8_PlayEx, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer_PlayEx" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361), + // IDirectSoundBuffer_PlayEx + OOVPA_TABLE_PATCH(IDirectSoundBuffer_PlayEx_1_0_4361, XTL::EmuIDirectSoundBuffer8_PlayEx), // DirectSound::CDirectSoundBuffer::StopEx (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_4361, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::StopEx (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_StopEx_1_0_4361), // IDirectSoundBuffer_StopEx - { - (OOVPA*)&IDirectSoundBuffer_StopEx_1_0_4361, - XTL::EmuIDirectSoundBuffer8_StopEx, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer_StopEx" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_StopEx_1_0_4361, XTL::EmuIDirectSoundBuffer8_StopEx), // IDirectSoundBuffer_AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_AddRef, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_AddRef_1_0_3936, XTL::EmuIDirectSoundBuffer8_AddRef), // IDirectSound8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index fe27e9dfc..0270ab82e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * IDirectSound8_Release // ****************************************************************** -SOOVPA<12> IDirectSound8_Release_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(IDirectSound8_Release_1_0_4432, 12) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSound8_Release+0x04 : lea ecx, [eax-8] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x48 }, // (Offset,Value)-Pair #2 @@ -65,21 +58,16 @@ SOOVPA<12> IDirectSound8_Release_1_0_4432 = { 0x10, 0xFF }, // (Offset,Value)-Pair #10 { 0x11, 0x51 }, // (Offset,Value)-Pair #11 { 0x12, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMaxDistance // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetMaxDistance_1_0_4432 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance_1_0_4432, 9, - XREF_DSVOICESETMAXDISTANCE, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETMAXDISTANCE, + XRefZero) - { // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] { 0x0D, 0x8B }, { 0x0E, 0x54 }, @@ -94,21 +82,16 @@ SOOVPA<9> CDirectSoundVoice_SetMaxDistance_1_0_4432 = // CDirectSoundVoice_SetMaxDistance+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMaxDistance // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_SetMaxDistance_1_0_4432 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_4432, 10, - XREF_DSBUFFERSETMAXDISTANCE, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETMAXDISTANCE, + XRefOne) - { // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] { 0x3A, XREF_DSVOICESETMAXDISTANCE }, @@ -126,21 +109,16 @@ SOOVPA<10> CDirectSoundBuffer_SetMaxDistance_1_0_4432 = // CDirectSoundBuffer_SetMaxDistance+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer_SetMaxDistance_1_0_4432 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance_1_0_4432, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, @@ -158,21 +136,16 @@ SOOVPA<10> IDirectSoundBuffer_SetMaxDistance_1_0_4432 = // IDirectSoundBuffer_SetMaxDistance+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMinDistance // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetMinDistance_1_0_4432 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetMinDistance_1_0_4432, 9, - XREF_DSVOICESETMINDISTANCE, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETMINDISTANCE, + XRefZero) - { // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] { 0x0D, 0x8B }, { 0x0E, 0x54 }, @@ -187,21 +160,16 @@ SOOVPA<9> CDirectSoundVoice_SetMinDistance_1_0_4432 = // CDirectSoundVoice_SetMinDistance+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMinDistance // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_SetMinDistance_1_0_4432 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_SetMinDistance_1_0_4432, 10, - XREF_DSBUFFERSETMINDISTANCE, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETMINDISTANCE, + XRefOne) - { // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] { 0x3A, XREF_DSVOICESETMINDISTANCE }, @@ -219,21 +187,16 @@ SOOVPA<10> CDirectSoundBuffer_SetMinDistance_1_0_4432 = // CDirectSoundBuffer_SetMinDistance+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer_SetMinDistance_1_0_4432 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer_SetMinDistance_1_0_4432, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, @@ -251,21 +214,16 @@ SOOVPA<10> IDirectSoundBuffer_SetMinDistance_1_0_4432 = // IDirectSoundBuffer_SetMinDistance+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetI3DL2Listener // ****************************************************************** -SOOVPA<11> CDirectSound_SetI3DL2Listener_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 12 +OOVPA_XREF(CDirectSound_SetI3DL2Listener_1_0_4432, 11, - XREF_DSSETI3DL2LISTENER, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETI3DL2LISTENER, + XRefZero) - { // CDirectSound_SetI3DL2Listener+0x3A : mov edi, 0x88780032 { 0x3A, 0xBF }, // (Offset,Value)-Pair #1 { 0x3B, 0x32 }, // (Offset,Value)-Pair #2 @@ -282,21 +240,16 @@ SOOVPA<11> CDirectSound_SetI3DL2Listener_1_0_4432 = { 0xA8, 0xD9 }, // (Offset,Value)-Pair #9 { 0xA9, 0x41 }, // (Offset,Value)-Pair #10 { 0xAA, 0x24 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetI3DL2Listener // ****************************************************************** -SOOVPA<12> IDirectSound8_SetI3DL2Listener_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSound8_SetI3DL2Listener_1_0_4432, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetI3DL2Listener+0x19 : call [CDirectSound::SetI3DL2Listener] { 0x19, XREF_DSSETI3DL2LISTENER }, // (Offset,Value)-Pair #1 @@ -318,21 +271,16 @@ SOOVPA<12> IDirectSound8_SetI3DL2Listener_1_0_4432 = // IDirectSound8_SetI3DL2Listener+0x15 : and ecx, eax { 0x15, 0x23 }, // (Offset,Value)-Pair #11 { 0x16, 0xC8 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBins // ****************************************************************** -SOOVPA<10> CDirectSoundVoiceSettings_SetMixBins_1_0_4432 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 10, - XREF_DSSETMIXBINSC, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETMIXBINSC, + XRefZero) - { // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A { 0x06, 0x75 }, // (Offset,Value)-Pair #1 { 0x07, 0x1A }, // (Offset,Value)-Pair #2 @@ -350,21 +298,16 @@ SOOVPA<10> CDirectSoundVoiceSettings_SetMixBins_1_0_4432 = // CDirectSoundVoiceSettings_SetMixBins+0xB2 : retn 0x04 { 0xB2, 0xC2 }, // (Offset,Value)-Pair #9 { 0xB3, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMixBins // ****************************************************************** -SOOVPA<17> CDirectSoundVoice_SetMixBins_1_0_4432 = -{ - 0, // Large == 0 - 17, // Count == 17 +OOVPA_XREF(CDirectSoundVoice_SetMixBins_1_0_4432, 17, - XREF_DSSETMIXBINSB, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETMIXBINSB, + XRefOne) - { // CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins] { 0x0D, XREF_DSSETMIXBINSC }, // (Offset,Value)-Pair #1 @@ -393,21 +336,16 @@ SOOVPA<17> CDirectSoundVoice_SetMixBins_1_0_4432 = // CDirectSoundVoice_SetMixBins+0x1A : retn 0x08 { 0x1A, 0xC2 }, // (Offset,Value)-Pair #16 { 0x1B, 0x08 }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMixBins // ****************************************************************** -SOOVPA<17> CDirectSoundBuffer_SetMixBins_1_0_4432 = -{ - 0, // Large == 0 - 17, // Count == 17 +OOVPA_XREF(CDirectSoundBuffer_SetMixBins_1_0_4432, 17, - XREF_DSSETMIXBINSA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETMIXBINSA, + XRefOne) - { // CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins] { 0x32, XREF_DSSETMIXBINSB }, // (Offset,Value)-Pair #1 @@ -434,21 +372,16 @@ SOOVPA<17> CDirectSoundBuffer_SetMixBins_1_0_4432 = // CDirectSoundBuffer_SetMixBins+0x4B : retn 0x08 { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetMixBins // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetMixBins_1_0_4432 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_SetMixBins_1_0_4432, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetMixBins+0x15 : call [CDirectSoundBuffer::SetMixBins] { 0x15, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1 @@ -470,21 +403,13 @@ SOOVPA<12> IDirectSoundBuffer8_SetMixBins_1_0_4432 = // IDirectSoundBuffer8_SetMixBins+0x11 : and ecx, eax { 0x11, 0x23 }, // (Offset,Value)-Pair #11 { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** -SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings_1_0_4432, 11) - XRefNotSaved, - XRefNotUsed, - - { // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al { 0x10, 0x0F }, // (Offset,Value)-Pair #1 { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 @@ -503,21 +428,16 @@ SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_4432 = // CDirectSound_CommitDeferredSettings+0x78 : leave { 0x78, 0xC9 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetDistanceFactorA_1_0_4432, 11, - XREF_SETDISTANCEFACTORA,// XRef Is Saved - 0, // XRef Not Used + XREF_SETDISTANCEFACTORA, + XRefZero) - { // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -534,21 +454,16 @@ SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4432 = // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 { 0x50, 0x0B }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetDistanceFactor // ****************************************************************** -SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSound8_SetDistanceFactor_1_0_4432, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactor] { 0x1D, XREF_SETDISTANCEFACTORA }, // (Offset,Value)-Pair #1 @@ -569,21 +484,16 @@ SOOVPA<11> IDirectSound8_SetDistanceFactor_1_0_4432 = // IDirectSound8_SetDistanceFactor+0x21 : retn 0x0C { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetPositionA // ****************************************************************** -SOOVPA<11> CDirectSound_SetPositionA_1_0_4432 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetPositionA_1_0_4432, 11, - XREF_DSSETPOSITIONA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETPOSITIONA, + XRefZero) - { // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] { 0x2B, 0x8B }, // (Offset,Value)-Pair #1 { 0x2C, 0x4D }, // (Offset,Value)-Pair #2 @@ -600,21 +510,16 @@ SOOVPA<11> CDirectSound_SetPositionA_1_0_4432 = { 0x4E, 0xA4 }, // (Offset,Value)-Pair #9 { 0x4F, 0x00 }, // (Offset,Value)-Pair #10 { 0x52, 0xFF }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetVelocity // ****************************************************************** -SOOVPA<15> CDirectSound_SetVelocity_1_0_4432 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_XREF(CDirectSound_SetVelocity_1_0_4432, 15, - XREF_DSSETVELOCITYA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETVELOCITYA, + XRefZero) - { // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 { 0x25, 0x05 }, // (Offset,Value)-Pair #2 @@ -637,21 +542,16 @@ SOOVPA<15> CDirectSound_SetVelocity_1_0_4432 = // CDirectSound_SetVelocity+0x73 : retn 0x14 { 0x73, 0xC2 }, // (Offset,Value)-Pair #14 { 0x74, 0x14 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetPosition // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetPosition_1_0_4432 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetPosition_1_0_4432, 8, - XREF_DSVOICESETPOSITION, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETPOSITION, + XRefZero) - { // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] { 0x0F, 0x8B }, { 0x10, 0x55 }, @@ -665,348 +565,91 @@ SOOVPA<8> CDirectSoundVoice_SetPosition_1_0_4432 = // CDirectSoundVoice_SetPosition+0x4F : retn 14h { 0x4F, 0xC2 }, { 0x50, 0x14 } - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundCreate_1_0_4432 // ****************************************************************** -OOVPATable DSound_1_0_4432[] = -{ +OOVPATable DSound_1_0_4432[] = { + // DirectSoundCreate (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreate_1_0_4361, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, - // IDirectSound8_CreateStream - { - (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, - - XTL::EmuIDirectSound8_CreateStream, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateStream" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_4361, XTL::EmuDirectSoundCreate), + // IDirectSound8_CreateStream + OOVPA_TABLE_PATCH(IDirectSound8_CreateStream_1_0_3936, XTL::EmuIDirectSound8_CreateStream), // CDirectSound_CreateSoundStream (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, - // DirectSoundCreateStream (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreateStream_1_0_4361, - - XTL::EmuDirectSoundCreateStream, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateStream" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundStream_1_0_4361), + // DirectSoundCreateStream (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(DirectSoundCreateStream_1_0_4361, XTL::EmuDirectSoundCreateStream), // CMcpxStream::Pause (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxStream_Pause_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxStream_Pause (XREF)" - #endif - }, - // CDirectSoundStream::Pause (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_Pause" - #endif - }, - // IDirectSound8::AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_AddRef_1_0_3936, - - XTL::EmuIDirectSound8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_AddRef" - #endif - }, - // IDirectSound8::Release - { - (OOVPA*)&IDirectSound8_Release_1_0_4432, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, - // IDirectSound8::CreateSoundBuffer (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4361, - - XTL::EmuIDirectSound8_CreateSoundBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateSoundBuffer" - #endif - }, - // IDirectSoundBuffer8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Release" - #endif - }, - // IDirectSoundBuffer8::SetLoopRegion (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetLoopRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetLoopRegion" - #endif - }, + OOVPA_TABLE_XREF(CMcpxStream_Pause_1_0_4361), + // CDirectSoundStream::Pause (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(CDirectSoundStream_Pause_1_0_4361, XTL::EmuCDirectSoundStream_Pause), + // IDirectSound8::AddRef (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_AddRef_1_0_3936, XTL::EmuIDirectSound8_AddRef), + // IDirectSound8::Release + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_4432, XTL::EmuIDirectSound8_Release), + // IDirectSound8::CreateSoundBuffer (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSound8_CreateSoundBuffer_1_0_4361, XTL::EmuIDirectSound8_CreateSoundBuffer), + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Release_1_0_3936, XTL::EmuIDirectSoundBuffer8_Release), + // IDirectSoundBuffer8::SetLoopRegion (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetLoopRegion_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetLoopRegion), // CMcpxBuffer::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetBufferData (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetBufferData_1_0_4361), // CDirectSoundBuffer::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetBufferData (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetBufferData" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetBufferData_1_0_4361), + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetBufferData_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetBufferData), // CMcpxBuffer::SetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetCurrentPosition_1_0_4361), // CDirectSoundBuffer::SetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetCurrentPosition_1_0_4361), + // IDirectSoundBuffer8::SetCurrentPosition (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetCurrentPosition), // CMcpxBuffer::Stop (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_Stop_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Stop (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Stop_1_0_4361), // CDirectSoundBuffer::Stop (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_Stop_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_Stop (XREF)" - #endif - }, - // IDirectSoundBuffer8::Stop (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_Stop_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_Stop, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Stop" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Stop_1_0_4361), + // IDirectSoundBuffer8::Stop (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Stop_1_0_4361, XTL::EmuIDirectSoundBuffer8_Stop), // CDirectSoundVoice::SetMaxDistance (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMaxDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMaxDistance_1_0_4432), // CDirectSoundBuffer::SetMaxDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMaxDistance (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMaxDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_4432, - XTL::EmuIDirectSoundBuffer8_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMaxDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_4432), + // IDirectSoundBuffer_SetMaxDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMaxDistance_1_0_4432, + + XTL::EmuIDirectSoundBuffer8_SetMaxDistance), // CDirectSoundVoice::SetMinDistance (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMinDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMinDistance_1_0_4432), // CDirectSoundBuffer::SetMinDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMinDistance (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMinDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_4432, - XTL::EmuIDirectSoundBuffer8_SetMinDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMinDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMinDistance_1_0_4432), + // IDirectSoundBuffer_SetMinDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMinDistance_1_0_4432, + + XTL::EmuIDirectSoundBuffer8_SetMinDistance), // CDirectSound_SetI3DL2Listener - { - (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF)" - #endif - }, - // IDirectSound8_SetI3DL2Listener - { - (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_4432, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetI3DL2Listener_1_0_4432), + // IDirectSound8_SetI3DL2Listener + OOVPA_TABLE_PATCH(IDirectSound8_SetI3DL2Listener_1_0_4432, XTL::EmuIDirectSound8_SetI3DL2Listener), // CDirectSoundVoiceSettings_SetMixBins - { - (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoiceSettings_SetMixBins_1_0_4432), // CDirectSoundVoice_SetMixBins - { - (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBins_1_0_4432), // CDirectSoundBuffer_SetMixBins - { - (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBins (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetMixBins - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432, - - XTL::EmuIDirectSoundBuffer8_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBins" - #endif - }, - // CDirectSound::CommitDeferredSettings - { - (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432, - - XTL::EmuCDirectSound_CommitDeferredSettings, - - #ifdef _DEBUG_TRACE - "EmuCDirectSound_CommitDeferredSettings" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMixBins_1_0_4432), + // IDirectSoundBuffer8_SetMixBins + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBins_1_0_4432, XTL::EmuIDirectSoundBuffer8_SetMixBins), + // CDirectSound::CommitDeferredSettings + OOVPA_TABLE_PATCH(CDirectSound_CommitDeferredSettings_1_0_4432, XTL::EmuCDirectSound_CommitDeferredSettings), // CDirectSound::SetDistanceFactorA (XREF) - { - (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDistanceFactorA (XRef)" - #endif - }, - // IDirectSound8::SetDistanceFactor - { - (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, - - XTL::EmuIDirectSound8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDistanceFactor" - #endif - }, - // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, - - XTL::EmuIDirectSound8_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_DownloadEffectsImage" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDistanceFactorA_1_0_4432), + // IDirectSound8::SetDistanceFactor + OOVPA_TABLE_PATCH(IDirectSound8_SetDistanceFactor_1_0_4432, XTL::EmuIDirectSound8_SetDistanceFactor), + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_DownloadEffectsImage_1_0_3936, XTL::EmuIDirectSound8_DownloadEffectsImage), // IDirectSoundBuffer_AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_AddRef, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_AddRef_1_0_3936, XTL::EmuIDirectSoundBuffer8_AddRef), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index d4f8362b0..8be4d6c19 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * DirectSoundDoWork // ****************************************************************** -SOOVPA<7> DirectSoundDoWork_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(DirectSoundDoWork_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x0F }, { 0x0E, 0x85 }, { 0x10, 0x74 }, @@ -51,21 +44,16 @@ SOOVPA<7> DirectSoundDoWork_1_0_4627 = { 0x1C, 0x0B }, { 0x22, 0xFF }, { 0x28, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CreateSoundBuffer // ****************************************************************** -SOOVPA<14> CDirectSound_CreateSoundBuffer_1_0_4627 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSound_CreateSoundBuffer_1_0_4627, 14, - XREF_DSCREATESOUNDBUFFER, // XRef Is Saved - 0, // XRef Not Used + XREF_DSCREATESOUNDBUFFER, + XRefZero) - { // CDirectSound_CreateSoundBuffer+0x23 : mov eax, 0x80004005 { 0x23, 0xB8 }, // (Offset,Value)-Pair #1 { 0x24, 0x05 }, // (Offset,Value)-Pair #2 @@ -87,21 +75,16 @@ SOOVPA<14> CDirectSound_CreateSoundBuffer_1_0_4627 = // CDirectSound_CreateSoundBuffer+0x99 : retn 0x10 { 0x99, 0xC2 }, // (Offset,Value)-Pair #13 { 0x9A, 0x10 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetMixBinHeadroom // ****************************************************************** -SOOVPA<15> CDirectSound_SetMixBinHeadroom_1_0_4627 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_XREF(CDirectSound_SetMixBinHeadroom_1_0_4627, 15, - XREF_DSSETMIXBINHEADROOMA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETMIXBINHEADROOMA, + XRefZero) - { // CDirectSound_SetMixBinHeadroom+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -124,21 +107,16 @@ SOOVPA<15> CDirectSound_SetMixBinHeadroom_1_0_4627 = // CDirectSound_SetMixBinHeadroom+0x5C : retn 0x0C { 0x5C, 0xC2 }, // (Offset,Value)-Pair #14 { 0x5D, 0x0C }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetMixBinHeadroom // ****************************************************************** -SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSound8_SetMixBinHeadroom_1_0_4627, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroom] { 0x19, XREF_DSSETMIXBINHEADROOMA }, // (Offset,Value)-Pair #1 @@ -160,21 +138,16 @@ SOOVPA<12> IDirectSound8_SetMixBinHeadroom_1_0_4627 = // IDirectSound8_SetMixBinHeadroom+0x15 : and ecx, eax { 0x15, 0x23 }, // (Offset,Value)-Pair #11 { 0x16, 0xC8 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetHeadroomA // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetHeadroomA_1_0_4928 = -{ - 0,// Large == 0 - 7,// Count == 7 +OOVPA_XREF(IDirectSoundBuffer8_SetHeadroomA_1_0_4928, 7, - XREF_DSBUFFERSETHEADROOMA,// XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERSETHEADROOMA, + XRefZero) - { { 0x03, 0x04 }, { 0x08, 0x48 }, { 0x0D, 0x24 }, @@ -182,21 +155,16 @@ SOOVPA<12> IDirectSoundBuffer8_SetHeadroomA_1_0_4928 = { 0x17, 0x8B }, { 0x1F, 0x5E }, { 0x21, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetHeadroom // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetHeadroom_1_0_4928 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetHeadroom_1_0_4928, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetHeadroom+0x32 : call [IDirectSoundBuffer8_SetHeadroomA] { 0x32, XREF_DSBUFFERSETHEADROOMA }, @@ -207,21 +175,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetHeadroom_1_0_4928 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetVelocity // ****************************************************************** -SOOVPA<15> CDirectSound_SetVelocity_1_0_4627 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_XREF(CDirectSound_SetVelocity_1_0_4627, 15, - XREF_DSSETVELOCITYA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETVELOCITYA, + XRefZero) - { // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 { 0x25, 0x05 }, // (Offset,Value)-Pair #2 @@ -244,21 +207,16 @@ SOOVPA<15> CDirectSound_SetVelocity_1_0_4627 = // CDirectSound_SetVelocity+0x73 : retn 0x14 { 0x73, 0xC2 }, // (Offset,Value)-Pair #14 { 0x74, 0x14 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetAllParametersA // ****************************************************************** -SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_SetAllParametersA_1_0_4627, 10, - XREF_DSSETALLPARAMETERSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETALLPARAMETERSA, + XRefZero) - { { 0x16, 0x68 }, // (Offset,Value)-Pair #1 { 0x17, 0xE8 }, // (Offset,Value)-Pair #2 { 0x18, 0xF7 }, // (Offset,Value)-Pair #3 @@ -271,21 +229,16 @@ SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4627 = { 0x87, 0x8B }, // (Offset,Value)-Pair #8 { 0x88, 0x50 }, // (Offset,Value)-Pair #9 { 0x89, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetAllParametersA // ****************************************************************** -SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4721 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_SetAllParametersA_1_0_4721, 10, - XREF_DSSETALLPARAMETERSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETALLPARAMETERSA, + XRefZero) - { { 0x16, 0x68 }, // (Offset,Value)-Pair #1 { 0x17, 0xD8 }, // (Offset,Value)-Pair #2 { 0x18, 0x81 }, // (Offset,Value)-Pair #3 @@ -298,21 +251,16 @@ SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4721 = { 0x87, 0x8B }, // (Offset,Value)-Pair #8 { 0x88, 0x50 }, // (Offset,Value)-Pair #9 { 0x89, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetAllParameters // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSound_SetAllParameters_1_0_4928 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSound_SetAllParameters_1_0_4928, 8, - XREF_DSSETALLPARAMETERSA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETALLPARAMETERSA, + XRefZero) - { { 0x1B, 0xFF }, { 0x38, 0x08 }, { 0x55, 0x5A }, @@ -321,21 +269,16 @@ SOOVPA<8> DirectSound_CDirectSound_SetAllParameters_1_0_4928 = { 0xAC, 0x50 }, { 0xC9, 0x10 }, { 0xE6, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBinVolumes // ****************************************************************** -SOOVPA<10> CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627, 10, - XREF_DSSETMIXBINVOLUMESC, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETMIXBINVOLUMESC, + XRefZero) - { // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 { 0x09, 0x76 }, // (Offset,Value)-Pair #1 { 0x0A, 0x16 }, // (Offset,Value)-Pair #2 @@ -353,21 +296,16 @@ SOOVPA<10> CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627 = // CDirectSoundVoiceSettings_SetMixBinVolumes+0x22 : retn 0x04 { 0x22, 0xC2 }, // (Offset,Value)-Pair #9 { 0x23, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMixBinVolumes // ****************************************************************** -SOOVPA<17> CDirectSoundVoice_SetMixBinVolumes_1_0_4627 = -{ - 0, // Large == 0 - 17, // Count == 17 +OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes_1_0_4627, 17, - XREF_DSSETMIXBINVOLUMESB, // XRef Is Saved - 1, // XRef Is Used + XREF_DSSETMIXBINVOLUMESB, + XRefOne) - { // CDirectSoundVoice_SetMixBinVolumes+0x0D : call [CDirectSoundVoiceSettings::SetMixBinVolumes] { 0x0D, XREF_DSSETMIXBINVOLUMESC }, // (Offset,Value)-Pair #1 @@ -396,21 +334,16 @@ SOOVPA<17> CDirectSoundVoice_SetMixBinVolumes_1_0_4627 = // CDirectSoundVoice_SetMixBinVolumes+0x1A : retn 0x08 { 0x1A, 0xC2 }, // (Offset,Value)-Pair #16 { 0x1B, 0x08 }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMixBinVolumes // ****************************************************************** -SOOVPA<17> CDirectSoundBuffer_SetMixBinVolumes_1_0_4627 = -{ - 0, // Large == 0 - 17, // Count == 17 +OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes_1_0_4627, 17, - XREF_DSSETMIXBINVOLUMESA, // XRef Is Saved - 1, // XRef Not Used + XREF_DSSETMIXBINVOLUMESA, + XRefOne) - { // CDirectSoundBuffer_SetMixBinVolumes+0x32 : call [CDirectSoundVoice::SetMixBinVolumes] { 0x32, XREF_DSSETMIXBINVOLUMESB }, // (Offset,Value)-Pair #1 @@ -437,21 +370,16 @@ SOOVPA<17> CDirectSoundBuffer_SetMixBinVolumes_1_0_4627 = // CDirectSoundBuffer_SetMixBinVolumes+0x4B : retn 0x08 { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetMixBinVolumes // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetMixBinVolumes+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] { 0x15, XREF_DSSETMIXBINVOLUMESA }, // (Offset,Value)-Pair #1 @@ -473,21 +401,16 @@ SOOVPA<12> IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627 = // IDirectSoundBuffer8_SetMixBinVolumes+0x11 : and ecx, eax { 0x11, 0x23 }, // (Offset,Value)-Pair #11 { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetPositionA // ****************************************************************** -SOOVPA<11> CDirectSound_SetPositionA_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetPositionA_1_0_4627, 11, - XREF_DSSETPOSITIONA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETPOSITIONA, + XRefZero) - { // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] { 0x2B, 0x8B }, // (Offset,Value)-Pair #1 { 0x2C, 0x4D }, // (Offset,Value)-Pair #2 @@ -504,21 +427,16 @@ SOOVPA<11> CDirectSound_SetPositionA_1_0_4627 = { 0x4E, 0x88 }, // (Offset,Value)-Pair #9 { 0x4F, 0xA4 }, // (Offset,Value)-Pair #10 { 0x53, 0xFF }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundCreateBuffer // ****************************************************************** -SOOVPA<12> DirectSoundCreateBuffer_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(DirectSoundCreateBuffer_1_0_4627, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // DirectSoundCreateBuffer+0x2F : call [CDirectSound::CreateSoundBuffer] { 0x2F, XREF_DSCREATESOUNDBUFFER }, // (Offset,Value)-Pair #1 @@ -540,21 +458,16 @@ SOOVPA<12> DirectSoundCreateBuffer_1_0_4627 = // DirectSoundCreateBuffer+0x54 : retn 0x08 { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 { 0x55, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_CreateSoundBuffer // ****************************************************************** -SOOVPA<12> IDirectSound8_CreateSoundBuffer_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSound8_CreateSoundBuffer_1_0_4627, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] { 0x1D, XREF_DSCREATESOUNDBUFFER }, // (Offset,Value)-Pair #1 @@ -576,21 +489,16 @@ SOOVPA<12> IDirectSound8_CreateSoundBuffer_1_0_4627 = // IDirectSound8_CreateSoundBuffer+0x21 : retn 0x10 { 0x21, 0xC2 }, // (Offset,Value)-Pair #11 { 0x22, 0x10 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetFrequency // ****************************************************************** -SOOVPA<11> CDirectSoundVoice_SetFrequency_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundVoice_SetFrequency_1_0_4627, 11, - XREF_DSBUFFERSETFREQUENCYB, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERSETFREQUENCYB, + XRefZero) - { // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 { 0x0E, 0x46 }, // (Offset,Value)-Pair #2 @@ -609,21 +517,16 @@ SOOVPA<11> CDirectSoundVoice_SetFrequency_1_0_4627 = // CDirectSoundVoice_SetFrequency+0x22 : retn 0x08 { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetFrequency // ****************************************************************** -SOOVPA<17> CDirectSoundBuffer_SetFrequency_1_0_4627 = -{ - 0, // Large == 0 - 17, // Count == 17 +OOVPA_XREF(CDirectSoundBuffer_SetFrequency_1_0_4627, 17, - XREF_DSBUFFERSETFREQUENCYA, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETFREQUENCYA, + XRefOne) - { // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] { 0x32, XREF_DSBUFFERSETFREQUENCYB }, // (Offset,Value)-Pair #1 @@ -650,21 +553,16 @@ SOOVPA<17> CDirectSoundBuffer_SetFrequency_1_0_4627 = // CDirectSoundBuffer_SetFrequency+0x4B : retn 0x08 { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetFrequency // ****************************************************************** -SOOVPA<12> IDirectSoundBuffer8_SetFrequency_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(IDirectSoundBuffer8_SetFrequency_1_0_4627, 12, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_SetFrequency+0x15 : call [CDirectSound::SetFrequency] { 0x15, XREF_DSBUFFERSETFREQUENCYA }, // (Offset,Value)-Pair #1 @@ -686,21 +584,16 @@ SOOVPA<12> IDirectSoundBuffer8_SetFrequency_1_0_4627 = // IDirectSoundBuffer8_SetFrequency+0x11 : and ecx, eax { 0x11, 0x23 }, // (Offset,Value)-Pair #11 { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** -SOOVPA<13> CMcpxVoiceClient_SetVolume_1_0_4627 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(CMcpxVoiceClient_SetVolume_1_0_4627, 13, - XREF_DSSTREAMSETVOLUME, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETVOLUME, + XRefZero) - { // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] { 0x2A, 0x8D }, // (Offset,Value)-Pair #1 { 0x2B, 0x04 }, // (Offset,Value)-Pair #2 @@ -721,21 +614,16 @@ SOOVPA<13> CMcpxVoiceClient_SetVolume_1_0_4627 = { 0x84, 0x40 }, // (Offset,Value)-Pair #11 { 0x85, 0x41 }, // (Offset,Value)-Pair #12 { 0x86, 0x41 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetVolume // ****************************************************************** -SOOVPA<11> CDirectSoundStream_SetVolume_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundStream_SetVolume_1_0_4627, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // CDirectSoundStream_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] { 0x15, XREF_DSSTREAMSETVOLUME }, // (Offset,Value)-Pair #1 @@ -754,21 +642,16 @@ SOOVPA<11> CDirectSoundStream_SetVolume_1_0_4627 = { 0x11, 0x8B }, // (Offset,Value)-Pair #9 { 0x12, 0x49 }, // (Offset,Value)-Pair #10 { 0x13, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_LockA // ****************************************************************** -SOOVPA<13> IDirectSoundBuffer8_LockA_1_0_4627 = -{ - 0, // Large == 0 - 13,// Count == 10 +OOVPA_XREF(IDirectSoundBuffer8_LockA_1_0_4627, 13, - XREF_DSBUFFERLOCKA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERLOCKA, + XRefZero) - { // IDirectSoundBuffer8_LockA+0x37 : test [ebp+0x24], 1 { 0x37, 0xF6 }, // (Offset,Value)-Pair #1 { 0x38, 0x45 }, // (Offset,Value)-Pair #2 @@ -787,21 +670,16 @@ SOOVPA<13> IDirectSoundBuffer8_LockA_1_0_4627 = { 0xA4, 0x8B }, // (Offset,Value)-Pair #11 { 0xA5, 0x76 }, // (Offset,Value)-Pair #12 { 0xA6, 0x1C }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -SOOVPA<11> CMcpxBuffer_GetStatus_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_GetStatus_1_0_4627, 11, - XREF_DSBUFFERGETSTATUSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERGETSTATUSA, + XRefZero) - { // CMcpxBuffer_GetStatus+0x0A : mov esi, ecx { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 { 0x0B, 0xF1 }, // (Offset,Value)-Pair #2 @@ -820,21 +698,16 @@ SOOVPA<11> CMcpxBuffer_GetStatus_1_0_4627 = { 0x2C, 0x66 }, // (Offset,Value)-Pair #9 { 0x2D, 0xF7 }, // (Offset,Value)-Pair #10 { 0x2E, 0x46 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -SOOVPA<10> CMcpxBuffer_GetStatus_1_0_4721 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CMcpxBuffer_GetStatus_1_0_4721, 10, - XREF_DSBUFFERGETSTATUSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERGETSTATUSA, + XRefZero) - { // CMcpxBuffer_GetStatus+0x00 : movzx eax, word ptr [esi+0x12] { 0x00, 0x0F }, // (Offset,Value)-Pair #5 { 0x01, 0xB7 }, // (Offset,Value)-Pair #6 @@ -850,21 +723,16 @@ SOOVPA<10> CMcpxBuffer_GetStatus_1_0_4721 = // CMcpxBuffer_GetStatus+0x39 : mov [ecx], eax { 0x39, 0x89 }, // (Offset,Value)-Pair #5 { 0x3A, 0x01 }, // (Offset,Value)-Pair #6 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -//SOOVPA<11> CMcpxBuffer_GetStatus_1_0_4928 = -//{ -// 0, // Large == 0 -// 11, // Count == 11 +//OOVPA_XREF(CMcpxBuffer_GetStatus_1_0_4928, 11, // -// XREF_DSBUFFERGETSTATUSA, // XRef Is Saved -// 0, // XRef Not Used +// XREF_DSBUFFERGETSTATUSA, +// XRefZero) // -// { // // CMcpxBuffer_GetStatus+0x0A : mov esi, ecx // { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 // { 0x0B, 0xF1 }, // (Offset,Value)-Pair #2 @@ -883,21 +751,16 @@ SOOVPA<10> CMcpxBuffer_GetStatus_1_0_4721 = // { 0x3C, 0x0F }, // (Offset,Value)-Pair #9 // { 0x3D, 0xB7 }, // (Offset,Value)-Pair #10 // { 0x3E, 0x46 }, // (Offset,Value)-Pair #11 -// } -//}; +//OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetStatusB // ****************************************************************** -SOOVPA<12> CMcpxBuffer_GetStatusB_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(CMcpxBuffer_GetStatusB_1_0_4627, 12, - XREF_DSBUFFERGETSTATUSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERGETSTATUSA, + XRefZero) - { { 0x16, 0x6A }, // (Offset,Value)-Pair #1 { 0x17, 0x00 }, // (Offset,Value)-Pair #2 { 0x18, 0x5A }, // (Offset,Value)-Pair #3 @@ -913,21 +776,16 @@ SOOVPA<12> CMcpxBuffer_GetStatusB_1_0_4627 = { 0x3F, 0xC2 }, // (Offset,Value)-Pair #11 { 0x40, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_GetStatus // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_GetStatus_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_GetStatus_1_0_4627, 10, - XREF_DSBUFFERGETSTATUSB, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERGETSTATUSB, + XRefOne) - { // CDirectSoundBuffer_GetStatus+0x35 : call [CMcpxBuffer::GetStatus] { 0x35, XREF_DSBUFFERGETSTATUSA }, // (Offset,Value)-Pair #1 @@ -945,21 +803,16 @@ SOOVPA<10> CDirectSoundBuffer_GetStatus_1_0_4627 = // CDirectSoundBuffer_GetStatus+0x4E : retn 0x08 { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 { 0x4F, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_GetStatus // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_GetStatus_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_GetStatus_1_0_4627, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer8_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] { 0x15, XREF_DSBUFFERGETSTATUSB }, // (Offset,Value)-Pair #1 @@ -976,21 +829,13 @@ SOOVPA<9> IDirectSoundBuffer8_GetStatus_1_0_4627 = // IDirectSoundBuffer8_GetStatus+0x11 : and ecx, eax { 0x11, 0x23 }, // (Offset,Value)-Pair #8 { 0x12, 0xC8 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound_GetSpeakerConfig // ****************************************************************** -SOOVPA<7> CDirectSound_GetSpeakerConfig_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(CDirectSound_GetSpeakerConfig_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x00 }, { 0x14, 0x0B }, { 0x20, 0xB8 }, @@ -998,21 +843,16 @@ SOOVPA<7> CDirectSound_GetSpeakerConfig_1_0_4627 = { 0x35, 0x81 }, { 0x40, 0x0B }, { 0x4C, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_Play // ****************************************************************** -SOOVPA<10> CMcpxBuffer_Play_1_0_4721 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CMcpxBuffer_Play_1_0_4721, 10, - XREF_DSOUNDPLAY, // XRef Is Saved - 0, // XRef Not Used + XREF_DSOUNDPLAY, + XRefZero) - { // CMcpxBuffer_Play+0x2E : test byte ptr [eax+9], 20h { 0x2E, 0xF6 }, // (Offset,Value)-Pair #5 { 0x2F, 0x40 }, // (Offset,Value)-Pair #6 @@ -1028,21 +868,16 @@ SOOVPA<10> CMcpxBuffer_Play_1_0_4721 = // CMcpxBuffer_Play+0x52 : xor eax, eax { 0x52, 0x33 }, // (Offset,Value)-Pair #9 { 0x53, 0xC0 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_Play // ****************************************************************** -SOOVPA<10> CMcpxBuffer_Play_1_0_4928 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CMcpxBuffer_Play_1_0_4928, 10, - XREF_DSOUNDPLAY, // XRef Is Saved - 0, // XRef Not Used + XREF_DSOUNDPLAY, + XRefZero) - { // CMcpxBuffer_Play+0x32 : test byte ptr [esi+12h], 42h { 0x32, 0xF6 }, // (Offset,Value)-Pair #1 { 0x33, 0x46 }, // (Offset,Value)-Pair #2 @@ -1058,21 +893,16 @@ SOOVPA<10> CMcpxBuffer_Play_1_0_4928 = // CMcpxBuffer_Play+0x71 : xor eax, eax { 0x71, 0x33 }, // (Offset,Value)-Pair #9 { 0x72, 0xC0 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetDistanceFactorA_1_0_4627, 11, - XREF_SETDISTANCEFACTORA,// XRef Is Saved - 0, // XRef Not Used + XREF_SETDISTANCEFACTORA, + XRefZero) - { // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -1089,21 +919,16 @@ SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4627 = // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 { 0x50, 0x0B }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4531 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetDistanceFactorA_1_0_4531, 11, - XREF_SETDISTANCEFACTORA,// XRef Is Saved - 0, // XRef Not Used + XREF_SETDISTANCEFACTORA, + XRefZero) - { // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -1120,21 +945,16 @@ SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_4531 = // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 { 0x50, 0x0B }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetRolloffFactor // ****************************************************************** -SOOVPA<11> CDirectSound_SetRolloffFactor_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetRolloffFactor_1_0_4627, 11, - XREF_SETROLLOFFFACTORA, // XRef Is Saved - 0, // XRef Not Used + XREF_SETROLLOFFFACTORA, + XRefZero) - { // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -1151,21 +971,16 @@ SOOVPA<11> CDirectSound_SetRolloffFactor_1_0_4627 = // CDirectSound_SetRolloffFactor+0x4F : jz +0x0B { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 { 0x50, 0x0B }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetRolloffFactor // ****************************************************************** -SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSound8_SetRolloffFactor_1_0_4627, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactor] { 0x1D, XREF_SETROLLOFFFACTORA }, // (Offset,Value)-Pair #1 @@ -1186,21 +1001,16 @@ SOOVPA<11> IDirectSound8_SetRolloffFactor_1_0_4627 = // IDirectSound8_SetRolloffFactor+0x21 : retn 0x0C { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** -SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_4531 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSound_SetDopplerFactor_1_0_4531, 14, - XREF_SETDOPPLERFACTOR, // XRef Is Saved - 0, // XRef Not Used + XREF_SETDOPPLERFACTOR, + XRefZero) - { // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -1222,21 +1032,16 @@ SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_4531 = // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B { 0x4F, 0x74 }, // (Offset,Value)-Pair #13 { 0x50, 0x0B }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** -SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_4627 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSound_SetDopplerFactor_1_0_4627, 14, - XREF_SETDOPPLERFACTOR, // XRef Is Saved - 0, // XRef Not Used + XREF_SETDOPPLERFACTOR, + XRefZero) - { // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -1258,21 +1063,16 @@ SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_4627 = // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B { 0x4F, 0x74 }, // (Offset,Value)-Pair #13 { 0x50, 0x0B }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetDopplerFactor // ****************************************************************** -SOOVPA<11> IDirectSound8_SetDopplerFactor_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSound8_SetDopplerFactor_1_0_4627, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound8_SetDopplerFactor+0x1D : call [CDirectSound::SetDopplerFactor] { 0x1D, XREF_SETDOPPLERFACTOR}, // (Offset,Value)-Pair #1 @@ -1293,21 +1093,16 @@ SOOVPA<11> IDirectSound8_SetDopplerFactor_1_0_4627 = // IDirectSound8_SetDopplerFactor+0x21 : retn 0x0C { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 { 0x22, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetRolloffFactor // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetRolloffFactor_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor_1_0_4627, 9, - XREF_DSVOICESETROLLOFFFACTOR, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETROLLOFFFACTOR, + XRefZero) - { // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] { 0x0D, 0x8B }, { 0x0E, 0x54 }, @@ -1322,21 +1117,16 @@ SOOVPA<9> CDirectSoundVoice_SetRolloffFactor_1_0_4627 = // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetRolloffFactor // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_SetRolloffFactor_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_SetRolloffFactor_1_0_4627, 10, - XREF_DSBUFFERSETROLLOFFFACTOR, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETROLLOFFFACTOR, + XRefOne) - { // CDirectSoundBuffer_SetRolloffFactor+0x39 : call [CDirectSoundVoice::SetRolloffFactor] { 0x3A, XREF_DSVOICESETROLLOFFFACTOR }, @@ -1354,21 +1144,16 @@ SOOVPA<10> CDirectSoundBuffer_SetRolloffFactor_1_0_4627 = // CDirectSoundBuffer_SetRolloffFactor+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetRolloffFactor // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer_SetRolloffFactor_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer_SetRolloffFactor_1_0_4627, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetRolloffFactor+0x1C : call [CDirectSoundBuffer::SetRolloffFactor] { 0x1D, XREF_DSBUFFERSETROLLOFFFACTOR }, @@ -1386,21 +1171,16 @@ SOOVPA<10> IDirectSoundBuffer_SetRolloffFactor_1_0_4627 = // IDirectSoundBuffer_SetRolloffFactor+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetDistanceFactor_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor_1_0_4627, 9, - XREF_DSVOICESETDISTANCEFACTOR, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETDISTANCEFACTOR, + XRefZero) - { // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] { 0x0D, 0x8B }, { 0x0E, 0x54 }, @@ -1415,21 +1195,16 @@ SOOVPA<9> CDirectSoundVoice_SetDistanceFactor_1_0_4627 = // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetDistanceFactor // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_SetDistanceFactor_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_SetDistanceFactor_1_0_4627, 10, - XREF_DSBUFFERSETDISTANCEFACTOR, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETDISTANCEFACTOR, + XRefOne) - { // CDirectSoundBuffer_SetDistanceFactor+0x39 : call [CDirectSoundVoice::SetDistanceFactor] { 0x3A, XREF_DSVOICESETDISTANCEFACTOR }, @@ -1447,21 +1222,16 @@ SOOVPA<10> CDirectSoundBuffer_SetDistanceFactor_1_0_4627 = // CDirectSoundBuffer_SetDistanceFactor+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetDistanceFactor // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer_SetDistanceFactor_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer_SetDistanceFactor_1_0_4627, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetDistanceFactor+0x1C : call [CDirectSoundBuffer::SetDistanceFactor] { 0x1D, XREF_DSBUFFERSETDISTANCEFACTOR }, @@ -1479,21 +1249,16 @@ SOOVPA<10> IDirectSoundBuffer_SetDistanceFactor_1_0_4627 = // IDirectSoundBuffer_SetSetDistanceFactor+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetConeAngles // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetConeAngles_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetConeAngles_1_0_4627, 9, - XREF_DSVOICESETCONEANGLES, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETCONEANGLES, + XRefZero) - { // CDirectSoundVoice_SetConeAngles+0x0D : mov edx, [esp+arg_4] { 0x0D, 0x8B }, { 0x0E, 0x54 }, @@ -1508,21 +1273,16 @@ SOOVPA<9> CDirectSoundVoice_SetConeAngles_1_0_4627 = // CDirectSoundVoice_SetConeAngles+0x40 : retn 10h { 0x41, 0x10 }, { 0x42, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetConeAngles // ****************************************************************** -SOOVPA<11> CDirectSoundBuffer_SetConeAngles_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundBuffer_SetConeAngles_1_0_4627, 11, - XREF_DSBUFFERSETCONEANGLES, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETCONEANGLES, + XRefOne) - { // CDirectSoundBuffer_SetConeAngles+0x39 : call [CDirectSoundVoice::SetConeAngles] { 0x3A, XREF_DSVOICESETCONEANGLES }, @@ -1541,21 +1301,16 @@ SOOVPA<11> CDirectSoundBuffer_SetConeAngles_1_0_4627 = // CDirectSoundBuffer_SetConeAngles+0x53 : retn 10h { 0x54, 0x10 }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetConeAngles // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer_SetConeAngles_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer_SetConeAngles_1_0_4627, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetConeAngles+0x1C : call [CDirectSoundBuffer::SetConeAngles] { 0x1D, XREF_DSBUFFERSETCONEANGLES }, @@ -1573,21 +1328,16 @@ SOOVPA<10> IDirectSoundBuffer_SetConeAngles_1_0_4627 = // IDirectSoundBuffer_SetConeAngles+0x21 : retn 10h { 0x22, 0x10 }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetConeOrientation // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetConeOrientation_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetConeOrientation_1_0_4627, 8, - XREF_DSVOICESETCONEORIENTATION, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETCONEORIENTATION, + XRefZero) - { // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] { 0x0F, 0x8B }, { 0x10, 0x55 }, @@ -1601,21 +1351,16 @@ SOOVPA<8> CDirectSoundVoice_SetConeOrientation_1_0_4627 = // CDirectSoundVoice_SetConeOrientation+0x4F : retn 14h { 0x50, 0x14 }, { 0x51, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetConeOrientation // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetConeOrientation_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation_1_0_4627, 9, - XREF_DSBUFFERSETCONEORIENTATION, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETCONEORIENTATION, + XRefOne) - { // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] { 0x4A, XREF_DSVOICESETCONEORIENTATION }, @@ -1632,21 +1377,16 @@ SOOVPA<9> CDirectSoundBuffer_SetConeOrientation_1_0_4627 = // CDirectSoundBuffer_SetConeOrientation+0x64 : retn 14h { 0x65, 0x14 }, { 0x66, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetConeOrientation // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetConeOrientation_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation_1_0_4627, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetConeOrientation+0x2C : call [CDirectSoundBuffer::SetConeOrientation] { 0x2D, XREF_DSBUFFERSETCONEORIENTATION }, @@ -1663,21 +1403,16 @@ SOOVPA<9> IDirectSoundBuffer_SetConeOrientation_1_0_4627 = // IDirectSoundBuffer_SetConeOrientation+0x32 : retn 14h { 0x33, 0x14 }, { 0x34, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetConeOutsideVolume // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetConeOutsideVolume_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume_1_0_4627, 9, - XREF_DSVOICESETCONEOUTSIDEVOLUME, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETCONEOUTSIDEVOLUME, + XRefZero) - { // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] { 0x0D, 0x8B }, { 0x0E, 0x54 }, @@ -1692,21 +1427,16 @@ SOOVPA<9> CDirectSoundVoice_SetConeOutsideVolume_1_0_4627 = // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetConeOutsideVolume // ****************************************************************** -SOOVPA<11> CDirectSoundBuffer_SetConeOutsideVolume_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume_1_0_4627, 11, - XREF_DSBUFFERSETCONEOUTSIDEVOLUME, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETCONEOUTSIDEVOLUME, + XRefOne) - { // CDirectSoundBuffer_SetConeOutsideVolume+0x35 : call [CDirectSoundVoice::SetConeOutsideVolume] { 0x36, XREF_DSVOICESETCONEOUTSIDEVOLUME }, @@ -1725,21 +1455,16 @@ SOOVPA<11> CDirectSoundBuffer_SetConeOutsideVolume_1_0_4627 = // CDirectSoundBuffer_SetConeOutsideVolume+0x4F : retn 0Ch { 0x50, 0x0C }, { 0x51, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetConeOutsideVolume // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundBuffer::SetConeOutsideVolume] { 0x19, XREF_DSBUFFERSETCONEOUTSIDEVOLUME }, @@ -1756,21 +1481,16 @@ SOOVPA<9> IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627 = // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch { 0x1E, 0x0C }, { 0x1F, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetPosition // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetPosition_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetPosition_1_0_4627, 8, - XREF_DSVOICESETPOSITION, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETPOSITION, + XRefZero) - { // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] { 0x0F, 0x8B }, { 0x10, 0x55 }, @@ -1784,21 +1504,16 @@ SOOVPA<8> CDirectSoundVoice_SetPosition_1_0_4627 = // CDirectSoundVoice_SetPosition+0x51 : retn 14h { 0x52, 0x14 }, { 0x53, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetPosition // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetPosition_1_0_4627, 9, - XREF_DSBUFFERSETPOSITION, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETPOSITION, + XRefOne) - { // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] { 0x4A, XREF_DSVOICESETPOSITION }, @@ -1815,21 +1530,16 @@ SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_4627 = // CDirectSoundBuffer_SetPosition+0x64 : retn 14h { 0x65, 0x14 }, { 0x66, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetVelocity // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetVelocity_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetVelocity_1_0_4627, 8, - XREF_DSVOICESETVELOCITY, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETVELOCITY, + XRefZero) - { // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] { 0x0F, 0x8B }, { 0x10, 0x55 }, @@ -1843,21 +1553,16 @@ SOOVPA<8> CDirectSoundVoice_SetVelocity_1_0_4627 = // CDirectSoundVoice_SetVelocity+0x4F : retn 14h { 0x50, 0x14 }, { 0x51, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetVelocity // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetVelocity_1_0_4627, 9, - XREF_DSBUFFERSETVELOCITY, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETVELOCITY, + XRefOne) - { // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] { 0x4A, XREF_DSVOICESETVELOCITY }, @@ -1874,21 +1579,16 @@ SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_4627 = // CDirectSoundBuffer_SetVelocity+0x64 : retn 14h { 0x65, 0x14 }, { 0x66, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetDopplerFactor_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor_1_0_4627, 9, - XREF_DSVOICESETDOPPLERFACTOR, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETDOPPLERFACTOR, + XRefZero) - { // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] { 0x0D, 0x8B }, { 0x0E, 0x54 }, @@ -1903,21 +1603,16 @@ SOOVPA<9> CDirectSoundVoice_SetDopplerFactor_1_0_4627 = // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetDopplerFactor // ****************************************************************** -SOOVPA<10> CDirectSoundBuffer_SetDopplerFactor_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_SetDopplerFactor_1_0_4627, 10, - XREF_DSBUFFERSETDOPPLERFACTOR, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETDOPPLERFACTOR, + XRefOne) - { // CDirectSoundBuffer_SetDopplerFactor+0x39 : call [CDirectSoundVoice::SetDopplerFactor] { 0x3A, XREF_DSVOICESETDOPPLERFACTOR }, @@ -1935,21 +1630,16 @@ SOOVPA<10> CDirectSoundBuffer_SetDopplerFactor_1_0_4627 = // CDirectSoundBuffer_SetDopplerFactor+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetDopplerFactor // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetDopplerFactor_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetDopplerFactor_1_0_4627, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetDopplerFactor+0x1C : call [CDirectSoundBuffer::SetDopplerFactor] { 0x1D, XREF_DSBUFFERSETDOPPLERFACTOR }, @@ -1966,21 +1656,16 @@ SOOVPA<9> IDirectSoundBuffer_SetDopplerFactor_1_0_4627 = // IDirectSoundBuffer_SetDopplerFactor+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetI3DL2Source // ****************************************************************** -SOOVPA<10> CDirectSoundVoice_SetI3DL2Source_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source_1_0_4627, 10, - XREF_DSVOICESETI3DL2SOURCE, // XRef Is Saved - 0, // XRef Not Used + XREF_DSVOICESETI3DL2SOURCE, + XRefZero) - { // CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx] { 0x12, 0x8B }, { 0x13, 0x31 }, @@ -1998,21 +1683,16 @@ SOOVPA<10> CDirectSoundVoice_SetI3DL2Source_1_0_4627 = // CDirectSoundVoice_SetI3DL2Source+0xAC : retn 0Ch { 0xAD, 0x0C }, { 0xAE, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetI3DL2Source // ****************************************************************** -SOOVPA<11> CDirectSoundBuffer_SetI3DL2Source_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source_1_0_4627, 11, - XREF_DSBUFFERSETI3DL2SOURCE, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETI3DL2SOURCE, + XRefOne) - { // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] { 0x36, XREF_DSVOICESETI3DL2SOURCE }, @@ -2031,21 +1711,16 @@ SOOVPA<11> CDirectSoundBuffer_SetI3DL2Source_1_0_4627 = // CDirectSoundBuffer_SetI3DL2Source+0x4F : retn 0Ch { 0x50, 0x0C }, { 0x51, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetI3DL2Source // ****************************************************************** -SOOVPA<10> IDirectSoundBuffer_SetI3DL2Source_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source_1_0_4627, 10, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetI3DL2Source+0x18 : call [CDirectSoundBuffer::SetI3DL2Source] { 0x19, XREF_DSBUFFERSETI3DL2SOURCE }, @@ -2063,21 +1738,13 @@ SOOVPA<10> IDirectSoundBuffer_SetI3DL2Source_1_0_4627 = // IDirectSoundBuffer_SetI3DL2Source+0x1D : retn 0Ch { 0x1E, 0x0C }, { 0x1F, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Stop // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer_Stop_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(IDirectSoundBuffer_Stop_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -2096,22 +1763,17 @@ SOOVPA<11> IDirectSoundBuffer_Stop_1_0_4627 = // IDirectSoundBuffer_Stop+0x15 : retn 4 { 0x16, 0x04 }, { 0x17, 0x00 } - } -}; +OOVPA_END; // +s // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFormat // ****************************************************************** -SOOVPA<8> X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627, 8, - XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetFormat, + XRefZero) - { { 0x07, 0x4E }, { 0x10, 0xE8 }, { 0x19, 0xD8 }, @@ -2120,21 +1782,16 @@ SOOVPA<8> X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627 = { 0x34, 0xFF }, { 0x3F, 0x8B }, { 0x46, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetFormat // ****************************************************************** -SOOVPA<8> X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627, 8, - XREF_DirectSound_CDirectSoundBuffer_SetFormat, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetFormat, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFormat }, { 0x0C, 0x00 }, @@ -2144,21 +1801,16 @@ SOOVPA<8> X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetFormat // ****************************************************************** -SOOVPA<8> X_IDirectSoundBuffer_SetFormat_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(X_IDirectSoundBuffer_SetFormat_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFormat }, { 0x02, 0x24 }, @@ -2168,21 +1820,16 @@ SOOVPA<8> X_IDirectSoundBuffer_SetFormat_1_0_4627 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -SOOVPA<11> CMcpxStream_Pause_1_0_4928 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxStream_Pause_1_0_4928, 11, - XREF_DSSTREAMPAUSE, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMPAUSE, + XRefZero) - { // CMcpxStream_Pause+0x17 : and ax, 0xFFDF { 0x17, 0x66 }, // (Offset,Value)-Pair #1 { 0x18, 0x25 }, // (Offset,Value)-Pair #2 @@ -2201,21 +1848,16 @@ SOOVPA<11> CMcpxStream_Pause_1_0_4928 = // CMcpxStream_Pause+0x8B : retn 0x04 { 0x8B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMixBinVolumes (untested) // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetMixBinVolumes_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 0 +OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_1_0_4627, 12, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSSETMIXBINVOLUMESB }, { 0x0D, 0x0F }, @@ -2229,21 +1871,16 @@ SOOVPA<12> CDirectSoundStream_SetMixBinVolumes_1_0_4627 = { 0x4F, 0xC2 }, { 0x50, 0x08 }, { 0x51, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::EnableHeadphones (incorrect?) // ****************************************************************** -SOOVPA<15> X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627 = -{ - 0, // Large == 0 - 15, // Count == 14 +OOVPA_XREF(X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627, 15, - XREF_DirectSound_CDirectSound_EnableHeadphones, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSound_EnableHeadphones, + XRefZero) - { // CDirectSound_EnableHeadphones+0x12 : movzx eax, al { 0x12, 0x0F }, // (Offset,Value)-Pair #1 { 0x13, 0xB6 }, // (Offset,Value)-Pair #2 @@ -2267,21 +1904,16 @@ SOOVPA<15> X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627 = //{ 0x97, 0xC9 }, // (Offset,Value)-Pair #14 { 0x98, 0xC2 }, { 0x99, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * EmuIDirectSound_EnableHeadphones // ****************************************************************** -SOOVPA<9> EmuIDirectSound_EnableHeadphones_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(EmuIDirectSound_EnableHeadphones_1_0_4627, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSound_EnableHeadphones+0x14 : call [CDirectSound::EnableHeadphones] { 0x15, XREF_DirectSound_CDirectSound_EnableHeadphones }, @@ -2298,22 +1930,17 @@ SOOVPA<9> EmuIDirectSound_EnableHeadphones_1_0_4627 = { 0x19, 0xC2 }, { 0x1A, 0x08 }, { 0x1B, 0x00 }, - } -}; +OOVPA_END; /* // ****************************************************************** // * CDirectSoundVoice::SetHeadrom // ****************************************************************** -SOOVPA<9> CDirectSoundVoice_SetHeadroom_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundVoice_SetHeadroom_1_0_4627, 9, - XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // XRef is saved - -1, // XRef is not used + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, + -1) // TODO : -1 is used nowhere else - should it stay that, or XRefOne? - { { 0x1B, XREF_DSSTREAMSETVOLUME }, { 0x0A, 0x56 }, @@ -2324,21 +1951,16 @@ SOOVPA<9> CDirectSoundVoice_SetHeadroom_1_0_4627 = { 0x19, 0x0C }, { 0x20, 0xC2 }, { 0x21, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetHeadroom // ****************************************************************** -SOOVPA<12> CDirectSoundStream_SetHeadroom_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(CDirectSoundStream_SetHeadroom_1_0_4627, 12, - XRefNotSaved, - 1, // XRef is used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, { 0x21, 0x8B }, @@ -2352,22 +1974,17 @@ SOOVPA<12> CDirectSoundStream_SetHeadroom_1_0_4627 = { 0x33, 0x04 }, { 0x4F, 0xC2 }, { 0x50, 0x08 }, - } -}; +OOVPA_END; */ // ****************************************************************** // * CDirectSound::SetAllParametersA // ****************************************************************** -SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4831 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_SetAllParametersA_1_0_4831, 10, - XREF_DSSETALLPARAMETERSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSETALLPARAMETERSA, + XRefZero) - { { 0x16, 0x68 }, // (Offset,Value)-Pair #1 { 0x17, 0x08 }, // (Offset,Value)-Pair #2 { 0x18, 0x6E }, // (Offset,Value)-Pair #3 @@ -2380,21 +1997,16 @@ SOOVPA<10> CDirectSound_SetAllParametersA_1_0_4831 = { 0x87, 0x8B }, // (Offset,Value)-Pair #8 { 0x88, 0x50 }, // (Offset,Value)-Pair #9 { 0x89, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::GetOutputLevels // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_GetOutputLevels_1_0_4627, 7, - XREF_DirectSound_CDirectSound_GetOutputLevels, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSound_GetOutputLevels, + XRefZero) - { { 0x07, 0x10 }, { 0x10, 0xF3 }, { 0x19, 0x5E }, @@ -2402,21 +2014,16 @@ SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_4627 = { 0x2B, 0x85 }, { 0x34, 0xA6 }, { 0x3D, 0xD0 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_GetOutputLevels // ****************************************************************** -SOOVPA<9> IDirectSound_GetOutputLevels_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_GetOutputLevels_1_0_4627, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSound_GetOutputLevels }, { 0x02, 0x24 }, @@ -2427,21 +2034,16 @@ SOOVPA<9> IDirectSound_GetOutputLevels_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetAllParameters // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627, 8, - XREF_DirectSound_CDirectSoundVoice_SetAllParameters, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetAllParameters, + XRefZero) - { { 0x1E, 0x92 }, { 0x3E, 0x00 }, { 0x5E, 0x00 }, @@ -2450,21 +2052,16 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627 = { 0xBE, 0x41 }, { 0xDE, 0x8B }, { 0xFE, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetAllParameters // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_4627, 8, - XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetAllParameters }, { 0x0C, 0x00 }, @@ -2474,21 +2071,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_4627 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetAllParameters // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetAllParameters_1_0_4627, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetAllParameters }, { 0x02, 0x24 }, @@ -2499,21 +2091,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::Pause // ****************************************************************** -SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_4928 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CMcpxBuffer_Pause_1_0_4928, 7, - XREF_DirectSound_CMcpxBuffer_Pause, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxBuffer_Pause, + XRefZero) - { { 0x0D, 0x4D }, { 0x1C, 0x44 }, { 0x2B, 0x8B }, @@ -2521,21 +2108,16 @@ SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_4928 = { 0x49, 0x7D }, { 0x58, 0xEB }, { 0x67, 0xE8 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::Pause // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_Pause_1_0_4928 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_Pause_1_0_4928, 8, - XREF_DirectSound_CDirectSoundBuffer_Pause, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_Pause, + XRefOne) - { { 0x35, XREF_DirectSound_CMcpxBuffer_Pause }, { 0x0C, 0x00 }, @@ -2545,21 +2127,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_Pause_1_0_4928 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Pause // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_Pause_1_0_4928 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_Pause_1_0_4928, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_Pause }, { 0x02, 0x24 }, @@ -2569,21 +2146,16 @@ SOOVPA<8> IDirectSoundBuffer_Pause_1_0_4928 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::GetStatus // ****************************************************************** -SOOVPA<7> DirectSound_CMcpxBuffer_GetStatus_1_0_4721 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CMcpxBuffer_GetStatus_1_0_4721, 7, - XREF_DirectSound_CMcpxBuffer_GetStatus, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxBuffer_GetStatus, + XRefZero) - { { 0x07, 0xE1 }, { 0x10, 0x24 }, { 0x19, 0x0F }, @@ -2591,21 +2163,16 @@ SOOVPA<7> DirectSound_CMcpxBuffer_GetStatus_1_0_4721 = { 0x2B, 0x80 }, { 0x34, 0x24 }, { 0x3D, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::GetStatus // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_GetStatus_1_0_4721 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_GetStatus_1_0_4721, 8, - XREF_DirectSound_CDirectSoundBuffer_GetStatus, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_GetStatus, + XRefOne) - { { 0x35, XREF_DirectSound_CMcpxBuffer_GetStatus }, { 0x0C, 0x00 }, @@ -2615,21 +2182,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_GetStatus_1_0_4721 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_GetStatus // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_GetStatus_1_0_4721 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_GetStatus_1_0_4721, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_GetStatus }, { 0x02, 0x24 }, @@ -2639,21 +2201,16 @@ SOOVPA<8> IDirectSoundBuffer_GetStatus_1_0_4721 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetMixBins_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetMixBins_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSSETMIXBINSB }, { 0x0C, 0x00 }, @@ -2663,21 +2220,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetMixBins_1_0_4627 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxVoiceClient::SetEG // ****************************************************************** -SOOVPA<8> DirectSound_CMcpxVoiceClient_SetEG_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CMcpxVoiceClient_SetEG_1_0_4627, 8, - XREF_DirectSound_CMcpxVoiceClient_SetEG, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxVoiceClient_SetEG, + XRefZero) - { { 0x1E, 0x75 }, { 0x3E, 0x0F }, { 0x5E, 0xE3 }, @@ -2686,21 +2238,16 @@ SOOVPA<8> DirectSound_CMcpxVoiceClient_SetEG_1_0_4627 = { 0xBE, 0x50 }, { 0xDE, 0x1C }, { 0xFE, 0x1C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetEG // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetEG_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetEG_1_0_4627, 7, - XREF_DirectSound_CDirectSoundVoice_SetEG, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundVoice_SetEG, + XRefOne) - { { 0x0C, XREF_DirectSound_CMcpxVoiceClient_SetEG }, { 0x01, 0x44 }, @@ -2709,21 +2256,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetEG_1_0_4627 = { 0x0A, 0x0C }, { 0x10, 0xC2 }, { 0x11, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetEG // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetEG_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetEG_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetEG }, { 0x0C, 0x00 }, @@ -2733,21 +2275,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetEG_1_0_4627 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetEG // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetEG_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetEG_1_0_4627, 8, - XREF_DirectSound_CDirectSoundBuffer_SetEG, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetEG, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetEG }, { 0x0C, 0x00 }, @@ -2757,21 +2294,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetEG_1_0_4627 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetEG // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetEG_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetEG_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetEG }, { 0x02, 0x24 }, @@ -2781,21 +2313,16 @@ SOOVPA<8> IDirectSoundBuffer_SetEG_1_0_4627 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::FlushEx // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundStream_FlushEx_1_0_4627, 7, - XREF_DSFLUSHEX2, // Xref Is Saved - XRefNotUsed, + XREF_DSFLUSHEX2, + XRefZero) - { { 0x0F, 0x00 }, { 0x18, 0x0B }, { 0x25, 0x05 }, @@ -2803,21 +2330,16 @@ SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_4627 = { 0x3F, 0x75 }, { 0x4D, 0x85 }, { 0x59, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundStream_FlushEx // ****************************************************************** -SOOVPA<9> IDirectSoundStream_FlushEx_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundStream_FlushEx_1_0_4627, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x11, XREF_DSFLUSHEX2 }, { 0x01, 0x74 }, @@ -2828,21 +2350,13 @@ SOOVPA<9> IDirectSoundStream_FlushEx_1_0_4627 = { 0x10, 0xE8 }, { 0x15, 0xC2 }, { 0x16, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAudioDownloadEffectsImage // ****************************************************************** -SOOVPA<8> XAudioDownloadEffectsImage_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XAudioDownloadEffectsImage_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0xB6 }, { 0x41, 0x83 }, { 0x61, 0x8B }, @@ -2851,21 +2365,16 @@ SOOVPA<8> XAudioDownloadEffectsImage_1_0_4627 = { 0xBE, 0x6A }, { 0xDE, 0x07 }, { 0xFE, 0xF7 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMode // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetMode_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetMode_1_0_4627, 7, - XREF_DSBUFFERSETMODEB, // Xref Is Saved - XRefNotUsed, + XREF_DSBUFFERSETMODEB, + XRefZero) - { { 0x03, 0x0C }, { 0x08, 0x04 }, { 0x0D, 0x89 }, @@ -2873,21 +2382,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetMode_1_0_4627 = { 0x17, 0x51 }, { 0x1C, 0xE8 }, { 0x21, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetMode // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMode_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetMode_1_0_4627, 8, - XREF_DSBUFFERSETMODEA, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETMODEA, + XRefOne) - { { 0x36, XREF_DSBUFFERSETMODEB }, { 0x0C, 0x00 }, @@ -2897,21 +2401,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMode_1_0_4627 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetMode // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetMode_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetMode_1_0_4627, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSBUFFERSETMODEA }, { 0x02, 0x24 }, @@ -2922,21 +2421,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetMode_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxVoiceClient::SetFilter // ****************************************************************** -SOOVPA<8> DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627, 8, - XREF_DirectSound_CMcpxVoiceClient_SetFilter, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxVoiceClient_SetFilter, + XRefZero) - { { 0x1E, 0xFF }, { 0x3E, 0x73 }, { 0x5E, 0x3E }, @@ -2945,21 +2439,16 @@ SOOVPA<8> DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627 = { 0xBE, 0x89 }, { 0xDE, 0x0F }, { 0xFE, 0xB7 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFilter // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetFilter_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetFilter_1_0_4627, 7, - XREF_DirectSound_CDirectSoundVoice_SetFilter, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundVoice_SetFilter, + XRefOne) - { { 0x0C, XREF_DirectSound_CMcpxVoiceClient_SetFilter }, { 0x01, 0x44 }, @@ -2968,21 +2457,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetFilter_1_0_4627 = { 0x0A, 0x0C }, { 0x10, 0xC2 }, { 0x11, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetFilter // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetFilter_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetFilter_1_0_4627, 8, - XREF_DirectSound_CDirectSoundBuffer_SetFilter, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetFilter, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFilter }, { 0x0C, 0x00 }, @@ -2992,21 +2476,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetFilter_1_0_4627 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetFilter // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetFilter_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetFilter_1_0_4627, 8, - XREF_DirectSound_CDirectSoundStream_SetFilter, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundStream_SetFilter, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetFilter }, { 0x0C, 0x00 }, @@ -3016,21 +2495,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetFilter_1_0_4627 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetFilter // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetFilter_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetFilter_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFilter }, { 0x02, 0x24 }, @@ -3040,42 +2514,32 @@ SOOVPA<8> IDirectSoundBuffer_SetFilter_1_0_4627 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetPitch // ****************************************************************** -SOOVPA<6> DirectSound_CDirectSoundVoice_SetPitch_1_0_4627 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetPitch_1_0_4627, 6, - XREF_DSBUFFERSETPITCHB, // Xref Is Saved - XRefNotUsed, + XREF_DSBUFFERSETPITCHB, + XRefZero) - { { 0x02, 0x24 }, { 0x06, 0x10 }, { 0x0A, 0x08 }, { 0x0E, 0x8B }, { 0x16, 0xC2 }, { 0x17, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetPitch // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetPitch_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetPitch_1_0_4627, 8, - XREF_DSBUFFERSETPITCHA, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETPITCHA, + XRefOne) - { { 0x32, XREF_DSBUFFERSETPITCHB }, { 0x0C, 0x00 }, @@ -3085,21 +2549,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetPitch_1_0_4627 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPitch // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetPitch_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSBUFFERSETPITCHA }, { 0x02, 0x24 }, @@ -3109,21 +2568,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_4627 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetHeadroom // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4627, 8, - XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, + XRefOne) - { // CDirectSoundVoice_SetHeadroom+0x1B : call [CMcpxVoiceClient::SetVolume] { 0x1B, XREF_DSSTREAMSETVOLUME }, @@ -3134,21 +2588,16 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4627 = { 0x17, 0x8B }, { 0x1F, 0x5E }, { 0x21, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetHeadroom // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, /*XREF_DirectSound_CDirectSoundVoice_SetHeadroom*/ XREF_DSBUFFERSETHEADROOMA }, { 0x0C, 0x00 }, @@ -3158,21 +2607,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetOutputBuffer // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627, 7, - XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer, + XRefZero) - { { 0x09, 0xF7 }, { 0x14, 0x8B }, { 0x1F, 0x3B }, @@ -3180,21 +2624,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627 = { 0x35, 0x8B }, { 0x40, 0x74 }, { 0x4B, 0xD8 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetOutputBuffer // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetOutputBuffer_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetOutputBuffer_1_0_4627, 8, - XREF_DirectSound_CDirectSoundBuffer_SetOutputBuffer, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetOutputBuffer, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer }, { 0x0C, 0x00 }, @@ -3204,21 +2643,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetOutputBuffer_1_0_4627 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetOutputBuffer // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetOutputBuffer }, { 0x0C, 0x00 }, @@ -3228,21 +2662,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetOutputBuffer // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetOutputBuffer_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetOutputBuffer_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetOutputBuffer }, { 0x02, 0x24 }, @@ -3252,21 +2681,16 @@ SOOVPA<8> IDirectSoundBuffer_SetOutputBuffer_1_0_4627 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetRolloffCurve // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627, 8, - XREF_DSVOICESETROLLOFFCURVE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETROLLOFFCURVE, + XRefZero) - { { 0x07, 0x8B }, { 0x10, 0x08 }, { 0x13, 0x70 }, @@ -3275,21 +2699,16 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627 = { 0x2B, 0x00 }, { 0x34, 0x10 }, { 0x3E, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetRolloffCurve // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetRolloffCurve_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetRolloffCurve_1_0_4627, 8, - XREF_DSBUFFERSETROLLOFFCURVE, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETROLLOFFCURVE, + XRefOne) - { { 0x3A, XREF_DSVOICESETROLLOFFCURVE }, { 0x0C, 0x00 }, @@ -3299,21 +2718,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetRolloffCurve_1_0_4627 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetRolloffCurve // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, { 0x0C, 0x00 }, @@ -3323,21 +2737,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627 = { 0x3A, 0x24 }, { 0x46, 0x74 }, { 0x53, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetRolloffCurve // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetRolloffCurve_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetRolloffCurve_1_0_4627, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETROLLOFFCURVE }, { 0x03, 0x10 }, @@ -3347,23 +2756,15 @@ SOOVPA<8> IDirectSoundBuffer_SetRolloffCurve_1_0_4627 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMemoryManager::MemAlloc // ****************************************************************** // * FOR DEBUGGING USE ONLY! // ****************************************************************** -SOOVPA<10> DirectSound_CMemoryManager_MemAlloc_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(DirectSound_CMemoryManager_MemAlloc_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // DirectSound::CMemoryManager::PoolAlloc + 0x1B: cmp [esp+4+0xC], 0 { 0x1B, 0x83 }, { 0x1C, 0x7C }, @@ -3377,21 +2778,13 @@ SOOVPA<10> DirectSound_CMemoryManager_MemAlloc_1_0_4627 = // DirectSound::CMemoryManager::PoolAlloc + 0x65: retn 0xC { 0x65, 0xC2 }, { 0x66, 0x0C } - } -}; +OOVPA_END; // ****************************************************************** // * XWaveFileCreateMediaObject // ****************************************************************** -SOOVPA<7> XWaveFileCreateMediaObject_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XWaveFileCreateMediaObject_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x0B }, { 0x1C, 0xF7 }, { 0x2B, 0x07 }, @@ -3399,21 +2792,16 @@ SOOVPA<7> XWaveFileCreateMediaObject_1_0_4627 = { 0x49, 0x10 }, { 0x5C, 0x8B }, { 0x67, 0x07 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetNotificationPositions // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627, 7, - XREF_DirectSound_CDirectSoundBuffer_SetNotificationPositions, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundBuffer_SetNotificationPositions, + XRefZero) - { { 0x0C, 0x00 }, { 0x1B, 0xFF }, { 0x25, 0x80 }, @@ -3421,21 +2809,13 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627 = { 0x3F, 0xF8 }, { 0x4C, 0x8B }, { 0x5D, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * XFileCreateMediaObjectEx // ****************************************************************** -SOOVPA<7> XFileCreateMediaObjectEx_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XFileCreateMediaObjectEx_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0xC0 }, { 0x16, 0xF8 }, { 0x22, 0xE6 }, @@ -3443,21 +2823,16 @@ SOOVPA<7> XFileCreateMediaObjectEx_1_0_4627 = { 0x3A, 0xF0 }, { 0x46, 0x4C }, { 0x52, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetNotificationPositions // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions_1_0_4627, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetNotificationPositions }, { 0x02, 0x24 }, @@ -3468,1545 +2843,368 @@ SOOVPA<9> IDirectSoundBuffer_SetNotificationPositions_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct_1_0_4627 // ****************************************************************** -OOVPATable DSound_1_0_4627[] = -{ +OOVPATable DSound_1_0_4627[] = { + // DirectSoundCreate (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreate_1_0_4361, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, - // DirectSoundDoWork - { - (OOVPA*)&DirectSoundDoWork_1_0_4627, - - XTL::EmuDirectSoundDoWork, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundDoWork" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_4361, XTL::EmuDirectSoundCreate), + // DirectSoundDoWork + OOVPA_TABLE_PATCH(DirectSoundDoWork_1_0_4627, XTL::EmuDirectSoundDoWork), // CDirectSound_CreateSoundBuffer - { - (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundBuffer (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetPlayRegion (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetPlayRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPlayRegion" - #endif - }, - // IDirectSoundBuffer8::SetLoopRegion (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetLoopRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetLoopRegion" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundBuffer_1_0_4627), + // IDirectSoundBuffer8::SetPlayRegion (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPlayRegion_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetPlayRegion), + // IDirectSoundBuffer8::SetLoopRegion (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetLoopRegion_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetLoopRegion), // CDirectSound_SetI3DL2Listener (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF)" - #endif - }, - // IDirectSound8_SetI3DL2Listener (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_4432, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetI3DL2Listener_1_0_4432), + // IDirectSound8_SetI3DL2Listener (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetI3DL2Listener_1_0_4432, XTL::EmuIDirectSound8_SetI3DL2Listener), // CDirectSound_SetMixBinHeadroom - { - (OOVPA*)&CDirectSound_SetMixBinHeadroom_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetMixBinHeadroom (XREF)" - #endif - }, - // IDirectSound8_SetMixBinHeadroom - { - (OOVPA*)&IDirectSound8_SetMixBinHeadroom_1_0_4627, - - XTL::EmuIDirectSound8_SetMixBinHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetMixBinHeadroom" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetMixBinHeadroom_1_0_4627), + // IDirectSound8_SetMixBinHeadroom + OOVPA_TABLE_PATCH(IDirectSound8_SetMixBinHeadroom_1_0_4627, XTL::EmuIDirectSound8_SetMixBinHeadroom), // IDirectSoundBuffer8::SetHeadroomA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_SetHeadroomA_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetHeadroomA (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetHeadroom - { - (OOVPA*)&IDirectSoundBuffer8_SetHeadroom_1_0_4928, - - XTL::EmuIDirectSoundBuffer8_SetHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetHeadroom" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_SetHeadroomA_1_0_4928), + // IDirectSoundBuffer8::SetHeadroom + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetHeadroom_1_0_4928, XTL::EmuIDirectSoundBuffer8_SetHeadroom), // CDirectSound::SetVelocity (XREF) - { - (OOVPA*)&CDirectSound_SetVelocity_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetVelocityA (XRef)" - #endif - }, - // IDirectSound8::SetVelocity (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetVelocity_1_0_3936, - - XTL::EmuIDirectSound8_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetVelocity_1_0_4627), + // IDirectSound8::SetVelocity (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetVelocity_1_0_3936, XTL::EmuIDirectSound8_SetVelocity), // CDirectSound::SetAllParametersA (XREF) - { - (OOVPA*)&CDirectSound_SetAllParametersA_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetAllParametersA (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetAllParametersA_1_0_4627), // CDirectSound::SetAllParametersA (XREF) - { - (OOVPA*)&CDirectSound_SetAllParametersA_1_0_4721, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetAllParametersA_4721 (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetAllParametersA_1_0_4721), // CDirectSound_SetAllParametersA (XREF) - { - (OOVPA*)&CDirectSound_SetAllParametersA_1_0_4831, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetAllParametersA_4831 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetAllParametersA_1_0_4831), // CDirectSound_SetAllParameters (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetAllParameters_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetAllParametersA (4928) (XREF)" - #endif - }, - // IDirectSound8::SetAllParameters (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetAllParameters_1_0_3936, - - XTL::EmuIDirectSound8_SetAllParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetAllParameters" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetAllParameters_1_0_4928), + // IDirectSound8::SetAllParameters (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetAllParameters_1_0_3936, XTL::EmuIDirectSound8_SetAllParameters), // CDirectSoundVoiceSettings_SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoiceSettings_SetMixBins_1_0_4432), // CDirectSoundVoice_SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBins_1_0_4432), // CDirectSoundBuffer_SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBins (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432, - - XTL::EmuIDirectSoundBuffer8_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBins" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMixBins_1_0_4432), + // IDirectSoundBuffer8_SetMixBins (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBins_1_0_4432, XTL::EmuIDirectSoundBuffer8_SetMixBins), // CDirectSoundVoiceSettings_SetMixBinVolumes - { - (OOVPA*)&CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627), // CDirectSoundVoice_SetMixBinVolumes - { - (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBinVolumes_1_0_4627), // CDirectSoundBuffer_SetMixBinVolumes - { - (OOVPA*)&CDirectSoundBuffer_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBinVolumes (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetMixBinVolumes - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBinVolumes" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMixBinVolumes_1_0_4627), + // IDirectSoundBuffer8_SetMixBinVolumes + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes), // CDirectSound::SetPositionA (XREF) - { - (OOVPA*)&CDirectSound_SetPositionA_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetPositionA (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetPositionA_1_0_4627), // CDirectSound::SetPositionA (XREF) // TODO: Find a cure for laziness... - { - (OOVPA*)&CDirectSound_SetPositionA_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetPositionA_4432 (XRef)" - #endif - }, - // IDirectSound8::SetPosition (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetPosition_1_0_3936, - - XTL::EmuIDirectSound8_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetPosition" - #endif - }, - // DirectSoundCreateBuffer - { - (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, - - XTL::EmuDirectSoundCreateBuffer, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateBuffer" - #endif - }, - // IDirectSound8::CreateSoundBuffer - { - (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, - - XTL::EmuIDirectSound8_CreateSoundBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateSoundBuffer" - #endif - }, - // IDirectSound8::AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_AddRef_1_0_3936, - - XTL::EmuIDirectSound8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_AddRef" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetPositionA_1_0_4432), + // IDirectSound8::SetPosition (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetPosition_1_0_3936, XTL::EmuIDirectSound8_SetPosition), + // DirectSoundCreateBuffer + OOVPA_TABLE_PATCH(DirectSoundCreateBuffer_1_0_4627, XTL::EmuDirectSoundCreateBuffer), + // IDirectSound8::CreateSoundBuffer + OOVPA_TABLE_PATCH(IDirectSound8_CreateSoundBuffer_1_0_4627, XTL::EmuIDirectSound8_CreateSoundBuffer), + // IDirectSound8::AddRef (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_AddRef_1_0_3936, XTL::EmuIDirectSound8_AddRef), // CDirectSoundVoice::SetFrequency (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice_SetFrequency (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetFrequency_1_0_4627), // CDirectSoundBuffer::SetFrequency - { - (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundBuffer_SetFrequency (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetFrequency - { - (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetFrequency" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetFrequency_1_0_4627), + // IDirectSoundBuffer8::SetFrequency + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetFrequency_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetFrequency), // CMcpxVoiceClient_SetVolume - { - (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetVolume (XREF)" - #endif - }, - // CDirectSoundStream_SetVolume - { - (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, - - XTL::EmuCDirectSoundStream_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetVolume" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetVolume_1_0_4627), + // CDirectSoundStream_SetVolume + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVolume_1_0_4627, XTL::EmuCDirectSoundStream_SetVolume), // IDirectSoundBuffer8::LockA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_LockA_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_LockA (XRef)" - #endif - }, - // IDirectSoundBuffer8::Lock (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_Lock_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Lock" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_LockA_1_0_4627), + // IDirectSoundBuffer8::Lock (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Lock_1_0_3936, XTL::EmuIDirectSoundBuffer8_Lock), // CDirectSound_CreateSoundStream (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, - // IDirectSound8_CreateStream - { - (OOVPA*)&IDirectSound8_CreateStream_1_0_3936, - - XTL::EmuIDirectSound8_CreateStream, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateStream" - #endif - }, - // DirectSoundCreateStream (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreateStream_1_0_4361, - - XTL::EmuDirectSoundCreateStream, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateStream" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundStream_1_0_4361), + // IDirectSound8_CreateStream + OOVPA_TABLE_PATCH(IDirectSound8_CreateStream_1_0_3936, XTL::EmuIDirectSound8_CreateStream), + // DirectSoundCreateStream (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(DirectSoundCreateStream_1_0_4361, XTL::EmuDirectSoundCreateStream), // CMcpxStream::Pause (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxStream_Pause_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxStream_Pause (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxStream_Pause_1_0_4361), // CMcpxStream::Pause - { - (OOVPA*)&CMcpxStream_Pause_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "CMcpxStream_Pause_4928 (XREF)" - #endif - }, - // CDirectSoundStream::Pause (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_Pause" - #endif - }, + OOVPA_TABLE_XREF(CMcpxStream_Pause_1_0_4928), + // CDirectSoundStream::Pause (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(CDirectSoundStream_Pause_1_0_4361, XTL::EmuCDirectSoundStream_Pause), // CMcpxBuffer::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetBufferData (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetBufferData_1_0_4361), // CDirectSoundBuffer::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetBufferData (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetBufferData" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetBufferData_1_0_4361), + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetBufferData_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetBufferData), // CMcpxBuffer::GetStatus - { - (OOVPA*)&CMcpxBuffer_GetStatus_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetStatus (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatus_1_0_4627), // CMcpxBuffer::GetStatus - { - (OOVPA*)&CMcpxBuffer_GetStatus_1_0_4721, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetStatus_4721 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatus_1_0_4721), // CMcpxBuffer::GetStatus - /*{ - (OOVPA*)&CMcpxBuffer_GetStatus_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetStatus_4928 (XREF)" - #endif - },*/ + /* + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatus_1_0_4928) + */ // CMcpxBuffer::GetStatusB - { - (OOVPA*)&CMcpxBuffer_GetStatusB_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetStatusB (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatusB_1_0_4627), // CDirectSoundBuffer::GetStatus - { - (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetStatus (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetStatus - { - (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_GetStatus, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_GetStatus" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetStatus_1_0_4627), + // IDirectSoundBuffer8::GetStatus + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetStatus_1_0_4627, XTL::EmuIDirectSoundBuffer8_GetStatus), // CMcpxBuffer::SetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetCurrentPosition_1_0_4361), // CDirectSoundBuffer::SetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetCurrentPosition_1_0_4361), + // IDirectSoundBuffer8::SetCurrentPosition (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetCurrentPosition_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetCurrentPosition), // CMcpxBuffer::GetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetCurrentPosition_1_0_4361), // CDirectSoundBuffer::GetCurrentPosition (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_GetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetCurrentPosition (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_GetCurrentPosition" - #endif - }, - // CDirectSound::GetSpeakerConfig - { - (OOVPA*)&CDirectSound_GetSpeakerConfig_1_0_4627, - - XTL::EmuCDirectSound_GetSpeakerConfig, - - #ifdef _DEBUG_TRACE - "CDirectSound_GetSpeakerConfig" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetCurrentPosition_1_0_4361), + // IDirectSoundBuffer8::GetCurrentPosition (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetCurrentPosition_1_0_3936, XTL::EmuIDirectSoundBuffer8_GetCurrentPosition), + // CDirectSound::GetSpeakerConfig + OOVPA_TABLE_PATCH(CDirectSound_GetSpeakerConfig_1_0_4627, XTL::EmuCDirectSound_GetSpeakerConfig), // CMcpxBuffer::Play (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_Play_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Play_1_0_4361), // CMcpxBuffer::Play - { - (OOVPA*)&CMcpxBuffer_Play_1_0_4721, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play_4721 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Play_1_0_4721), // CMcpxBuffer::Play - { - (OOVPA*)&CMcpxBuffer_Play_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Play_1_0_4928), // CDirectSoundBuffer::Play (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_Play_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_Play (XREF)" - #endif - }, - // IDirectSoundBuffer8::Play (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_Play_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_Play, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Play" - #endif - }, - // IDirectSound8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, - // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, - - XTL::EmuIDirectSound8_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_DownloadEffectsImage" - #endif - }, - // IDirectSound8::SetOrientation (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, - - XTL::EmuIDirectSound8_SetOrientation, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetOrientation" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Play_1_0_4361), + // IDirectSoundBuffer8::Play (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Play_1_0_4361, XTL::EmuIDirectSoundBuffer8_Play), + // IDirectSound8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_DownloadEffectsImage_1_0_3936, XTL::EmuIDirectSound8_DownloadEffectsImage), + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetOrientation_1_0_3936, XTL::EmuIDirectSound8_SetOrientation), // CDirectSound::SetDistanceFactorA (XREF) - { - (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4531, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDistanceFactorA (XRef) (4531)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDistanceFactorA_1_0_4531), // CDirectSound::SetDistanceFactorA (XREF) - { - (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDistanceFactorA (XRef)" - #endif - }, - // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, - - XTL::EmuIDirectSound8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDistanceFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDistanceFactorA_1_0_4627), + // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetDistanceFactor_1_0_4432, XTL::EmuIDirectSound8_SetDistanceFactor), // CDirectSound::SetRolloffFactor (XREF) - { - (OOVPA*)&CDirectSound_SetRolloffFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetRolloffFactor (XRef)" - #endif - }, - // IDirectSound8::SetRolloffFactor - { - (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetRolloffFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetRolloffFactor_1_0_4627), + // IDirectSound8::SetRolloffFactor + OOVPA_TABLE_PATCH(IDirectSound8_SetRolloffFactor_1_0_4627, XTL::EmuIDirectSound8_SetRolloffFactor), // CDirectSound::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_4531, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDopplerFactor (XRef) (4531)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDopplerFactor_1_0_4531), // CDirectSound::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDopplerFactor (XRef)" - #endif - }, - // IDirectSound8::SetDopplerFactor - { - (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDopplerFactor" - #endif - }, - // CDirectSound::CommitDeferredSettings (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432, - - XTL::EmuCDirectSound_CommitDeferredSettings, - - #ifdef _DEBUG_TRACE - "EmuCDirectSound_CommitDeferredSettings" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDopplerFactor_1_0_4627), + // IDirectSound8::SetDopplerFactor + OOVPA_TABLE_PATCH(IDirectSound8_SetDopplerFactor_1_0_4627, XTL::EmuIDirectSound8_SetDopplerFactor), + // CDirectSound::CommitDeferredSettings (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(CDirectSound_CommitDeferredSettings_1_0_4432, XTL::EmuCDirectSound_CommitDeferredSettings), // CDirectSoundVoice::SetMaxDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMaxDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMaxDistance_1_0_4432), // CDirectSoundBuffer::SetMaxDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMaxDistance (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMaxDistance (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_4432, - XTL::EmuIDirectSoundBuffer8_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMaxDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_4432), + // IDirectSoundBuffer_SetMaxDistance (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMaxDistance_1_0_4432, XTL::EmuIDirectSoundBuffer8_SetMaxDistance), // CDirectSoundVoice::SetMinDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMinDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMinDistance_1_0_4432), // CDirectSoundBuffer::SetMinDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMinDistance (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMinDistance (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_4432, - XTL::EmuIDirectSoundBuffer8_SetMinDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMinDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMinDistance_1_0_4432), + // IDirectSoundBuffer_SetMinDistance (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMinDistance_1_0_4432, XTL::EmuIDirectSoundBuffer8_SetMinDistance), // s+ // CDirectSoundVoice::SetRolloffFactor (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetRolloffFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetRolloffFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetRolloffFactor_1_0_4627), // CDirectSoundBuffer::SetRolloffFactor (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetRolloffFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetRolloffFactor (XRef)" - #endif - }, - // IDirectSoundBuffer_SetRolloffFactor - { - (OOVPA*)&IDirectSoundBuffer_SetRolloffFactor_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetRolloffFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetRolloffFactor_1_0_4627), + // IDirectSoundBuffer_SetRolloffFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetRolloffFactor_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetRolloffFactor), // CDirectSoundVoice::SetDistanceFactor (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetDistanceFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetDistanceFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetDistanceFactor_1_0_4627), // CDirectSoundBuffer::SetDistanceFactor (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetDistanceFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetDistanceFactor (XRef)" - #endif - }, - // IDirectSoundBuffer_SetDistanceFactor - { - (OOVPA*)&IDirectSoundBuffer_SetDistanceFactor_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetDistanceFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetDistanceFactor_1_0_4627), + // IDirectSoundBuffer_SetDistanceFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetDistanceFactor_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetDistanceFactor), // CDirectSoundVoice::SetConeAngles (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetConeAngles_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetConeAngles (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetConeAngles_1_0_4627), // CDirectSoundBuffer::SetConeAngles (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetConeAngles_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetConeAngles (XRef)" - #endif - }, - // IDirectSoundBuffer_SetConeAngles - { - (OOVPA*)&IDirectSoundBuffer_SetConeAngles_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetConeAngles, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetConeAngles" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetConeAngles_1_0_4627), + // IDirectSoundBuffer_SetConeAngles + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetConeAngles_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetConeAngles), // CDirectSoundVoice::SetConeOrientation (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetConeOrientation_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetConeOrientation (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetConeOrientation_1_0_4627), // CDirectSoundBuffer::SetConeOrientation (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetConeOrientation_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetConeOrientation (XRef)" - #endif - }, - // IDirectSoundBuffer_SetConeOrientation - { - (OOVPA*)&IDirectSoundBuffer_SetConeOrientation_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetConeOrientation, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetConeOrientation" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetConeOrientation_1_0_4627), + // IDirectSoundBuffer_SetConeOrientation + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetConeOrientation_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetConeOrientation), // CDirectSoundVoice::SetConeOutsideVolume (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetConeOutsideVolume_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetConeOutsideVolume (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetConeOutsideVolume_1_0_4627), // CDirectSoundBuffer::SetConeOutsideVolume (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetConeOutsideVolume_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetConeOutsideVolume (XRef)" - #endif - }, - // IDirectSoundBuffer_SetConeOutsideVolume - { - (OOVPA*)&IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetConeOutsideVolume, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetConeOutsideVolume" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetConeOutsideVolume_1_0_4627), + // IDirectSoundBuffer_SetConeOutsideVolume + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetConeOutsideVolume_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetConeOutsideVolume), // CDirectSoundVoice::SetPosition (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetPosition (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetPosition_1_0_4627), // CDirectSoundBuffer::SetPosition (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPosition (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936, - XTL::EmuIDirectSoundBuffer8_SetPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetPosition_1_0_4627), + // IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPosition_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetPosition), // CDirectSoundVoice::SetVelocity (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetVelocity_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVelocity (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetVelocity_1_0_4627), // CDirectSoundBuffer::SetVelocity (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVelocity (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936, - XTL::EmuIDirectSoundBuffer8_SetVelocity, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetVelocity_1_0_4627), + // IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVelocity_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetVelocity), // CDirectSoundVoice::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetDopplerFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetDopplerFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetDopplerFactor_1_0_4627), // CDirectSoundBuffer::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetDopplerFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetDopplerFactor (XRef)" - #endif - }, - // IDirectSoundBuffer_SetDopplerFactor - { - (OOVPA*)&IDirectSoundBuffer_SetDopplerFactor_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetDopplerFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetDopplerFactor_1_0_4627), + // IDirectSoundBuffer_SetDopplerFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetDopplerFactor_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetDopplerFactor), // CDirectSoundVoice::SetI3DL2Source (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetI3DL2Source_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetI3DL2Source (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetI3DL2Source_1_0_4627), // CDirectSoundBuffer::SetI3DL2Source (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetI3DL2Source_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetI3DL2Source (XRef)" - #endif - }, - // IDirectSoundBuffer_SetI3DL2Source - { - (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetI3DL2Source" - #endif - }, - // IDirectSoundBuffer_Stop (Possibly weak, but quite OK for 4627 DSOUND) - { - (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, - XTL::EmuIDirectSoundBuffer8_Stop, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Stop" - #endif - }, - // IDirectSoundBuffer8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Release" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetI3DL2Source_1_0_4627), + // IDirectSoundBuffer_SetI3DL2Source + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetI3DL2Source_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetI3DL2Source), + // IDirectSoundBuffer_Stop (Possibly weak, but quite OK for 4627 DSOUND) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Stop_1_0_4627, XTL::EmuIDirectSoundBuffer8_Stop), + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Release_1_0_3936, XTL::EmuIDirectSoundBuffer8_Release), // +s // DirectSound::CDirectSoundVoice::SetFormat (XREF) - { - (OOVPA*)&X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoice::SetFormat (XREF)" - #endif - }, + OOVPA_TABLE_XREF(X_DirectSound_CDirectSoundVoice_SetFormat_1_0_4627), // DirectSound::CDirectSoundBuffer::SetFormat (XREF) - { - (OOVPA*)&X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::SetFormat (XREF)" - #endif - }, + OOVPA_TABLE_XREF(X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627), // IDirectSoundBuffer_SetFormat - { - (OOVPA*)&X_IDirectSoundBuffer_SetFormat_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetFormat, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetFormat" - #endif - - }, + OOVPA_TABLE_PATCH(X_IDirectSoundBuffer_SetFormat_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetFormat), // CDirectSoundStream_SetMixBinVolumes - { - (OOVPA*)&CDirectSoundStream_SetMixBinVolumes_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_SetMixBinVolumes_1_0_4627), // DirectSound::CDirectSound::EnableHeadphones (XREF) - { - (OOVPA*)&X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::EnableHeadphones (XREF)" - #endif - }, + OOVPA_TABLE_XREF(X_DirectSound_CDirectSound_EnableHeadphones_1_0_4627), // EmuIDirectSound_EnableHeadphones - { - (OOVPA*)&EmuIDirectSound_EnableHeadphones_1_0_4627, - XTL::EmuIDirectSound_EnableHeadphones, - - #ifdef _DEBUG_TRACE - "IDirectSound_EnableHeadphones" - #endif - }, - // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) - //{ - // (OOVPA*)&CDirectSoundVoice_SetHeadroom_1_0_4627, - // 0, - - // #ifdef _DEBUG_TRACE - // "CDirectSoundVoice::SetHeadroom (XREF)" - // #endif - //}, + OOVPA_TABLE_PATCH(EmuIDirectSound_EnableHeadphones_1_0_4627, XTL::EmuIDirectSound_EnableHeadphones), + //// DirectSound::CDirectSoundVoice::SetHeadroom (XREF) + //OOVPA_TABLE_XREF(CDirectSoundVoice_SetHeadroom_1_0_4627), //// CDirectSoundStream_SetHeadroom (XREF) - //{ - // (OOVPA*)&CDirectSoundStream_SetHeadroom_1_0_4627, - // XTL::EmuIDirectSoundStream_SetHeadroom, - - // #ifdef _DEBUG_TRACE - // "IDirectSoundStream_SetHeadroom" - // #endif - //}, + //OOVPA_TABLE_PATCH(CDirectSoundStream_SetHeadroom_1_0_4627, XTL::EmuIDirectSoundStream_SetHeadroom), // IDirectSoundBuffer_AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_AddRef_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_AddRef, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_AddRef_1_0_3936, XTL::EmuIDirectSoundBuffer8_AddRef), // CDirectSound_GetOutputLevels (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_GetOutputLevels_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_GetOutputLevels (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_GetOutputLevels_1_0_4627), // IDirectSound8_GetOutputLevels - { - (OOVPA*)&IDirectSound_GetOutputLevels_1_0_4627, - - XTL::EmuIDirectSound8_GetOutputLevels, - - #ifdef _DEBUG_TRACE - "IDirectSound_GetOutputLevels" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound_GetOutputLevels_1_0_4627, XTL::EmuIDirectSound8_GetOutputLevels), // CDirectSoundVoice::SetAllParameters (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetAllParameters (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetAllParameters_1_0_4627), // CDirectSoundBuffer::SetAllParameters (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetAllParameters (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetAllParameters - { - (OOVPA*)&IDirectSoundBuffer8_SetAllParameters_1_0_4627, - - XTL::EmuIDirectSound8_SetAllParameters, // Use that for now, EmuIDirectSoundBuffer8_SetAllParameters, - // ^ Okay, it's your call pal... - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetAllParameters" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_4627), + // IDirectSoundBuffer8::SetAllParameters + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetAllParameters_1_0_4627, XTL::EmuIDirectSound8_SetAllParameters), + // Use that for now, EmuIDirectSoundBuffer8_SetAllParameters, + // ^ Okay, it's your call pal... // DirectSound_CMcpxBuffer_Pause_1_0_4928 - { - (OOVPA*)&DirectSound_CMcpxBuffer_Pause_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer::Pause_4928 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_Pause_1_0_4928), // CDirectSoundBuffer::Pause - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_Pause_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::Pause_4928 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_Pause_1_0_4928), // IDirectSoundBuffer8_Pause - { - (OOVPA*)&IDirectSoundBuffer_Pause_1_0_4928, - - XTL::EmuIDirectSoundBuffer8_Pause, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Pause_4928 (XREF)" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Pause_1_0_4928, XTL::EmuIDirectSoundBuffer8_Pause), // DirectSound::CMcpxBuffer::GetStatus (XREF) - { - (OOVPA*)&DirectSound_CMcpxBuffer_GetStatus_1_0_4721, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CMcpxBuffer::GetStatus (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_GetStatus_1_0_4721), // DirectSound::CDirectSoundBuffer::GetStatus (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_GetStatus_1_0_4721, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::GetStatus (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_GetStatus_1_0_4721), // IDirectSoundBuffer_GetStatus - { - (OOVPA*)&IDirectSoundBuffer_GetStatus_1_0_4721, - XTL::EmuIDirectSoundBuffer8_GetStatus, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_GetStatus" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_GetStatus_1_0_4721, XTL::EmuIDirectSoundBuffer8_GetStatus), // CDirectSoundStream::SetMixBins - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBins_1_0_4627, - - XTL::EmuCDirectSoundStream_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetMixBins" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetMixBins_1_0_4627, XTL::EmuCDirectSoundStream_SetMixBins), // CMcpxVoiceClient::SetEG - { - (OOVPA*)&DirectSound_CMcpxVoiceClient_SetEG_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetEG (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxVoiceClient_SetEG_1_0_4627), // CDirectSoundVoice::SetEG (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetEG_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetEG (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetEG_1_0_4627), // DirectSound::CDirectSoundStream::SetEG - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetEG_1_0_4627, - - XTL::EmuCDirectSoundStream_SetEG, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream::SetEG" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetEG_1_0_4627, XTL::EmuCDirectSoundStream_SetEG), // DirectSound::CDirectSoundBuffer::SetEG (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetEG_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetEG (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetEG_1_0_4627), // IDirectSoundBuffer::SetEG - { - (OOVPA*)&IDirectSoundBuffer_SetEG_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetEG, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer::SetEG" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetEG_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetEG), // CDirectSoundStream::FlushEx (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_FlushEx_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::FlushEx (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundStream_FlushEx_1_0_4627), // IDirectSoundStream_FlushEx - { - (OOVPA*)&IDirectSoundStream_FlushEx_1_0_4627, - XTL::EmuIDirectSoundStream_FlushEx, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundStream_FlushEx" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundStream_FlushEx_1_0_4627, XTL::EmuIDirectSoundStream_FlushEx), // XAudioDownloadEffectsImage - { - (OOVPA*)&XAudioDownloadEffectsImage_1_0_4627, - XTL::EmuXAudioDownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuXAudioDownloadEffectsImage" - #endif - }, + OOVPA_TABLE_PATCH(XAudioDownloadEffectsImage_1_0_4627, XTL::EmuXAudioDownloadEffectsImage), // CDirectSoundVoice::SetMode (XRef) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetMode_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMode (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetMode_1_0_4627), // CDirectSoundBuffer::SetMode (XRef) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMode_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMode (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMode - { - (OOVPA*)&IDirectSoundBuffer8_SetMode_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetMode, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMode" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetMode_1_0_4627), + // IDirectSoundBuffer_SetMode + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMode_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetMode), // DirectSound::CMcpxVoiceClient::SetFilter (XREF) - { - (OOVPA*)&DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetFilter (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxVoiceClient_SetFilter_1_0_4627), // DirectSound::CDirectSoundVoice::SetFilter (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetFilter_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoice::SetFilter (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetFilter_1_0_4627), // DirectSound::CDirectSoundBuffer::SetFilter (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetFilter_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::SetFilter (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetFilter_1_0_4627), // DirectSound::CDirectSoundStream::SetFilter (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetFilter_1_0_4627, - XTL::EmuCDirectSoundStream_SetFilter, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundStream::SetFilter (XREF)" - #endif - }, - // IDirectSoundBuffer_SetFilter - { - (OOVPA*)&IDirectSoundBuffer_SetFilter_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetFilter, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetFilter" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetFilter_1_0_4627, XTL::EmuCDirectSoundStream_SetFilter), + // IDirectSoundBuffer_SetFilter + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetFilter_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetFilter), // DirectSound::CDirectSoundBuffer::PlayEx (XREF) (* unchanged since 4361 *) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" - #endif - }, - // IDirectSoundBuffer_PlayEx (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_4361, - XTL::EmuIDirectSoundBuffer8_PlayEx, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_PlayEx" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_PlayEx_1_0_4361), + // IDirectSoundBuffer_PlayEx (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_PlayEx_1_0_4361, XTL::EmuIDirectSoundBuffer8_PlayEx), // CMcpxBuffer_Stop2 - { - (OOVPA*)&CMcpxBuffer_Stop2_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Stop2 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Stop2_1_0_4361), // DirectSound::CDirectSoundBuffer::StopEx (XREF) (* unchanged since 4361 *) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_4361, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::StopEx (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_StopEx_1_0_4361), // IDirectSoundBuffer_StopEx (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer_StopEx_1_0_4361, - XTL::EmuIDirectSoundBuffer8_StopEx, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer_StopEx" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_StopEx_1_0_4361, XTL::EmuIDirectSoundBuffer8_StopEx), // CDirectSound::SetVelocity (XREF) - { - (OOVPA*)&CDirectSound_SetVelocity_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetVelocityA_4432 (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetVelocity_1_0_4432), // CDirectSoundVoice::SetPosition (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetPosition_4432 (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetPosition_1_0_4432), // CDirectSoundVoice::SetPitch - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetPitch_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetPitch (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetPitch_1_0_4627), // IDirectSoundBuffer8::SetPitch - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetPitch_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPitch (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetPitch_1_0_4627), // IDirectSoundBuffer8::SetPitch - { - (OOVPA*)&IDirectSoundBuffer8_SetPitch_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetPitch, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPitch" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPitch_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetPitch), // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetHeadroom (XREF) ***FOUND IT***" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4627), // CDirectSoundStream_SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627, - XTL::EmuIDirectSoundStream_SetHeadroom, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetHeadroom ***FOUND IT***" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetHeadroom_1_0_4627, XTL::EmuIDirectSoundStream_SetHeadroom), // CDirectSoundVoice::SetOutputBuffer - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetOutputBuffer (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetOutputBuffer_1_0_4627), // CDirectSoundBuffer::SetOutputBuffer - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetOutputBuffer_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetOutputBuffer (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetOutputBuffer_1_0_4627), // IDirectSoundBuffer8::SetOutputBuffer - { - (OOVPA*)&IDirectSoundBuffer_SetOutputBuffer_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetOutputBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPitch" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetOutputBuffer_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetOutputBuffer), // CDirectSoundStream::SetOutputBuffer - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627, - - XTL::EmuCDirectSoundStream_SetOutputBuffer, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetOutputBuffer" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetOutputBuffer_1_0_4627, XTL::EmuCDirectSoundStream_SetOutputBuffer), // CDirectSoundVoice::SetRolloffCurve (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetRolloffCurve (XREF)" - #endif - - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetRolloffCurve_1_0_4627), // CDirectSoundBuffer::SetRolloffCurve (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetRolloffCurve_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetRolloffCurve (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetRolloffCurve_1_0_4627), // CDirectSoundStream::SetRolloffCurve (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetRolloffCurve" - #endif - }, - // IDirectSoundBuffer8::SetRolloffCurve - { - (OOVPA*)&IDirectSoundBuffer_SetRolloffCurve_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetRolloffCurve, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetRolloffCurve" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_4627), + // IDirectSoundBuffer8::SetRolloffCurve + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetRolloffCurve_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetRolloffCurve), // XFileCreateMediaObjectEx - { - (OOVPA*)&XFileCreateMediaObjectEx_1_0_4627, - - XTL::EmuXFileCreateMediaObjectEx, - - #ifdef _DEBUG_TRACE - "XFileCreateMediaObjectEx" - #endif - }, + OOVPA_TABLE_PATCH(XFileCreateMediaObjectEx_1_0_4627, XTL::EmuXFileCreateMediaObjectEx), // XWaveFileCreateMediaObject - { - (OOVPA*)&XWaveFileCreateMediaObject_1_0_4627, - - XTL::EmuXWaveFileCreateMediaObject, - - #ifdef _DEBUG_TRACE - "XWaveFileCreateMediaObject" - #endif - }, - // CDirectSoundBuffer::SetNotificationPosition (XREF) - //{ - // (OOVPA*)&DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627, 0, - - // #ifdef _DEBUG_TRACE - // "CDirectSoundBuffer::SetNotificationPositions (XREF)" - // #endif - //}, + OOVPA_TABLE_PATCH(XWaveFileCreateMediaObject_1_0_4627, XTL::EmuXWaveFileCreateMediaObject), + //// CDirectSoundBuffer::SetNotificationPosition (XREF) + //OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetNotificationPositions_1_0_4627), //// IDirectSoundBuffer8::SetNotificationPositions - //{ - // (OOVPA*)&IDirectSoundBuffer_SetNotificationPositions_1_0_4627, 0, - - // #ifdef _DEBUG_TRACE - // "EmuIDirectSoundBuffer8_SetNotificationPositions" - // #endif - //}, + //OOVPA_TABLE_XREF(IDirectSoundBuffer_SetNotificationPositions_1_0_4627), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 53dfb7492..b41007ec6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -35,15 +35,11 @@ // ****************************************************************** // * DirectSound::CDirectSound::EnableHeadphones // ****************************************************************** -SOOVPA<8> CDirectSound_EnableHeadphones_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSound_EnableHeadphones_1_0_5233, 8, - XREF_DSENABLEHEADPHONES, // Xref Is Saved - 0, // Xref Not Used + XREF_DSENABLEHEADPHONES, + XRefZero) - { { 0x16, 0x45 }, // (Offset,Value)-Pair #1 { 0x1D, 0x0B }, // (Offset,Value)-Pair #2 { 0x2A, 0x05 }, // (Offset,Value)-Pair #3 @@ -52,21 +48,16 @@ SOOVPA<8> CDirectSound_EnableHeadphones_1_0_5233 = { 0x5D, 0x7F }, // (Offset,Value)-Pair #6 { 0x74, 0xA4 }, // (Offset,Value)-Pair #7 { 0x99, 0x08 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_EnableHeadphones // ****************************************************************** -SOOVPA<8> IDirectSound8_EnableHeadphones_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound8_EnableHeadphones_1_0_5233, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSENABLEHEADPHONES }, // (Offset,Value)-Pair #1 // IDirectSound8_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 @@ -81,21 +72,16 @@ SOOVPA<8> IDirectSound8_EnableHeadphones_1_0_5233 = // IDirectSound8_EnableHeadphones+0x19 : retn 0x08 { 0x19, 0xC2 }, // (Offset,Value)-Pair #7 { 0x1A, 0x08 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream_FlushEx // ****************************************************************** -SOOVPA<11> CDirectSoundStream_FlushEx_1_0_5233 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundStream_FlushEx_1_0_5233, 11, - XREF_DSFLUSHEX2, // XRef Is Saved - 0, // XRef Not Used + XREF_DSFLUSHEX2, + XRefZero) - { { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 { 0x25, 0x05 }, // (Offset,Value)-Pair #2 { 0x26, 0x40 }, // (Offset,Value)-Pair #3 @@ -110,21 +96,16 @@ SOOVPA<11> CDirectSoundStream_FlushEx_1_0_5233 = { 0x67, 0xC2 }, // (Offset,Value)-Pair #10 { 0x68, 0x10 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_StopEx // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_StopEx_1_0_5233 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_StopEx_1_0_5233, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x11, XREF_DSFLUSHEX2 }, // (Offset,Value)-Pair #1 { 0x00, 0xFF }, // (Offset,Value)-Pair #2 @@ -138,21 +119,16 @@ SOOVPA<9> IDirectSoundBuffer8_StopEx_1_0_5233 = { 0x15, 0xC2 }, // (Offset,Value)-Pair #8 { 0x16, 0x10 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -SOOVPA<11> CMcpxStream_Pause_1_0_5233 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxStream_Pause_1_0_5233, 11, - XREF_DSSTREAMPAUSE, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMPAUSE, + XRefZero) - { // CMcpxStream_Pause+0x17 : and ax, 0xFFDF { 0x17, 0x66 }, // (Offset,Value)-Pair #1 { 0x18, 0x25 }, // (Offset,Value)-Pair #2 @@ -171,21 +147,16 @@ SOOVPA<11> CMcpxStream_Pause_1_0_5233 = // CMcpxStream_Pause+0x8B : retn 0x04 { 0x8B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // CMcpxAPU::SynchPlayback // ****************************************************************** -SOOVPA<8> CMcpxAPU_SynchPlayback_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CMcpxAPU_SynchPlayback_1_0_5233, 8, - XREF_DSSYNCHPLAYBACKB, // Xref Is Saved - 0, // Xref Not Used + XREF_DSSYNCHPLAYBACKB, + XRefZero) - { { 0x0C, 0x74 }, // (Offset,Value)-Pair #1 { 0x1A, 0x1A }, // (Offset,Value)-Pair #2 { 0x25, 0x53 }, // (Offset,Value)-Pair #3 @@ -194,21 +165,16 @@ SOOVPA<8> CMcpxAPU_SynchPlayback_1_0_5233 = { 0x84, 0x43 }, // (Offset,Value)-Pair #6 { 0x9E, 0x64 }, // (Offset,Value)-Pair #7 { 0xFF, 0x00 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SynchPlayback // ****************************************************************** -SOOVPA<10> CDirectSound_SynchPlayback_1_0_5233 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(CDirectSound_SynchPlayback_1_0_5233, 10, - XREF_DSSYNCHPLAYBACKA, // Xref Is Saved - 1, // Xref Not Used + XREF_DSSYNCHPLAYBACKA, + XRefOne) - { { 0x08, XREF_DSSYNCHPLAYBACKB }, // (Offset,Value)-Pair #1 // CDirectSound_SynchPlayback+0x00 : mov eax, [esp+0x04] @@ -225,21 +191,16 @@ SOOVPA<10> CDirectSound_SynchPlayback_1_0_5233 = // CDirectSound_SynchPlayback+0x0C : retn 0x04 { 0x0C, 0xC2 }, // (Offset,Value)-Pair #9 { 0x0D, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8::SynchPlayback // ****************************************************************** -SOOVPA<8> IDirectSound8_SynchPlayback_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound8_SynchPlayback_1_0_5233, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x11, XREF_DSSYNCHPLAYBACKA }, // (Offset,Value)-Pair #1 // IDirectSound8_SynchPlayback+0x06 : add eax, 0xFFFFFFF8 @@ -254,21 +215,16 @@ SOOVPA<8> IDirectSound8_SynchPlayback_1_0_5233 = // IDirectSound8_SynchPlayback+0x15 : retn 0x04 { 0x15, 0xC2 }, // (Offset,Value)-Pair #7 { 0x16, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFormat // ****************************************************************** -SOOVPA<8> X_DirectSound_CDirectSoundVoice_SetFormat_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(X_DirectSound_CDirectSoundVoice_SetFormat_1_0_5233, 8, - XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved - 0, // Xref Not Used + XREF_DirectSound_CDirectSoundVoice_SetFormat, + XRefZero) - { { 0x06, 0x4E }, { 0x0E, 0xE8 }, { 0x18, 0x4E }, @@ -277,21 +233,16 @@ SOOVPA<8> X_DirectSound_CDirectSoundVoice_SetFormat_1_0_5233 = { 0x34, 0x85 }, { 0x38, 0x8B }, { 0x43, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // CDirectSoundVoice::SetMode // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetMode_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetMode_1_0_5233, 8, - XREF_DSBUFFERSETMODEB, // Xref Is Saved - 0, // Xref Not Used + XREF_DSBUFFERSETMODEB, + XRefZero) - { { 0x00, 0xF6 }, // (Offset,Value)-Pair #1 { 0x07, 0x24 }, // (Offset,Value)-Pair #2 { 0x0B, 0x10 }, // (Offset,Value)-Pair #3 @@ -300,21 +251,16 @@ SOOVPA<8> CDirectSoundVoice_SetMode_1_0_5233 = { 0x1A, 0x06 }, // (Offset,Value)-Pair #6 { 0x21, 0x33 }, // (Offset,Value)-Pair #7 { 0x24, 0x0C }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // CDirectSoundBuffer::SetMode // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetMode_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetMode_1_0_5233, 8, - XREF_DSBUFFERSETMODEA, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETMODEA, + XRefOne) - { { 0x36, XREF_DSBUFFERSETMODEB }, // (Offset,Value)-Pair #1 { 0x01, 0xE8 }, // (Offset,Value)-Pair #2 @@ -324,21 +270,16 @@ SOOVPA<8> CDirectSoundBuffer_SetMode_1_0_5233 = { 0x34, 0x14 }, // (Offset,Value)-Pair #6 { 0x3F, 0x0B }, // (Offset,Value)-Pair #7 { 0x50, 0x0C }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetMode // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetMode_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetMode_1_0_5233, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1 // IDirectSound8_EnableHeadphones+0x0E : add eax, 0xFFFFFFE4 @@ -353,21 +294,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetMode_1_0_5233 = // IDirectSound8_EnableHeadphones+0x19 : retn 0x0C { 0x1D, 0xC2 }, // (Offset,Value)-Pair #7 { 0x1E, 0x0C }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetVolume // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetVolume_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetVolume_1_0_5233, 8, - XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundVoice_SetVolume, + XRefOne) - { { 0x15, XREF_DSSTREAMSETVOLUME }, { 0x02, 0x24 }, @@ -377,21 +313,16 @@ SOOVPA<8> CDirectSoundVoice_SetVolume_1_0_5233 = { 0x12, 0x49 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetVolume // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetVolume_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetVolume_1_0_5233, 8, - XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetVolume, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume }, { 0x0C, 0x00 }, @@ -401,21 +332,16 @@ SOOVPA<8> CDirectSoundBuffer_SetVolume_1_0_5233 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8::SetVolume // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetVolume_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetVolume_1_0_5233, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume }, { 0x02, 0x24 }, @@ -425,21 +351,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetVolume_1_0_5233 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetVolume // ****************************************************************** -SOOVPA<9> CDirectSoundStream_SetVolume_1_0_5233 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundStream_SetVolume_1_0_5233, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetVolume }, { 0x00, 0x56 }, @@ -450,21 +371,16 @@ SOOVPA<9> CDirectSoundStream_SetVolume_1_0_5233 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetFrequency // ****************************************************************** -SOOVPA<8> CDirectSoundStream_SetFrequency_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundStream_SetFrequency_1_0_5233, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSBUFFERSETFREQUENCYB }, { 0x0E, 0xB6 }, @@ -474,21 +390,16 @@ SOOVPA<8> CDirectSoundStream_SetFrequency_1_0_5233 = { 0x3E, 0x74 }, { 0x4D, 0x5F }, { 0x50, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetMixBins // ****************************************************************** -SOOVPA<8> CDirectSoundStream_SetMixBins_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundStream_SetMixBins_1_0_5233, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSSETMIXBINSB }, { 0x0E, 0xB6 }, @@ -498,21 +409,16 @@ SOOVPA<8> CDirectSoundStream_SetMixBins_1_0_5233 = { 0x3E, 0x74 }, { 0x4D, 0x5F }, { 0x50, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetRolloffCurve // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetRolloffCurve_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetRolloffCurve_1_0_5233, 8, - XREF_DSVOICESETROLLOFFCURVE, // Xref Is Saved - 0, // Xref Not Used + XREF_DSVOICESETROLLOFFCURVE, + XRefZero) - { { 0x07, 0x8B }, { 0x10, 0x08 }, { 0x12, 0x51 }, @@ -521,21 +427,16 @@ SOOVPA<8> CDirectSoundVoice_SetRolloffCurve_1_0_5233 = { 0x2B, 0x00 }, { 0x34, 0x10 }, { 0x3E, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetRolloffCurve // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetRolloffCurve_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetRolloffCurve_1_0_5233, 8, - XREF_DSBUFFERSETROLLOFFCURVE, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETROLLOFFCURVE, + XRefOne) - { { 0x3A, XREF_DSVOICESETROLLOFFCURVE }, { 0x0C, 0x00 }, @@ -545,21 +446,16 @@ SOOVPA<8> CDirectSoundBuffer_SetRolloffCurve_1_0_5233 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetRolloffCurve // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetRolloffCurve_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetRolloffCurve_1_0_5233, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETROLLOFFCURVE }, { 0x03, 0x10 }, @@ -569,21 +465,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetRolloffCurve_1_0_5233 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMaxDistance // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance_1_0_5344, 7, - XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETMAXDISTANCE, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x3C }, @@ -591,20 +482,15 @@ SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5344 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMaxDistance // ****************************************************************** -SOOVPA<11> CDirectSoundBuffer_SetMaxDistance_1_0_5344 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_5344, 11, - XREF_DSBUFFERSETMAXDISTANCE, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETMAXDISTANCE, + XRefOne) - { // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] { 0x3A, XREF_DSVOICESETMAXDISTANCE }, @@ -623,21 +509,16 @@ SOOVPA<11> CDirectSoundBuffer_SetMaxDistance_1_0_5344 = // CDirectSoundBuffer_SetMaxDistance+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5344 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance_1_0_5344, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, @@ -656,21 +537,16 @@ SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5344 = // IDirectSoundBuffer_SetMaxDistance+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMinDistance // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetMinDistance_1_0_5344, 7, - XREF_DSVOICESETMINDISTANCE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETMINDISTANCE, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x38 }, @@ -678,20 +554,15 @@ SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5344 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMinDistance // ****************************************************************** -SOOVPA<11> CDirectSoundBuffer_SetMinDistance_1_0_5344 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundBuffer_SetMinDistance_1_0_5344, 11, - XREF_DSBUFFERSETMINDISTANCE, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETMINDISTANCE, + XRefOne) - { // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] { 0x3A, XREF_DSVOICESETMINDISTANCE }, @@ -710,21 +581,16 @@ SOOVPA<11> CDirectSoundBuffer_SetMinDistance_1_0_5344 = // CDirectSoundBuffer_SetMinDistance+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMinDistance // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetMinDistance_1_0_5344, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, { 0x0C, 0x00 }, @@ -734,21 +600,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5344 = { 0x3A, 0x1C }, { 0x46, 0x74 }, { 0x53, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5344 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSoundBuffer_SetMinDistance_1_0_5344, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, @@ -767,21 +628,16 @@ SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5344 = // IDirectSoundBuffer_SetMinDistance+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetI3DL2Listener // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344, 8, - XREF_DSSETI3DL2LISTENER, // Xref Is Saved - XRefNotUsed, + XREF_DSSETI3DL2LISTENER, + XRefZero) - { { 0x1E, 0x15 }, { 0x3E, 0x88 }, { 0x5E, 0x41 }, @@ -790,21 +646,16 @@ SOOVPA<8> DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344 = { 0xBE, 0x41 }, { 0xDE, 0x00 }, { 0xFE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetI3DL2Listener // ****************************************************************** -SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_5344 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_SetI3DL2Listener_1_0_5344, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETI3DL2LISTENER }, { 0x02, 0x24 }, @@ -815,21 +666,16 @@ SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_5344 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetRolloffFactor // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5344 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSound_SetRolloffFactor_1_0_5344, 9, - XREF_SETROLLOFFFACTORA, // Xref Is Saved - XRefNotUsed, + XREF_SETROLLOFFFACTORA, + XRefZero) - { { 0x0C, 0x00 }, { 0x16, 0x68 }, { 0x22, 0x05 }, @@ -839,21 +685,16 @@ SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5344 = { 0x4A, 0x85 }, { 0x53, 0xFF }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetRolloffFactor // ****************************************************************** -SOOVPA<8> IDirectSound_SetRolloffFactor_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetRolloffFactor_1_0_5344, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_SETROLLOFFFACTORA }, { 0x03, 0x0C }, @@ -863,21 +704,16 @@ SOOVPA<8> IDirectSound_SetRolloffFactor_1_0_5344 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5344 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor_1_0_5344, 7, - XREF_DSVOICESETDISTANCEFACTOR, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETDISTANCEFACTOR, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x44 }, @@ -885,21 +721,16 @@ SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5344 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetDistanceFactor // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetDistanceFactor_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetDistanceFactor_1_0_5344, 8, - XREF_DSBUFFERSETDISTANCEFACTOR, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETDISTANCEFACTOR, + XRefOne) - { { 0x3A, XREF_DSVOICESETDISTANCEFACTOR }, { 0x0C, 0x00 }, @@ -909,21 +740,16 @@ SOOVPA<8> CDirectSoundBuffer_SetDistanceFactor_1_0_5344 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetDistanceFactor // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetDistanceFactor_1_0_5344, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETDISTANCEFACTOR }, { 0x03, 0x0C }, @@ -933,21 +759,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5344 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetDistanceFactor // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSound_SetDistanceFactor_1_0_5344 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSound_SetDistanceFactor_1_0_5344, 9, - XREF_SETDISTANCEFACTORA, // Xref Is Saved - XRefNotUsed, + XREF_SETDISTANCEFACTORA, + XRefZero) - { { 0x0C, 0x00 }, { 0x16, 0x68 }, { 0x22, 0x05 }, @@ -957,21 +778,16 @@ SOOVPA<9> DirectSound_CDirectSound_SetDistanceFactor_1_0_5344 = { 0x4A, 0x85 }, { 0x53, 0xFF }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetDistanceFactor // ****************************************************************** -SOOVPA<8> IDirectSound_SetDistanceFactor_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetDistanceFactor_1_0_5344, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_SETDISTANCEFACTORA }, { 0x03, 0x0C }, @@ -981,21 +797,16 @@ SOOVPA<8> IDirectSound_SetDistanceFactor_1_0_5344 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetDopplerFactor // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5344 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSound_SetDopplerFactor_1_0_5344, 9, - XREF_SETDOPPLERFACTOR, // Xref Is Saved - XRefNotUsed, + XREF_SETDOPPLERFACTOR, + XRefZero) - { { 0x0C, 0x00 }, { 0x16, 0x68 }, { 0x22, 0x05 }, @@ -1005,22 +816,17 @@ SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5344 = { 0x4A, 0x85 }, { 0x53, 0xFF }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetDopplerFactor // ****************************************************************** -SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetDopplerFactor_1_0_5344, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_SETDOPPLERFACTOR }, { 0x03, 0x0C }, @@ -1030,944 +836,223 @@ SOOVPA<8> IDirectSound_SetDopplerFactor_1_0_5344 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct_1_0_5233 // ****************************************************************** -OOVPATable DSound_1_0_5233[] = -{ +OOVPATable DSound_1_0_5233[] = { + // DirectSoundCreate (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreate_1_0_4361, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, - // DirectSoundDoWork (* unchanged since 4627 *) - { - (OOVPA*)&DirectSoundDoWork_1_0_4627, - - XTL::EmuDirectSoundDoWork, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundDoWork" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_4361, XTL::EmuDirectSoundCreate), + // DirectSoundDoWork (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(DirectSoundDoWork_1_0_4627, XTL::EmuDirectSoundDoWork), // CDirectSound::CreateSoundBuffer (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundBuffer (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundBuffer_1_0_4627), // CMcpxAPU::SynchPlayback (XRef) - { - (OOVPA*)&CMcpxAPU_SynchPlayback_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CMcpxAPU::SynchPlayback (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxAPU_SynchPlayback_1_0_5233), // CDirectSound::SynchPlayback (XRef) - { - (OOVPA*)&CDirectSound_SynchPlayback_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SynchPlayback (XRef)" - #endif - }, - // IDirectSound_SynchPlayback - { - (OOVPA*)&IDirectSound8_SynchPlayback_1_0_5233, - - XTL::EmuIDirectSound8_SynchPlayback, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SynchPlayback" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SynchPlayback_1_0_5233), + // IDirectSound_SynchPlayback + OOVPA_TABLE_PATCH(IDirectSound8_SynchPlayback_1_0_5233, XTL::EmuIDirectSound8_SynchPlayback), // CMcpxStream::Pause (XRef) - { - (OOVPA*)&CMcpxStream_Pause_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CMcpxStream_Pause (XRef)" - #endif - }, - // CDirectSoundStream::Pause (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_Pause" - #endif - }, + OOVPA_TABLE_XREF(CMcpxStream_Pause_1_0_5233), + // CDirectSoundStream::Pause (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(CDirectSoundStream_Pause_1_0_4361, XTL::EmuCDirectSoundStream_Pause), // CDirectSound_SetI3DL2Listener (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF)" - #endif - }, - // IDirectSound8_SetI3DL2Listener (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_4432, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetI3DL2Listener_1_0_4432), + // IDirectSound8_SetI3DL2Listener (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetI3DL2Listener_1_0_4432, XTL::EmuIDirectSound8_SetI3DL2Listener), // CDirectSound::SetVelocity (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSound_SetVelocity_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetVelocityA (XREF)" - #endif - }, - // IDirectSound8::SetVelocity (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetVelocity_1_0_3936, - - XTL::EmuIDirectSound8_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetVelocity_1_0_4627), + // IDirectSound8::SetVelocity (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetVelocity_1_0_3936, XTL::EmuIDirectSound8_SetVelocity), // CDirectSoundVoiceSettings::SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoiceSettings_SetMixBins_1_0_4432), // CDirectSoundVoice::SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBins_1_0_4432), // CDirectSoundBuffer::SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBins (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetMixBins (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432, - - XTL::EmuIDirectSoundBuffer8_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBins" - #endif - }, - // CDirectSoundStream::SetMixBins - { - (OOVPA*)&CDirectSoundStream_SetMixBins_1_0_5233, - - XTL::EmuCDirectSoundStream_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetMixBins" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMixBins_1_0_4432), + // IDirectSoundBuffer8::SetMixBins (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBins_1_0_4432, XTL::EmuIDirectSoundBuffer8_SetMixBins), + // CDirectSoundStream::SetMixBins + OOVPA_TABLE_PATCH(CDirectSoundStream_SetMixBins_1_0_5233, XTL::EmuCDirectSoundStream_SetMixBins), // CDirectSound::SetPositionA (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSound_SetPositionA_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetPositionA (XREF)" - #endif - }, - // IDirectSound8::SetPosition (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetPosition_1_0_3936, - - XTL::EmuIDirectSound8_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetPosition" - #endif - }, - // DirectSoundCreateBuffer (* unchanged since 4627 *) - { - (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, - - XTL::EmuDirectSoundCreateBuffer, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateBuffer" - #endif - }, - // IDirectSound8::CreateSoundBuffer (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, - - XTL::EmuIDirectSound8_CreateSoundBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateSoundBuffer" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetPositionA_1_0_4627), + // IDirectSound8::SetPosition (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetPosition_1_0_3936, XTL::EmuIDirectSound8_SetPosition), + // DirectSoundCreateBuffer (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(DirectSoundCreateBuffer_1_0_4627, XTL::EmuDirectSoundCreateBuffer), + // IDirectSound8::CreateSoundBuffer (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSound8_CreateSoundBuffer_1_0_4627, XTL::EmuIDirectSound8_CreateSoundBuffer), // CDirectSoundVoice::SetFrequency (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetFrequency (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetFrequency_1_0_4627), // CDirectSoundBuffer::SetFrequency (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundBuffer::SetFrequency (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetFrequency (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetFrequency" - #endif - }, - // CDirectSoundStream::SetFrequency - { - (OOVPA*)&CDirectSoundStream_SetFrequency_1_0_5233, - - XTL::EmuCDirectSoundStream_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetFrequency" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetFrequency_1_0_4627), + // IDirectSoundBuffer8::SetFrequency (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetFrequency_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetFrequency), + // CDirectSoundStream::SetFrequency + OOVPA_TABLE_PATCH(CDirectSoundStream_SetFrequency_1_0_5233, XTL::EmuCDirectSoundStream_SetFrequency), // CMcpxVoiceClient_SetVolume (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetVolume_1_0_4627), // CDirectSoundVoice::SetVolume (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetVolume_1_0_5233,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetVolume_1_0_5233), // CDirectSoundBuffer::SetVolume (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetVolume_1_0_5233,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVolume (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetVolume - { - (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_5233, - - XTL::EmuIDirectSoundBuffer8_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuIIDirectSoundBuffer8_SetVolume" - #endif - }, - // CDirectSoundStream_SetVolume (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, - - XTL::EmuCDirectSoundStream_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetVolume" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetVolume_1_0_5233), + // IDirectSoundBuffer8::SetVolume + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVolume_1_0_5233, XTL::EmuIDirectSoundBuffer8_SetVolume), + // CDirectSoundStream_SetVolume (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVolume_1_0_4627, XTL::EmuCDirectSoundStream_SetVolume), // IDirectSoundBuffer8::LockA (XREF) - { - (OOVPA*)&IDirectSoundBuffer8_LockA_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_LockA (XRef)" - #endif - }, - // IDirectSoundBuffer8::Lock (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_Lock_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Lock" - #endif - }, + OOVPA_TABLE_XREF(IDirectSoundBuffer8_LockA_1_0_4627), + // IDirectSoundBuffer8::Lock (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Lock_1_0_3936, XTL::EmuIDirectSoundBuffer8_Lock), // CDirectSound_CreateSoundStream (XREF) (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, - // DirectSoundCreateStream (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreateStream_1_0_4361, - - XTL::EmuDirectSoundCreateStream, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateStream" - #endif - }, - // IDirectSound8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundStream_1_0_4361), + // DirectSoundCreateStream (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(DirectSoundCreateStream_1_0_4361, XTL::EmuDirectSoundCreateStream), + // IDirectSound8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), // CMcpxBuffer::SetBufferData (XREF) (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer::SetBufferData (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetBufferData_1_0_4361), // CDirectSoundBuffer::SetBufferData (XREF) (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetBufferData (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetBufferData" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetBufferData_1_0_4361), + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetBufferData_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetBufferData), // CMcpxBuffer::GetStatusB (XRef) (* unchanged since 4627 *) - { - (OOVPA*)&CMcpxBuffer_GetStatusB_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetStatusB (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatusB_1_0_4627), // CDirectSoundBuffer::GetStatus (XRef) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetStatus (XRef)" - #endif - }, - // IDirectSoundBuffer8::GetStatus (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_GetStatus, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_GetStatus" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetStatus_1_0_4627), + // IDirectSoundBuffer8::GetStatus (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetStatus_1_0_4627, XTL::EmuIDirectSoundBuffer8_GetStatus), // CMcpxBuffer::GetCurrentPosition (XRef) (* unchanged since 4361 *) - { - (OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetCurrentPosition (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetCurrentPosition_1_0_4361), // CMcpxBuffer::Play (XREF) (* unchanged since 4928 *) - { - (OOVPA*)&CMcpxBuffer_Play_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer::Play (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Play_1_0_4928), // CDirectSoundBuffer::Play (XREF) (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_Play_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::Play (XREF)" - #endif - }, - // IDirectSoundBuffer8::Play (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_Play_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_Play, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Play" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Play_1_0_4361), + // IDirectSoundBuffer8::Play (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Play_1_0_4361, XTL::EmuIDirectSoundBuffer8_Play), // CDirectSoundStream::FlushEx (XREF) - { - (OOVPA*)&CDirectSoundStream_FlushEx_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::FlushEx (XREF)" - #endif - }, - // IDirectSoundBuffer8::StopEx - { - (OOVPA*)&IDirectSoundBuffer8_StopEx_1_0_5233, - - XTL::EmuIDirectSoundBuffer8_StopEx, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_StopEx" - #endif - }, - // IDirectSound8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_FlushEx_1_0_5233), + // IDirectSoundBuffer8::StopEx + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_StopEx_1_0_5233, XTL::EmuIDirectSoundBuffer8_StopEx), + // IDirectSound8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), // DirectSound::CDirectSound::EnableHeadphones (XRef) - { - (OOVPA*)&CDirectSound_EnableHeadphones_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSound::EnableHeadphones (XRef)" - #endif - }, - // IDirectSound8::EnableHeadphones - { - (OOVPA*)&IDirectSound8_EnableHeadphones_1_0_5233, - - XTL::EmuIDirectSound8_EnableHeadphones, - - #ifdef _DEBUG_TRACE - "IDirectSound8_EnableHeadphones" - #endif - }, - // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, - - XTL::EmuIDirectSound8_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_DownloadEffectsImage" - #endif - }, - // IDirectSound8::SetOrientation (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, - - XTL::EmuIDirectSound8_SetOrientation, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetOrientation" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_EnableHeadphones_1_0_5233), + // IDirectSound8::EnableHeadphones + OOVPA_TABLE_PATCH(IDirectSound8_EnableHeadphones_1_0_5233, XTL::EmuIDirectSound8_EnableHeadphones), + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_DownloadEffectsImage_1_0_3936, XTL::EmuIDirectSound8_DownloadEffectsImage), + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetOrientation_1_0_3936, XTL::EmuIDirectSound8_SetOrientation), // CDirectSound::SetDistanceFactorA (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetDistanceFactor_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetDistanceFactorA (XREF) (5344)@" - #endif - }, - // IDirectSound8::SetDistanceFactor - { - (OOVPA*)&IDirectSound_SetDistanceFactor_1_0_5344, - - XTL::EmuIDirectSound8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDistanceFactor (5344)@" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetDistanceFactor_1_0_5344), + // IDirectSound8::SetDistanceFactor + OOVPA_TABLE_PATCH(IDirectSound_SetDistanceFactor_1_0_5344, XTL::EmuIDirectSound8_SetDistanceFactor), // CDirectSound::SetDistanceFactorA (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetDistanceFactorA (XREF)" - #endif - }, - // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, - - XTL::EmuIDirectSound8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDistanceFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDistanceFactorA_1_0_4627), + // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetDistanceFactor_1_0_4432, XTL::EmuIDirectSound8_SetDistanceFactor), // CDirectSound::SetRolloffFactor (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSound_SetRolloffFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetRolloffFactor (XREF)" - #endif - }, - // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetRolloffFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetRolloffFactor_1_0_4627), + // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetRolloffFactor_1_0_4627, XTL::EmuIDirectSound8_SetRolloffFactor), // CDirectSound::SetDopplerFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetDopplerFactor_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetDopplerFactor (XREF) (5344)@@" - #endif - }, - // IDirectSound8::SetDopplerFactor - { - (OOVPA*)&IDirectSound_SetDopplerFactor_1_0_5344, - - XTL::EmuIDirectSound8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDopplerFactor (5344)@@" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetDopplerFactor_1_0_5344), + // IDirectSound8::SetDopplerFactor + OOVPA_TABLE_PATCH(IDirectSound_SetDopplerFactor_1_0_5344, XTL::EmuIDirectSound8_SetDopplerFactor), // CDirectSound::SetDopplerFactor (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetDopplerFactor (XREF)" - #endif - }, - // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDopplerFactor" - #endif - }, - // CDirectSound::CommitDeferredSettings (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432, - - XTL::EmuCDirectSound_CommitDeferredSettings, - - #ifdef _DEBUG_TRACE - "EmuCDirectSound_CommitDeferredSettings" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDopplerFactor_1_0_4627), + // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetDopplerFactor_1_0_4627, XTL::EmuIDirectSound8_SetDopplerFactor), + // CDirectSound::CommitDeferredSettings (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(CDirectSound_CommitDeferredSettings_1_0_4432, XTL::EmuCDirectSound_CommitDeferredSettings), // CDirectSoundVoice::SetMaxDistance (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMaxDistance (XRef) (5344)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMaxDistance_1_0_5344), // CDirectSoundBuffer::SetMaxDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMaxDistance (XRef) (5344)" - #endif - }, - // IDirectSoundBuffer_SetMaxDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_5344, - XTL::EmuIDirectSoundBuffer8_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMaxDistance (5344)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_5344), + // IDirectSoundBuffer_SetMaxDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMaxDistance_1_0_5344, XTL::EmuIDirectSoundBuffer8_SetMaxDistance), // CDirectSoundVoice::SetMinDistance (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMinDistance (XRef) (5344)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMinDistance_1_0_5344), // CDirectSoundBuffer::SetMinDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMinDistance (XRef) (5344)" - #endif - }, - // IDirectSoundBuffer_SetMinDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_5344, - XTL::EmuIDirectSoundBuffer8_SetMinDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMinDistance (5344)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMinDistance_1_0_5344), + // IDirectSoundBuffer_SetMinDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMinDistance_1_0_5344, XTL::EmuIDirectSoundBuffer8_SetMinDistance), // CDirectSoundVoice::SetMinDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMinDistance (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMinDistance_1_0_4432), // CDirectSoundBuffer::SetMinDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMinDistance (XREF)" - #endif - }, - // IDirectSoundBuffer_SetMinDistance (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_4432, - - XTL::EmuIDirectSoundBuffer8_SetMinDistance, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMinDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMinDistance_1_0_4432), + // IDirectSoundBuffer_SetMinDistance (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMinDistance_1_0_4432, XTL::EmuIDirectSoundBuffer8_SetMinDistance), // CDirectSoundVoice::SetMaxDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMaxDistance (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMaxDistance_1_0_4432), // CDirectSoundBuffer::SetMaxDistance (XREF) (* unchanged since 4432 *) - { - (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_4432, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMaxDistance (XREF)" - #endif - }, - // IDirectSoundBuffer_SetMaxDistance (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_4432, - - XTL::EmuIDirectSoundBuffer8_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMaxDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_4432), + // IDirectSoundBuffer_SetMaxDistance (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMaxDistance_1_0_4432, XTL::EmuIDirectSoundBuffer8_SetMaxDistance), // CDirectSoundVoice::SetPosition (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetPosition_1_0_4627), // CDirectSoundBuffer::SetPosition (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetPosition_1_0_4627), + // IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPosition_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetPosition), // CDirectSoundVoice::SetVelocity (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundVoice_SetVelocity_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVelocity (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetVelocity_1_0_4627), // CDirectSoundBuffer::SetVelocity (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVelocity (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetVelocity_1_0_4627), + // IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVelocity_1_0_3936, XTL::EmuIDirectSoundBuffer8_SetVelocity), // CDirectSoundVoice::SetI3DL2Source (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundVoice_SetI3DL2Source_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetI3DL2Source (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetI3DL2Source_1_0_4627), // CDirectSoundBuffer::SetI3DL2Source (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_SetI3DL2Source_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetI3DL2Source (XREF)" - #endif - }, - // IDirectSoundBuffer_SetI3DL2Source (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetI3DL2Source" - #endif - }, - // IDirectSoundBuffer_Stop (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_Stop, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Stop" - #endif - }, - // IDirectSoundBuffer8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Release" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetI3DL2Source_1_0_4627), + // IDirectSoundBuffer_SetI3DL2Source (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetI3DL2Source_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetI3DL2Source), + // IDirectSoundBuffer_Stop (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Stop_1_0_4627, XTL::EmuIDirectSoundBuffer8_Stop), + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Release_1_0_3936, XTL::EmuIDirectSoundBuffer8_Release), // IDirectSoundStream::SetVolume // (This is actually the XREF we are using) - { - (OOVPA*)&CDirectSoundStream_SetVolume_1_0_5233, - - XTL::EmuIDirectSoundStream_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundStream_SetVolume" - #endif - }, + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVolume_1_0_5233, XTL::EmuIDirectSoundStream_SetVolume), // DirectSound::CDirectSoundVoice::SetFormat (XRef) - { - (OOVPA*)&X_DirectSound_CDirectSoundVoice_SetFormat_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoice::SetFormat (XRef)" - #endif - }, + OOVPA_TABLE_XREF(X_DirectSound_CDirectSoundVoice_SetFormat_1_0_5233), // DirectSound::CDirectSoundBuffer::SetFormat (XRef) (* unchanged since 4627 *) - { - (OOVPA*)&X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::SetFormat (XRef)" - #endif - }, + OOVPA_TABLE_XREF(X_DirectSound_CDirectSoundBuffer_SetFormat_1_0_4627), // IDirectSoundBuffer8_SetFormat (* unchanged since 4627 *) - { - (OOVPA*)&X_IDirectSoundBuffer_SetFormat_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetFormat, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetFormat" - #endif - - }, + OOVPA_TABLE_PATCH(X_IDirectSoundBuffer_SetFormat_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetFormat), // CDirectSoundVoice::SetMode (XRef) - { - (OOVPA*)&CDirectSoundVoice_SetMode_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMode (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMode_1_0_5233), // CDirectSoundBuffer::SetMode (XRef) - { - (OOVPA*)&CDirectSoundBuffer_SetMode_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMode (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMode - { - (OOVPA*)&IDirectSoundBuffer8_SetMode_1_0_5233, - XTL::EmuIDirectSoundBuffer8_SetMode, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMode" - #endif - - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMode_1_0_5233), + // IDirectSoundBuffer_SetMode + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMode_1_0_5233, XTL::EmuIDirectSoundBuffer8_SetMode), // CDirectSoundVoice::SetRolloffCurve (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetRolloffCurve_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetRolloffCurve (XREF)" - #endif - - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetRolloffCurve_1_0_5233), // CDirectSoundBuffer::SetRolloffCurve (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetRolloffCurve_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetRolloffCurve (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetRolloffCurve - { - (OOVPA*)&IDirectSoundBuffer8_SetRolloffCurve_1_0_5233, - - XTL::EmuIDirectSoundBuffer8_SetRolloffCurve, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetRolloffCurve" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetRolloffCurve_1_0_5233), + // IDirectSoundBuffer8::SetRolloffCurve + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetRolloffCurve_1_0_5233, XTL::EmuIDirectSoundBuffer8_SetRolloffCurve), // IDirectSound8::AddRef (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_AddRef_1_0_3936, - - XTL::EmuIDirectSound8_AddRef, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_AddRef" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_AddRef_1_0_3936, XTL::EmuIDirectSound8_AddRef), // CDirectSound_SetI3DL2Listener - { - (OOVPA*)&DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF) (5344)" - #endif - }, - // IDirectSound8_SetI3DL2Listener - { - (OOVPA*)&IDirectSound_SetI3DL2Listener_1_0_5344, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener (5344)" - #endif - }, - // CDirectSound::SetRolloffFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetRolloffFactor_1_0_5344, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetRolloffFactor (XRef) (5344)" - #endif - }, - // IDirectSound8::SetRolloffFactor - { - (OOVPA*)&IDirectSound_SetRolloffFactor_1_0_5344, - - XTL::EmuIDirectSound8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetRolloffFactor (5344)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetI3DL2Listener_1_0_5344), + // IDirectSound8_SetI3DL2Listener + OOVPA_TABLE_PATCH(IDirectSound_SetI3DL2Listener_1_0_5344, XTL::EmuIDirectSound8_SetI3DL2Listener), + // CDirectSound::SetRolloffFactor (XREF)` + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetRolloffFactor_1_0_5344), + // IDirectSound8::SetRolloffFactor + OOVPA_TABLE_PATCH(IDirectSound_SetRolloffFactor_1_0_5344, XTL::EmuIDirectSound8_SetRolloffFactor), #if 0 // Add when needed... // CDirectSoundVoice::SetDistanceFactor (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetDistanceFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetDistanceFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetDistanceFactor_1_0_5558), // CDirectSoundBuffer::SetDistanceFactor (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetDistanceFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetDistanceFactor (XRef)" - #endif - }, - // IDirectSoundBuffer_SetDistanceFactor - { - (OOVPA*)&IDirectSoundBuffer8_SetDistanceFactor_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetDistanceFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetDistanceFactor_1_0_5558), + // IDirectSoundBuffer_SetDistanceFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetDistanceFactor_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetDistanceFactor), #endif }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 621e9d7d1..ffd7bb5bc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * CDirectSound::SynchPlayback // ****************************************************************** -SOOVPA<7> CDirectSound_SynchPlayback_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(CDirectSound_SynchPlayback_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0C, 0x00 }, { 0x12, 0x85 }, { 0x1C, 0x15 }, @@ -51,21 +44,16 @@ SOOVPA<7> CDirectSound_SynchPlayback_1_0_5558 = { 0x30, 0xE8 }, { 0x3A, 0x0B }, { 0x46, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -SOOVPA<11> CMcpxStream_Pause_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxStream_Pause_1_0_5558, 11, - XREF_DSSTREAMPAUSE, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMPAUSE, + XRefZero) - { // CMcpxStream_Pause+0x17 : and ax, 0xFFDF { 0x17, 0x66 }, // (Offset,Value)-Pair #1 { 0x18, 0x25 }, // (Offset,Value)-Pair #2 @@ -84,21 +72,13 @@ SOOVPA<11> CMcpxStream_Pause_1_0_5558 = // CMcpxStream_Pause+0x8B : retn 0x04 { 0x8B, 0xC2 }, // (Offset,Value)-Pair #10 { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** -SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings_1_0_5558, 11) - XRefNotSaved, - XRefNotUsed, - - { // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al { 0x10, 0x0F }, // (Offset,Value)-Pair #1 { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 @@ -117,21 +97,16 @@ SOOVPA<11> CDirectSound_CommitDeferredSettings_1_0_5558 = // CDirectSound_CommitDeferredSettings+0x96 : leave { 0x96, 0xC9 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetDistanceFactorA_1_0_5558, 11, - XREF_SETDISTANCEFACTORA,// XRef Is Saved - 0, // XRef Not Used + XREF_SETDISTANCEFACTORA, + XRefZero) - { // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -148,21 +123,16 @@ SOOVPA<11> CDirectSound_SetDistanceFactorA_1_0_5558 = // CDirectSound_SetDistanceFactorA+0x4C : jz +0x0B { 0x4C, 0x74 }, // (Offset,Value)-Pair #10 { 0x4D, 0x0B }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetRolloffFactor // ****************************************************************** -SOOVPA<11> CDirectSound_SetRolloffFactor_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSound_SetRolloffFactor_1_0_5558, 11, - XREF_SETROLLOFFFACTORA, // XRef Is Saved - 0, // XRef Not Used + XREF_SETROLLOFFFACTORA, + XRefZero) - { // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -179,21 +149,16 @@ SOOVPA<11> CDirectSound_SetRolloffFactor_1_0_5558 = // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B { 0x4C, 0x74 }, // (Offset,Value)-Pair #10 { 0x4D, 0x0B }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** -SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_5558 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSound_SetDopplerFactor_1_0_5558, 14, - XREF_SETDOPPLERFACTOR, // XRef Is Saved - 0, // XRef Not Used + XREF_SETDOPPLERFACTOR, + XRefZero) - { // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 @@ -215,21 +180,16 @@ SOOVPA<14> CDirectSound_SetDopplerFactor_1_0_5558 = // CDirectSound_SetDopplerFactor+0x4C : jz +0x0B { 0x4C, 0x74 }, // (Offset,Value)-Pair #13 { 0x4D, 0x0B }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetMixBinHeadroom // ****************************************************************** -SOOVPA<9> IDirectSound8_SetMixBinHeadroom_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound8_SetMixBinHeadroom_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETMIXBINHEADROOMA }, { 0x02, 0x24 }, @@ -240,21 +200,16 @@ SOOVPA<9> IDirectSound8_SetMixBinHeadroom_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound_SetI3DL2Listener // ****************************************************************** -SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSound_SetI3DL2Listener_1_0_5558, 8, - XREF_DSSETI3DL2LISTENER, // Xref Is Saved - XRefNotUsed, + XREF_DSSETI3DL2LISTENER, + XRefZero) - { { 0x1D, 0xFF }, { 0x3C, 0x00 }, { 0x5B, 0x9A }, @@ -263,21 +218,16 @@ SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5558 = { 0xB8, 0x50 }, { 0xD7, 0x00 }, { 0xF6, 0x68 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetI3DL2Listener // ****************************************************************** -SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound8_SetI3DL2Listener_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETI3DL2LISTENER }, { 0x02, 0x24 }, @@ -288,20 +238,16 @@ SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; + // ****************************************************************** // * DirectSound::CFullHRTFSource::GetCenterVolume // ****************************************************************** -SOOVPA<7> DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558, 7, - XREF_DirectSound_CFullHRTFSource_GetCenterVolume, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CFullHRTFSource_GetCenterVolume, + XRefZero) - { { 0x13, 0xD9 }, { 0x29, 0xDF }, { 0x3D, 0x2D }, @@ -309,21 +255,16 @@ SOOVPA<7> DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558 = { 0x67, 0x4D }, { 0x7E, 0xD9 }, { 0x91, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CHRTFSource::SetFullHRTF5Channel // ****************************************************************** -SOOVPA<9> DirectSound_CHRTFSource_SetFullHRTF5Channel_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CHRTFSource_SetFullHRTF5Channel_1_0_5558, 9, - XREF_DirectSound_CHRTFSource_SetFullHRTF5Channel, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CHRTFSource_SetFullHRTF5Channel, + XRefOne) - { { 0x4C, XREF_DirectSound_CFullHRTFSource_GetCenterVolume }, { 0x14, 0xC7 }, @@ -334,21 +275,16 @@ SOOVPA<9> DirectSound_CHRTFSource_SetFullHRTF5Channel_1_0_5558 = { 0x5A, 0xC7 }, { 0x64, 0xC7 }, { 0x6E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundUseFullHRTF // ****************************************************************** -SOOVPA<8> DirectSoundUseFullHRTF_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSoundUseFullHRTF_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x0A, XREF_DirectSound_CHRTFSource_SetFullHRTF5Channel }, { 0x06, 0x0F }, @@ -358,21 +294,13 @@ SOOVPA<8> DirectSoundUseFullHRTF_1_0_5558 = { 0x12, 0x0B }, { 0x18, 0xFF }, { 0x1E, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundDoWork // ****************************************************************** -SOOVPA<7> DirectSoundDoWork_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(DirectSoundDoWork_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x0F }, { 0x0E, 0x85 }, { 0x10, 0x74 }, @@ -380,21 +308,16 @@ SOOVPA<7> DirectSoundDoWork_1_0_5558 = { 0x1C, 0x0B }, { 0x22, 0xFF }, { 0x28, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetBufferData // ****************************************************************** -SOOVPA<7> CDirectSoundBuffer_SetBufferData_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundBuffer_SetBufferData_1_0_5558, 7, - XREF_DSSETBUFFERDATA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETBUFFERDATA, + XRefZero) - { { 0x14, 0x0C }, { 0x2A, 0xB6 }, { 0x40, 0xB8 }, @@ -402,21 +325,16 @@ SOOVPA<7> CDirectSoundBuffer_SetBufferData_1_0_5558 = { 0x6C, 0x8B }, { 0x82, 0x7C }, { 0x98, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetBufferData // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetBufferData_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetBufferData_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETBUFFERDATA }, { 0x02, 0x24 }, @@ -427,21 +345,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetBufferData_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer::SetCurrentPosition // ****************************************************************** -SOOVPA<7> CMcpxBuffer_SetCurrentPosition_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CMcpxBuffer_SetCurrentPosition_1_0_5558, 7, - XREF_SETCURRENTPOSITION, // Xref Is Saved - XRefNotUsed, + XREF_SETCURRENTPOSITION, + XRefZero) - { { 0x1D, 0x00 }, { 0x3C, 0x66 }, { 0x5B, 0x00 }, @@ -449,21 +362,16 @@ SOOVPA<7> CMcpxBuffer_SetCurrentPosition_1_0_5558 = { 0x99, 0xD1 }, { 0xB8, 0x89 }, { 0xDB, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetCurrentPosition // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetCurrentPosition_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition_1_0_5558, 8, - XREF_SETCURRENTPOSITION2, // Xref Is Saved - 1, // Xref Is Used + XREF_SETCURRENTPOSITION2, + XRefOne) - { { 0x35, XREF_SETCURRENTPOSITION }, { 0x0C, 0x00 }, @@ -473,21 +381,16 @@ SOOVPA<8> CDirectSoundBuffer_SetCurrentPosition_1_0_5558 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetCurrentPosition // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetCurrentPosition_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_SETCURRENTPOSITION2 }, { 0x02, 0x24 }, @@ -497,21 +400,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetCurrentPosition_1_0_5558 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient::SetLFO // ****************************************************************** -SOOVPA<8> CMcpxVoiceClient_SetLFO_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CMcpxVoiceClient_SetLFO_1_0_5558, 8, - XREF_DirectSound_CMcpxVoiceClient_SetLFO, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxVoiceClient_SetLFO, + XRefZero) - { { 0x1E, 0x48 }, { 0x3E, 0x31 }, { 0x5E, 0x35 }, @@ -520,20 +418,16 @@ SOOVPA<8> CMcpxVoiceClient_SetLFO_1_0_5558 = { 0xBE, 0x8B }, { 0xDE, 0x05 }, { 0xFE, 0x6C }, - } -}; +OOVPA_END; + // ****************************************************************** // * CDirectSoundVoice::SetLFO // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetLFO_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetLFO_1_0_5558, 7, - XREF_DirectSound_CDirectSoundVoice_SetLFO, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundVoice_SetLFO, + XRefOne) - { { 0x0C, XREF_DirectSound_CMcpxVoiceClient_SetLFO }, { 0x01, 0x44 }, @@ -542,21 +436,16 @@ SOOVPA<7> CDirectSoundVoice_SetLFO_1_0_5558 = { 0x0A, 0x0C }, { 0x10, 0xC2 }, { 0x11, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetLFO // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetLFO_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetLFO_1_0_5558, 8, - XREF_DirectSound_CDirectSoundBuffer_SetLFO, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetLFO, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetLFO }, { 0x0C, 0x00 }, @@ -566,21 +455,16 @@ SOOVPA<8> CDirectSoundBuffer_SetLFO_1_0_5558 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetLFO // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetLFO_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetLFO_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetLFO }, { 0x02, 0x24 }, @@ -590,21 +474,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetLFO_1_0_5558 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** -SOOVPA<13> CMcpxVoiceClient_SetVolume_1_0_5558 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(CMcpxVoiceClient_SetVolume_1_0_5558, 13, - XREF_DSSTREAMSETVOLUME, // XRef Is Saved - 0, // XRef Not Used + XREF_DSSTREAMSETVOLUME, + XRefZero) - { // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] { 0x2A, 0x8D }, // (Offset,Value)-Pair #1 { 0x2B, 0x04 }, // (Offset,Value)-Pair #2 @@ -625,21 +504,16 @@ SOOVPA<13> CMcpxVoiceClient_SetVolume_1_0_5558 = { 0x84, 0x40 }, // (Offset,Value)-Pair #11 { 0x85, 0x41 }, // (Offset,Value)-Pair #12 { 0x86, 0x41 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBins // ****************************************************************** -SOOVPA<7> CDirectSoundVoiceSettings_SetMixBins_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins_1_0_5558, 7, - XREF_DSSETMIXBINSC, // Xref Is Saved - XRefNotUsed, + XREF_DSSETMIXBINSC, + XRefZero) - { { 0x1B, 0xEB }, { 0x32, 0x8B }, { 0x4C, 0x7C }, @@ -647,21 +521,16 @@ SOOVPA<7> CDirectSoundVoiceSettings_SetMixBins_1_0_5558 = { 0x84, 0xF6 }, { 0x9A, 0xB4 }, { 0xB4, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMixBins // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetMixBins_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetMixBins_1_0_5558, 8, - XREF_DSSETMIXBINSB, // Xref Is Saved - 1, // Xref Is Used + XREF_DSSETMIXBINSB, + XRefOne) - { { 0x0D, XREF_DSSETMIXBINSC }, { 0x02, 0x74 }, @@ -671,21 +540,16 @@ SOOVPA<8> CDirectSoundVoice_SetMixBins_1_0_5558 = { 0x12, 0x4E }, { 0x19, 0x5E }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMixBins // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetMixBins_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetMixBins_1_0_5558, 8, - XREF_DSSETMIXBINSA, // Xref Is Saved - 1, // Xref Is Used + XREF_DSSETMIXBINSA, + XRefOne) - { { 0x32, XREF_DSSETMIXBINSB }, { 0x0C, 0x00 }, @@ -695,21 +559,16 @@ SOOVPA<8> CDirectSoundBuffer_SetMixBins_1_0_5558 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetMixBins // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetMixBins_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSSETMIXBINSA }, { 0x02, 0x24 }, @@ -719,21 +578,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_5558 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetPlayRegion // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetPlayRegion_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion_1_0_5558, 8, - XREF_DSBUFFERSETPLAYREGIONA, // Xref Is Saved - XRefNotUsed, + XREF_DSBUFFERSETPLAYREGIONA, + XRefZero) - { { 0x0F, 0x00 }, { 0x1E, 0xFF }, { 0x2E, 0x85 }, @@ -742,21 +596,16 @@ SOOVPA<8> CDirectSoundBuffer_SetPlayRegion_1_0_5558 = { 0x5F, 0x8B }, { 0x72, 0xFF }, { 0x7E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetPlayRegion // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetPlayRegion_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetPlayRegion_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSBUFFERSETPLAYREGIONA }, { 0x02, 0x24 }, @@ -767,20 +616,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetPlayRegion_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; + // ****************************************************************** // * CDirectSoundBuffer::SetLoopRegion // ****************************************************************** -SOOVPA<7> CDirectSoundBuffer_SetLoopRegion_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion_1_0_5558, 7, - XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, + XRefZero) - { { 0x0F, 0x00 }, { 0x24, 0xB8 }, { 0x31, 0x55 }, @@ -788,20 +633,16 @@ SOOVPA<7> CDirectSoundBuffer_SetLoopRegion_1_0_5558 = { 0x53, 0x00 }, { 0x64, 0x8B }, { 0x77, 0xFF }, - } -}; +OOVPA_END; + // ****************************************************************** // * IDirectSoundBuffer_SetLoopRegion // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetLoopRegion_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetLoopRegion_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion }, { 0x02, 0x24 }, @@ -812,21 +653,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetLoopRegion_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer::Play // ****************************************************************** -SOOVPA<8> CMcpxBuffer_Play_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CMcpxBuffer_Play_1_0_5558, 8, - XREF_DSOUNDPLAY, // Xref Is Saved - XRefNotUsed, + XREF_DSOUNDPLAY, + XRefZero) - { { 0x06, 0x56 }, { 0x0E, 0xF1 }, { 0x16, 0xFF }, @@ -835,21 +671,16 @@ SOOVPA<8> CMcpxBuffer_Play_1_0_5558 = { 0x26, 0x75 }, { 0x2F, 0x8B }, { 0x36, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::Play // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_Play_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 10 +OOVPA_XREF(CDirectSoundBuffer_Play_1_0_5558, 9, - XREF_DSOUNDPLAY2, // Xref Is Saved - 0, // Xref Is Used + XREF_DSOUNDPLAY2, + XRefZero) // TODO : Use XRefOne here if XREF_DSOUNDPLAY is enabled below - { //{ 0x35, XREF_DSOUNDPLAY }, { 0x0C, 0x00 }, @@ -861,21 +692,16 @@ SOOVPA<9> CDirectSoundBuffer_Play_1_0_5558 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Play // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_Play_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_Play_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSOUNDPLAY2 }, { 0x03, 0x10 }, @@ -885,21 +711,16 @@ SOOVPA<8> IDirectSoundBuffer8_Play_1_0_5558 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -SOOVPA<11> CMcpxBuffer_GetStatus_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_GetStatus_1_0_5558, 11, - XREF_DSBUFFERGETSTATUSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERGETSTATUSA, + XRefZero) - { // CMcpxBuffer_GetStatus+0x04 : mov ecx, eax { 0x04, 0x8B }, // (Offset,Value)-Pair #1 { 0x05, 0xC8 }, // (Offset,Value)-Pair #2 @@ -918,21 +739,16 @@ SOOVPA<11> CMcpxBuffer_GetStatus_1_0_5558 = { 0x2A, 0x01 }, // (Offset,Value)-Pair #9 { 0x2B, 0x80 }, // (Offset,Value)-Pair #10 { 0x2C, 0x00 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * WaveFormat::CreateXboxAdpcmFormat // ****************************************************************** -SOOVPA<7> WaveFormat_CreateXboxAdpcmFormat_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(WaveFormat_CreateXboxAdpcmFormat_1_0_5558, 7, - XREF_DirectSound_WaveFormat_CreateXboxAdpcmFormat, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_WaveFormat_CreateXboxAdpcmFormat, + XRefZero) - { { 0x07, 0x08 }, { 0x10, 0xE9 }, { 0x19, 0x8D }, @@ -940,39 +756,29 @@ SOOVPA<7> WaveFormat_CreateXboxAdpcmFormat_1_0_5558 = { 0x2B, 0x04 }, { 0x34, 0x66 }, { 0x3D, 0x12 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAudioCreateAdpcmFormat // ****************************************************************** -SOOVPA<2> XAudioCreateAdpcmFormat_1_0_5558 = -{ - 0, // Large == 0 - 2, // Count == 2 +OOVPA_XREF(XAudioCreateAdpcmFormat_1_0_5558, 2, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x01, XREF_DirectSound_WaveFormat_CreateXboxAdpcmFormat }, { 0x00, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetFormat // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetFormat_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetFormat_1_0_5558, 7, - XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetFormat, + XRefZero) - { { 0x07, 0x10 }, { 0x13, 0x85 }, { 0x19, 0x10 }, @@ -980,21 +786,16 @@ SOOVPA<7> CDirectSoundVoice_SetFormat_1_0_5558 = { 0x2B, 0x14 }, { 0x34, 0x85 }, { 0x40, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetFormat // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetFormat_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetFormat_1_0_5558, 8, - XREF_DirectSound_CDirectSoundBuffer_SetFormat, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetFormat, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFormat }, { 0x0C, 0x00 }, @@ -1004,21 +805,16 @@ SOOVPA<8> CDirectSoundBuffer_SetFormat_1_0_5558 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetFormat // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetFormat_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFormat }, { 0x02, 0x24 }, @@ -1028,21 +824,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5558 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetConeAngles // ****************************************************************** -SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundVoice_SetConeAngles_1_0_5558, 8, - XREF_DirectSound_CDirectSoundVoice_SetConeAngles, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetConeAngles, + XRefZero) - { { 0x07, 0x8B }, { 0x10, 0x08 }, { 0x13, 0x20 }, @@ -1051,21 +842,16 @@ SOOVPA<8> CDirectSoundVoice_SetConeAngles_1_0_5558 = { 0x2B, 0x00 }, { 0x34, 0x10 }, { 0x3E, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetConeAngles // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetConeAngles_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetConeAngles_1_0_5558, 8, - XREF_DirectSound_CDirectSoundBuffer_SetConeAngles, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetConeAngles, + XRefOne) - { { 0x3A, XREF_DirectSound_CDirectSoundVoice_SetConeAngles }, { 0x0C, 0x00 }, @@ -1075,21 +861,16 @@ SOOVPA<8> CDirectSoundBuffer_SetConeAngles_1_0_5558 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetConeAngles // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetConeAngles_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetConeAngles_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DirectSound_CDirectSoundBuffer_SetConeAngles }, { 0x03, 0x10 }, @@ -1099,21 +880,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetConeAngles_1_0_5558 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMaxDistance // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance_1_0_5558, 7, - XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETMAXDISTANCE, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x3C }, @@ -1121,20 +897,16 @@ SOOVPA<7> CDirectSoundVoice_SetMaxDistance_1_0_5558 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; + // ****************************************************************** // * CDirectSoundBuffer::SetMaxDistance // ****************************************************************** -SOOVPA<11> CDirectSoundBuffer_SetMaxDistance_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_5558, 11, - XREF_DSBUFFERSETMAXDISTANCE, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETMAXDISTANCE, + XRefOne) - { // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] { 0x3A, XREF_DSVOICESETMAXDISTANCE }, @@ -1153,21 +925,16 @@ SOOVPA<11> CDirectSoundBuffer_SetMaxDistance_1_0_5558 = // CDirectSoundBuffer_SetMaxDistance+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance_1_0_5558, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, @@ -1186,21 +953,16 @@ SOOVPA<11> IDirectSoundBuffer_SetMaxDistance_1_0_5558 = // IDirectSoundBuffer_SetMaxDistance+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMinDistance // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetMinDistance_1_0_5558, 7, - XREF_DSVOICESETMINDISTANCE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETMINDISTANCE, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x38 }, @@ -1208,20 +970,16 @@ SOOVPA<7> CDirectSoundVoice_SetMinDistance_1_0_5558 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; + // ****************************************************************** // * CDirectSoundBuffer::SetMinDistance // ****************************************************************** -SOOVPA<11> CDirectSoundBuffer_SetMinDistance_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CDirectSoundBuffer_SetMinDistance_1_0_5558, 11, - XREF_DSBUFFERSETMINDISTANCE, // XRef Is Saved - 1, // XRef Is Used + XREF_DSBUFFERSETMINDISTANCE, + XRefOne) - { // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] { 0x3A, XREF_DSVOICESETMINDISTANCE }, @@ -1240,21 +998,16 @@ SOOVPA<11> CDirectSoundBuffer_SetMinDistance_1_0_5558 = // CDirectSoundBuffer_SetMinDistance+0x53 : retn 0Ch { 0x54, 0x0C }, { 0x55, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMinDistance // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetMinDistance_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, { 0x0C, 0x00 }, @@ -1264,21 +1017,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetMinDistance_1_0_5558 = { 0x3A, 0x1C }, { 0x46, 0x74 }, { 0x53, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** -SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5558 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(IDirectSoundBuffer_SetMinDistance_1_0_5558, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, @@ -1297,42 +1045,32 @@ SOOVPA<11> IDirectSoundBuffer_SetMinDistance_1_0_5558 = // IDirectSoundBuffer_SetMinDistance+0x21 : retn 0Ch { 0x22, 0x0C }, { 0x23, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::CommitDeferredSettings // ****************************************************************** -SOOVPA<6> CDirectSoundVoice_CommitDeferredSettings_1_0_5558 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(CDirectSoundVoice_CommitDeferredSettings_1_0_5558, 6, - XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings, + XRefZero) - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x07, 0xE8 }, { 0x0C, 0x33 }, { 0x0D, 0xC0 }, { 0x10, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetAllParameters // ****************************************************************** -SOOVPA<14> CDirectSoundVoice_SetAllParameters_1_0_5558 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_XREF(CDirectSoundVoice_SetAllParameters_1_0_5558, 14, - XREF_DirectSound_CDirectSoundVoice_SetAllParameters, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundVoice_SetAllParameters, + XRefOne) - { { 0x2A, XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings }, { 0x00, 0x8B }, @@ -1348,21 +1086,16 @@ SOOVPA<14> CDirectSoundVoice_SetAllParameters_1_0_5558 = { 0x30, 0xC2 }, { 0x31, 0x0C }, { 0x32, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetAllParameters // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetAllParameters_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetAllParameters_1_0_5558, 8, - XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetAllParameters }, { 0x0C, 0x00 }, @@ -1372,21 +1105,16 @@ SOOVPA<8> CDirectSoundBuffer_SetAllParameters_1_0_5558 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8::SetAllParameters // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer8_SetAllParameters_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetAllParameters }, { 0x02, 0x24 }, @@ -1397,21 +1125,16 @@ SOOVPA<9> IDirectSoundBuffer8_SetAllParameters_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetPosition // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetPosition_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetPosition_1_0_5558, 7, - XREF_DSVOICESETPOSITION, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETPOSITION, + XRefZero) - { { 0x09, 0x8B }, { 0x14, 0x08 }, { 0x1F, 0x55 }, @@ -1419,21 +1142,16 @@ SOOVPA<7> CDirectSoundVoice_SetPosition_1_0_5558 = { 0x35, 0x10 }, { 0x40, 0xF6 }, { 0x4C, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetPosition // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetPosition_1_0_5558, 9, - XREF_DSBUFFERSETPOSITION, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETPOSITION, + XRefOne) - { { 0x4A, XREF_DSVOICESETPOSITION }, { 0x0F, 0x00 }, @@ -1444,21 +1162,16 @@ SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_5558 = { 0x4E, 0x85 }, { 0x59, 0xFF }, { 0x66, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8::SetPosition // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetPosition_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetPosition_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSBUFFERSETPOSITION }, { 0x05, 0x18 }, @@ -1468,20 +1181,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetPosition_1_0_5558 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; + // ****************************************************************** // * CDirectSoundVoice::SetVelocity // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetVelocity_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetVelocity_1_0_5558, 7, - XREF_DSVOICESETVELOCITY, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETVELOCITY, + XRefZero) - { { 0x09, 0x8B }, { 0x14, 0x14 }, { 0x1F, 0x55 }, @@ -1489,21 +1198,16 @@ SOOVPA<7> CDirectSoundVoice_SetVelocity_1_0_5558 = { 0x35, 0x10 }, { 0x40, 0xF6 }, { 0x4C, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetVelocity // ****************************************************************** -SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CDirectSoundBuffer_SetVelocity_1_0_5558, 9, - XREF_DSBUFFERSETVELOCITY, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETVELOCITY, + XRefOne) - { { 0x4A, XREF_DSVOICESETVELOCITY }, { 0x0F, 0x00 }, @@ -1514,20 +1218,15 @@ SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_5558 = { 0x4E, 0x85 }, { 0x59, 0xFF }, { 0x66, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetVelocity // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetVelocity_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetVelocity_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSBUFFERSETVELOCITY }, { 0x05, 0x18 }, @@ -1537,21 +1236,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetVelocity_1_0_5558 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; /*// ****************************************************************** // * CMcpxStream::Pause // ****************************************************************** -SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CMcpxStream_Pause_1_0_5558, 7, - XREF_DirectSound_CMcpxStream_Pause, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxStream_Pause, + XRefZero) - { { 0x10, 0x07 }, { 0x23, 0x0F }, { 0x34, 0x83 }, @@ -1565,15 +1259,11 @@ SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5558 = // ****************************************************************** // * CDirectSoundStream::Pause // ****************************************************************** -SOOVPA<8> CDirectSoundStream_Pause_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundStream_Pause_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x35, XREF_DSSTREAMPAUSE }, { 0x0C, 0x00 }, @@ -1583,21 +1273,16 @@ SOOVPA<8> CDirectSoundStream_Pause_1_0_5558 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor_1_0_5558, 7, - XREF_DSVOICESETDISTANCEFACTOR, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETDISTANCEFACTOR, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x44 }, @@ -1605,21 +1290,16 @@ SOOVPA<7> CDirectSoundVoice_SetDistanceFactor_1_0_5558 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetDistanceFactor // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetDistanceFactor_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetDistanceFactor_1_0_5558, 8, - XREF_DSBUFFERSETDISTANCEFACTOR, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETDISTANCEFACTOR, + XRefOne) - { { 0x3A, XREF_DSVOICESETDISTANCEFACTOR }, { 0x0C, 0x00 }, @@ -1629,21 +1309,16 @@ SOOVPA<8> CDirectSoundBuffer_SetDistanceFactor_1_0_5558 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetDistanceFactor // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetDistanceFactor_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETDISTANCEFACTOR }, { 0x03, 0x0C }, @@ -1653,21 +1328,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetDistanceFactor_1_0_5558 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -SOOVPA<7> CDirectSoundVoice_SetDopplerFactor_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor_1_0_5558, 7, - XREF_DSVOICESETDOPPLERFACTOR, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETDOPPLERFACTOR, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x4C }, @@ -1675,21 +1345,16 @@ SOOVPA<7> CDirectSoundVoice_SetDopplerFactor_1_0_5558 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetDopplerFactor // ****************************************************************** -SOOVPA<8> CDirectSoundBuffer_SetDopplerFactor_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSoundBuffer_SetDopplerFactor_1_0_5558, 8, - XREF_DSBUFFERSETDOPPLERFACTOR, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETDOPPLERFACTOR, + XRefOne) - { { 0x3A, XREF_DSVOICESETDOPPLERFACTOR }, { 0x0C, 0x00 }, @@ -1699,21 +1364,16 @@ SOOVPA<8> CDirectSoundBuffer_SetDopplerFactor_1_0_5558 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetDopplerFactor // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetDopplerFactor_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetDopplerFactor_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETDOPPLERFACTOR }, { 0x03, 0x0C }, @@ -1723,20 +1383,13 @@ SOOVPA<8> IDirectSoundBuffer8_SetDopplerFactor_1_0_5558 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; + // ****************************************************************** // * IDirectSoundBuffer_Lock // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirectSoundBuffer_Lock_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x75 }, { 0x0A, 0x75 }, { 0x10, 0x1C }, @@ -1745,21 +1398,16 @@ SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5558 = { 0x22, 0xC8 }, { 0x2C, 0x5D }, { 0x2E, 0x20 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetI3DL2Source // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558, 7, - XREF_DSVOICESETI3DL2SOURCE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETI3DL2SOURCE, + XRefZero) - { { 0x18, 0x00 }, { 0x32, 0x8B }, { 0x4C, 0x8C }, @@ -1767,21 +1415,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558 = { 0x80, 0x89 }, { 0x9A, 0x10 }, { 0xB4, 0x49 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetI3DL2Source // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetI3DL2Source_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetI3DL2Source_1_0_5558, 8, - XREF_DSBUFFERSETI3DL2SOURCE, // Xref Is Saved - 1, // Xref Is Used + XREF_DSBUFFERSETI3DL2SOURCE, + XRefOne) - { { 0x36, XREF_DSVOICESETI3DL2SOURCE }, { 0x0C, 0x00 }, @@ -1791,21 +1434,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetI3DL2Source_1_0_5558 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetI3DL2Source // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSBUFFERSETI3DL2SOURCE }, { 0x02, 0x24 }, @@ -1816,21 +1454,16 @@ SOOVPA<9> IDirectSoundBuffer_SetI3DL2Source_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetAllParameters // ****************************************************************** -SOOVPA<10> DirectSound_CDirectSoundVoice_SetAllParameters_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetAllParameters_1_0_5558, 10, - XREF_DirectSound_CDirectSoundVoice_SetAllParameters, // Xref Is Saved - 0, // Xref Is Used + XREF_DirectSound_CDirectSoundVoice_SetAllParameters, + XRefZero) // TODO : Use XRefOne here if XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings is enabled below - { // { 0x12F, XREF_DirectSound_CDirectSoundVoice_CommitDeferredSettings }, { 0x00, 0x8B }, @@ -1843,21 +1476,16 @@ SOOVPA<10> DirectSound_CDirectSoundVoice_SetAllParameters_1_0_5558 = { 0xB8, 0x00 }, { 0xD7, 0x00 }, { 0xF6, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetAllParameters // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_5558, 8, - XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetAllParameters, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetAllParameters }, { 0x0C, 0x00 }, @@ -1867,21 +1495,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_5558 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetAllParameters // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetAllParameters_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetAllParameters_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetAllParameters }, { 0x02, 0x24 }, @@ -1892,21 +1515,16 @@ SOOVPA<9> IDirectSoundBuffer_SetAllParameters_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetHeadroom // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558, 7, - XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, + XRefZero) - { { 0x03, 0x04 }, { 0x08, 0x48 }, { 0x0D, 0x24 }, @@ -1914,21 +1532,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558 = { 0x17, 0x8B }, { 0x1F, 0x5E }, { 0x21, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetHeadroom // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5558, 8, - XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved - 1, // Xref Is Used + XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, { 0x0C, 0x00 }, @@ -1938,21 +1551,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5558 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetHeadroom // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, { 0x00, 0x56 }, @@ -1963,21 +1571,16 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetHeadroom // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetHeadroom_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom }, { 0x02, 0x24 }, @@ -1987,21 +1590,16 @@ SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5558 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::GetCurrentPosition // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558, 7, - XREF_GETCURRENTPOSITION, // Xref Is Saved - XRefNotUsed, + XREF_GETCURRENTPOSITION, + XRefZero) - { { 0x0C, 0x00 }, { 0x14, 0x74 }, { 0x21, 0xB8 }, @@ -2009,21 +1607,16 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558 = { 0x35, 0x74 }, { 0x40, 0xF8 }, { 0x4E, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_GetCurrentPosition@12 // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_GETCURRENTPOSITION }, { 0x02, 0x24 }, @@ -2034,21 +1627,16 @@ SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetFormat // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundStream_SetFormat_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetFormat_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetFormat }, { 0x00, 0x56 }, @@ -2059,21 +1647,16 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetFormat_1_0_5558 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetMixBins_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSSETMIXBINSB }, { 0x00, 0x56 }, @@ -2084,21 +1667,16 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5558 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetMixBinHeadroom // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558, 8, - XREF_DSSETMIXBINHEADROOMA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETMIXBINHEADROOMA, + XRefZero) - { { 0x0C, 0x00 }, { 0x16, 0x68 }, { 0x22, 0x05 }, @@ -2107,21 +1685,16 @@ SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558 = { 0x46, 0x85 }, { 0x52, 0x15 }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetMixBinHeadroom // ****************************************************************** -SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_SetMixBinHeadroom_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETMIXBINHEADROOMA }, { 0x02, 0x24 }, @@ -2132,21 +1705,16 @@ SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::EnableHeadphones // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSound_EnableHeadphones_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSound_EnableHeadphones_1_0_5558, 8, - XREF_DSENABLEHEADPHONES, // Xref Is Saved - XRefNotUsed, + XREF_DSENABLEHEADPHONES, + XRefZero) - { { 0x1E, 0x3B }, { 0x3E, 0xC1 }, { 0x60, 0xEB }, @@ -2155,21 +1723,16 @@ SOOVPA<8> DirectSound_CDirectSound_EnableHeadphones_1_0_5558 = { 0xBE, 0x00 }, { 0xDE, 0x59 }, { 0xFE, 0x75 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** -SOOVPA<8> IDirectSound_EnableHeadphones_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_EnableHeadphones_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSENABLEHEADPHONES }, { 0x02, 0x24 }, @@ -2179,21 +1742,16 @@ SOOVPA<8> IDirectSound_EnableHeadphones_1_0_5558 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::GetOutputLevels // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_GetOutputLevels_1_0_5558, 7, - XREF_DirectSound_CDirectSound_GetOutputLevels, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSound_GetOutputLevels, + XRefZero) - { { 0x07, 0x10 }, { 0x10, 0xF3 }, { 0x19, 0x5E }, @@ -2201,21 +1759,16 @@ SOOVPA<7> DirectSound_CDirectSound_GetOutputLevels_1_0_5558 = { 0x2B, 0x85 }, { 0x34, 0xA6 }, { 0x3D, 0xD0 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_GetOutputLevels // ****************************************************************** -SOOVPA<9> IDirectSound_GetOutputLevels_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_GetOutputLevels_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSound_GetOutputLevels }, { 0x02, 0x24 }, @@ -2226,21 +1779,13 @@ SOOVPA<9> IDirectSound_GetOutputLevels_1_0_5558 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * XAudioDownloadEffectsImage // ****************************************************************** -SOOVPA<8> XAudioDownloadEffectsImage_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XAudioDownloadEffectsImage_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0xB6 }, { 0x41, 0x83 }, { 0x61, 0x8B }, @@ -2249,21 +1794,16 @@ SOOVPA<8> XAudioDownloadEffectsImage_1_0_5558 = { 0xBE, 0x6A }, { 0xDE, 0x07 }, { 0xFE, 0xF7 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetPosition // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_SetPosition_1_0_5558, 7, - XREF_DSSETPOSITIONA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETPOSITIONA, + XRefZero) - { { 0x0F, 0x00 }, { 0x1E, 0xFF }, { 0x2B, 0x8B }, @@ -2271,21 +1811,16 @@ SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5558 = { 0x49, 0x40 }, { 0x58, 0xE8 }, { 0x67, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetPosition // ****************************************************************** -SOOVPA<8> IDirectSound_SetPosition_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetPosition_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSSETPOSITIONA }, { 0x05, 0x18 }, @@ -2295,21 +1830,16 @@ SOOVPA<8> IDirectSound_SetPosition_1_0_5558 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetVelocity // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_SetVelocity_1_0_5558, 7, - XREF_DSSETVELOCITYA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETVELOCITYA, + XRefZero) - { { 0x0F, 0x00 }, { 0x1E, 0xFF }, { 0x2B, 0x8B }, @@ -2317,21 +1847,16 @@ SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5558 = { 0x49, 0x4C }, { 0x58, 0xE8 }, { 0x67, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetVelocity // ****************************************************************** -SOOVPA<8> IDirectSound_SetVelocity_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetVelocity_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSSETVELOCITYA }, { 0x05, 0x18 }, @@ -2341,21 +1866,16 @@ SOOVPA<8> IDirectSound_SetVelocity_1_0_5558 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::CreateSoundStream // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_CreateSoundStream_1_0_5558, 7, - XREF_DSCREATESOUNDSTREAM, // Xref Is Saved - XRefNotUsed, + XREF_DSCREATESOUNDSTREAM, + XRefZero) - { { 0x11, 0xD8 }, { 0x24, 0x05 }, { 0x37, 0x74 }, @@ -2363,21 +1883,16 @@ SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5558 = { 0x5D, 0xE8 }, { 0x70, 0x85 }, { 0x83, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_CreateSoundStream // ****************************************************************** -SOOVPA<8> IDirectSound_CreateSoundStream_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_CreateSoundStream_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSCREATESOUNDSTREAM }, { 0x03, 0x10 }, @@ -2387,21 +1902,16 @@ SOOVPA<8> IDirectSound_CreateSoundStream_1_0_5558 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetRolloffCurve // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558, 8, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x3E, XREF_DSVOICESETROLLOFFCURVE }, { 0x0C, 0x00 }, @@ -2411,21 +1921,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558 = { 0x3A, 0x24 }, { 0x46, 0x74 }, { 0x53, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetFrequency // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundStream_SetFrequency_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetFrequency_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSBUFFERSETFREQUENCYB }, { 0x00, 0x56 }, @@ -2436,1213 +1941,291 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetFrequency_1_0_5558 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct_1_0_5558 // ****************************************************************** -OOVPATable DSound_1_0_5558[] = -{ +OOVPATable DSound_1_0_5558[] = { + // DirectSoundCreate (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreate_1_0_4361, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_4361, XTL::EmuDirectSoundCreate), // CDirectSound_CreateSoundBuffer (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundBuffer (XREF)" - #endif - }, - // CDirectSound::SynchPlayback - { - (OOVPA*)&CDirectSound_SynchPlayback_1_0_5558, - - XTL::EmuCDirectSound_SynchPlayback, - - #ifdef _DEBUG_TRACE - "CDirectSound_SynchPlayback_1_0_5558" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundBuffer_1_0_4627), + // CDirectSound::SynchPlayback + OOVPA_TABLE_PATCH(CDirectSound_SynchPlayback_1_0_5558, XTL::EmuCDirectSound_SynchPlayback), // CMcpxStream::Pause - { - (OOVPA*)&CMcpxStream_Pause_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CMcpxStream_Pause (XREF)" - #endif - }, - // CDirectSoundStream::Pause - { - (OOVPA*)&CDirectSoundStream_Pause_1_0_5558, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_Pause" - #endif - }, - // CDirectSoundStream::Pause (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundStream_Pause_1_0_4361, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_Pause" - #endif - }, + OOVPA_TABLE_XREF(CMcpxStream_Pause_1_0_5558), + // CDirectSoundStream::Pause + OOVPA_TABLE_PATCH(CDirectSoundStream_Pause_1_0_5558, XTL::EmuCDirectSoundStream_Pause), + // CDirectSoundStream::Pause (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(CDirectSoundStream_Pause_1_0_4361, XTL::EmuCDirectSoundStream_Pause), // CDirectSoundVoiceSettings_SetMixBinVolumes (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627), // CDirectSoundVoice_SetMixBinVolumes (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBinVolumes_1_0_4627), // CDirectSoundBuffer_SetMixBinVolumes (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBinVolumes (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetMixBinVolumes (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBinVolumes" - #endif - }, - // IDirectSound8::CreateSoundBuffer (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, - - XTL::EmuIDirectSound8_CreateSoundBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateSoundBuffer" - #endif - }, - // CDirectSound::CommitDeferredSettings - { - (OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_5558, - - XTL::EmuCDirectSound_CommitDeferredSettings, - - #ifdef _DEBUG_TRACE - "EmuCDirectSound_CommitDeferredSettings" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMixBinVolumes_1_0_4627), + // IDirectSoundBuffer8_SetMixBinVolumes (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes), + // IDirectSound8::CreateSoundBuffer (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSound8_CreateSoundBuffer_1_0_4627, XTL::EmuIDirectSound8_CreateSoundBuffer), + // CDirectSound::CommitDeferredSettings + OOVPA_TABLE_PATCH(CDirectSound_CommitDeferredSettings_1_0_5558, XTL::EmuCDirectSound_CommitDeferredSettings), // CDirectSound::SetDistanceFactorA (XREF) - { - (OOVPA*)&CDirectSound_SetDistanceFactorA_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDistanceFactorA (XRef)" - #endif - }, - // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) - { - (OOVPA*)&IDirectSound8_SetDistanceFactor_1_0_4432, - - XTL::EmuIDirectSound8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDistanceFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDistanceFactorA_1_0_5558), + // IDirectSound8::SetDistanceFactor (* unchanged since 4432 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetDistanceFactor_1_0_4432, XTL::EmuIDirectSound8_SetDistanceFactor), // CDirectSound::SetRolloffFactor (XREF) - { - (OOVPA*)&CDirectSound_SetRolloffFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetRolloffFactor (XRef)" - #endif - }, - // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetRolloffFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetRolloffFactor_1_0_5558), + // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetRolloffFactor_1_0_4627, XTL::EmuIDirectSound8_SetRolloffFactor), // CDirectSound::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSound_SetDopplerFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDopplerFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetDopplerFactor_1_0_5558), // CDirectSoundStream::FlushEx (XREF) (* unchanged since 5233 *) - { - (OOVPA*)&CDirectSoundStream_FlushEx_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::FlushEx (XREF)" - #endif - }, - // IDirectSoundBuffer8::StopEx (* unchanged since 5233 *) - { - (OOVPA*)&IDirectSoundBuffer8_StopEx_1_0_5233, - - XTL::EmuIDirectSoundBuffer8_StopEx, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_StopEx" - #endif - }, - // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDopplerFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundStream_FlushEx_1_0_5233), + // IDirectSoundBuffer8::StopEx (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_StopEx_1_0_5233, XTL::EmuIDirectSoundBuffer8_StopEx), + // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetDopplerFactor_1_0_4627, XTL::EmuIDirectSound8_SetDopplerFactor), // CDirectSoundVoice::SetFrequency (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice_SetFrequency (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetFrequency_1_0_4627), // CDirectSoundBuffer::SetFrequency (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundBuffer_SetFrequency (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetFrequency_1_0_4627), // CDirectSoundStream::SetFrequency - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetFrequency_1_0_5558, - - XTL::EmuCDirectSoundStream_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetFrequency" - #endif - }, - // IDirectSoundBuffer8::SetFrequency (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetFrequency" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetFrequency_1_0_5558, XTL::EmuCDirectSoundStream_SetFrequency), + // IDirectSoundBuffer8::SetFrequency (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetFrequency_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetFrequency), // CMcpxVoiceClient_SetVolume - { - (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetVolume_1_0_5558), // CDirectSound_CreateSoundStream (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSound_CreateSoundStream_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, - // DirectSoundCreateStream (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreateStream_1_0_4361, - - XTL::EmuDirectSoundCreateStream, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateStream" - #endif - }, - // IDirectSound8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, - // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, - - XTL::EmuIDirectSound8_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_DownloadEffectsImage" - #endif - }, - // IDirectSound8::SetOrientation (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, - - XTL::EmuIDirectSound8_SetOrientation, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetOrientation" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundStream_1_0_4361), + // DirectSoundCreateStream (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(DirectSoundCreateStream_1_0_4361, XTL::EmuDirectSoundCreateStream), + // IDirectSound8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_DownloadEffectsImage_1_0_3936, XTL::EmuIDirectSound8_DownloadEffectsImage), + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetOrientation_1_0_3936, XTL::EmuIDirectSound8_SetOrientation), // CDirectSoundVoice::SetMaxDistance (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMaxDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMaxDistance_1_0_5558), // CDirectSoundBuffer::SetMaxDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMaxDistance_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMaxDistance (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMaxDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMaxDistance" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMaxDistance_1_0_5558), + // IDirectSoundBuffer_SetMaxDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMaxDistance_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetMaxDistance), // CDirectSoundVoice::SetMinDistance (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetMinDistance_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMinDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMinDistance_1_0_5558), // CDirectSoundBuffer::SetMinDistance (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetMinDistance_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMinDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMinDistance_1_0_5558), // CDirectSoundStream::SetRolloffCurve (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetRolloffCurve" - #endif - }, - // IDirectSoundBuffer_SetMinDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetMinDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMinDistance" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558), + // IDirectSoundBuffer_SetMinDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMinDistance_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetMinDistance), // CDirectSoundVoice::SetRolloffFactor (XREF) (* unchanged since 4627 *) /*{ THESE ARE NOT CORRECT - (OOVPA*)&CDirectSoundVoice_SetRolloffFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetRolloffFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetRolloffFactor_1_0_4627), // CDirectSoundBuffer::SetRolloffFactor (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundBuffer_SetRolloffFactor_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetRolloffFactor (XRef)" - #endif - }, - // IDirectSoundBuffer_SetRolloffFactor (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer_SetRolloffFactor_1_0_4627, - XTL::EmuIDirectSoundBuffer8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetRolloffFactor" - #endif - },*/ + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetRolloffFactor_1_0_4627), + // IDirectSoundBuffer_SetRolloffFactor (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetRolloffFactor_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetRolloffFactor), + }*/ // CDirectSoundVoice::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetDopplerFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetDopplerFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetDopplerFactor_1_0_5558), // CDirectSoundBuffer::SetDopplerFactor (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetDopplerFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetDopplerFactor (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetDopplerFactor - { - (OOVPA*)&IDirectSoundBuffer8_SetDopplerFactor_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetDopplerFactor" - #endif - }, - // IDirectSoundBuffer_Stop (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, - XTL::EmuIDirectSoundBuffer8_Stop, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Stop" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetDopplerFactor_1_0_5558), + // IDirectSoundBuffer8_SetDopplerFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetDopplerFactor_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetDopplerFactor), + // IDirectSoundBuffer_Stop (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Stop_1_0_4627, XTL::EmuIDirectSoundBuffer8_Stop), //// CDirectSound_SetMixBinHeadroom - //{ - // (OOVPA*)&CDirectSound_SetMixBinHeadroom_1_0_4627, 0, - - // #ifdef _DEBUG_TRACE - // "CDirectSound::SetMixBinHeadroom (XREF)" - // #endif - //}, - //// IDirectSound8_SetMixBinHeadroom - //{ - // (OOVPA*)&IDirectSound8_SetMixBinHeadroom_1_0_5558, - - // XTL::EmuIDirectSound8_SetMixBinHeadroom, - - // #ifdef _DEBUG_TRACE - // "EmuIDirectSound8_SetMixBinHeadroom" - // #endif - //}, + //OOVPA_TABLE_XREF(CDirectSound_SetMixBinHeadroom_1_0_4627), //// IDirectSound8_SetMixBinHeadroom + //OOVPA_TABLE_PATCH(IDirectSound8_SetMixBinHeadroom_1_0_5558, XTL::EmuIDirectSound8_SetMixBinHeadroom), // CDirectSound_SetI3DL2Listener - { - (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_5558, 0, + OOVPA_TABLE_XREF(CDirectSound_SetI3DL2Listener_1_0_5558), + // IDirectSound8_SetI3DL2Listener + OOVPA_TABLE_PATCH(IDirectSound8_SetI3DL2Listener_1_0_5558, XTL::EmuIDirectSound8_SetI3DL2Listener), - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF)" - #endif - }, - // IDirectSound8_SetI3DL2Listener - { - (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_5558, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener" - #endif - }, // IDirectSoundBuffer8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Release" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Release_1_0_3936, XTL::EmuIDirectSoundBuffer8_Release), // DirectSound::CFullHRTFSource::GetCenterVolume (XREF) - { - (OOVPA*)&DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558, - - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CFullHRTFSource::GetCenterVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CFullHRTFSource_GetCenterVolume_1_0_5558), // DirectSound::CHRTFSource::SetFullHRTF5Channel (XREF) - { - (OOVPA*)&DirectSound_CHRTFSource_SetFullHRTF5Channel_1_0_5558, - - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CHRTFSource::SetFullHRTF5Channel (XREF)" - #endif - }, - // DirectSoundUseFullHRTF - { - (OOVPA*)&DirectSoundUseFullHRTF_1_0_5558, - - XTL::EmuDirectSoundUseFullHRTF, - - #ifdef _DEBUG_TRACE - "DirectSoundUseFullHRTF" - #endif - }, - // DirectSoundDoWork - { - (OOVPA*)&DirectSoundDoWork_1_0_5558, - - XTL::EmuDirectSoundDoWork, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundDoWork" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CHRTFSource_SetFullHRTF5Channel_1_0_5558), + // DirectSoundUseFullHRTF + OOVPA_TABLE_PATCH(DirectSoundUseFullHRTF_1_0_5558, XTL::EmuDirectSoundUseFullHRTF), + // DirectSoundDoWork + OOVPA_TABLE_PATCH(DirectSoundDoWork_1_0_5558, XTL::EmuDirectSoundDoWork), // CDirectSoundBuffer::SetBufferData - { - (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetBufferData (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetBufferData" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetBufferData_1_0_5558), + // IDirectSoundBuffer8::SetBufferData + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetBufferData_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetBufferData), // CMcpxBuffer::SetCurrentPosition - { - (OOVPA*)&CMcpxBuffer_SetCurrentPosition_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetCurrentPosition_1_0_5558), // CDirectSoundBuffer::SetCurrentPosition - { - (OOVPA*)&CDirectSoundBuffer_SetCurrentPosition_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetCurrentPosition - { - (OOVPA*)&IDirectSoundBuffer8_SetCurrentPosition_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetCurrentPosition_1_0_5558), + // IDirectSoundBuffer8::SetCurrentPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetCurrentPosition_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetCurrentPosition), // DirectSound::CMcpxVoiceClient::SetLFO (XREF) - { - (OOVPA*)&CMcpxVoiceClient_SetLFO_1_0_5558,0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetLFO (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetLFO_1_0_5558), // CDirectSoundVoice::SetLFO (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetLFO_1_0_5558,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetLFO (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetLFO_1_0_5558), // CDirectSoundBuffer::SetLFO (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetLFO_1_0_5558,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetLFO (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetLFO - { - (OOVPA*)&IDirectSoundBuffer8_SetLFO_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetLFO, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetLFO" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetLFO_1_0_5558), + // IDirectSoundBuffer8::SetLFO + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetLFO_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetLFO), // CDirectSoundVoice::SetVolume (XREF) (* unchanged since 5233 *) - { - (OOVPA*)&CDirectSoundVoice_SetVolume_1_0_5233,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetVolume_1_0_5233), // CDirectSoundBuffer::SetVolume (XREF) (* unchanged since 5233 *) - { - (OOVPA*)&CDirectSoundBuffer_SetVolume_1_0_5233,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVolume (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetVolume (* unchanged since 5233 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetVolume_1_0_5233, - - XTL::EmuIDirectSoundBuffer8_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuIIDirectSoundBuffer8_SetVolume" - #endif - }, - // CDirectSoundStream_SetVolume (* unchanged since 4627 *) - { - (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, - - XTL::EmuCDirectSoundStream_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetVolume" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetVolume_1_0_5233), + // IDirectSoundBuffer8::SetVolume (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVolume_1_0_5233, XTL::EmuIDirectSoundBuffer8_SetVolume), + // CDirectSoundStream_SetVolume (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVolume_1_0_4627, XTL::EmuCDirectSoundStream_SetVolume), // CDirectSoundVoiceSettings_SetMixBins - { - (OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoiceSettings_SetMixBins_1_0_5558), // CDirectSoundVoice_SetMixBins - { - (OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBins_1_0_5558), // CDirectSoundBuffer_SetMixBins - { - (OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBins (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetMixBins - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetMixBins, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBins" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMixBins_1_0_5558), + // IDirectSoundBuffer8_SetMixBins + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBins_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetMixBins), // CDirectSoundBuffer::SetPlayRegion - { - (OOVPA*)&CDirectSoundBuffer_SetPlayRegion_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPlayRegion (XRef)" - #endif - }, - // IDirectSoundBuffer8::SetPlayRegion - { - (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetPlayRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPlayRegion" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetPlayRegion_1_0_5558), + // IDirectSoundBuffer8::SetPlayRegion + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPlayRegion_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetPlayRegion), // CDirectSoundBuffer::SetLoopRegion (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetLoopRegion_1_0_5558,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetLoopRegion (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetLoopRegion - { - (OOVPA*)&IDirectSoundBuffer8_SetLoopRegion_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetLoopRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetLoopRegion" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetLoopRegion_1_0_5558), + // IDirectSoundBuffer8::SetLoopRegion + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetLoopRegion_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetLoopRegion), // CMcpxBuffer::Play - { - (OOVPA*)&CMcpxBuffer_Play_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_Play_1_0_5558), // CDirectSoundBuffer::Play (XREF) - { - (OOVPA*)&CDirectSoundBuffer_Play_1_0_5558,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::Play (XREF)" - #endif - }, - // IDirectSoundBuffer_Play - { - (OOVPA*)&IDirectSoundBuffer8_Play_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_Play, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Play" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_Play_1_0_5558), + // IDirectSoundBuffer_Play + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Play_1_0_5558, XTL::EmuIDirectSoundBuffer8_Play), // CMcpxBuffer::GetStatus - { - (OOVPA*)&CMcpxBuffer_GetStatus_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetStatus (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatus_1_0_5558), // CDirectSoundBuffer::GetStatus - { - (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetStatus (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetStatus - { - (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_GetStatus, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_GetStatus" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetStatus_1_0_4627), + // IDirectSoundBuffer8::GetStatus + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetStatus_1_0_4627, XTL::EmuIDirectSoundBuffer8_GetStatus), // WaveFormat::CreateXboxAdpcmFormat (XREF) - { - (OOVPA*)&WaveFormat_CreateXboxAdpcmFormat_1_0_5558,0, - - #ifdef _DEBUG_TRACE - "WaveFormat::CreateXboxAdpcmFormat (XREF)" - #endif - }, + OOVPA_TABLE_XREF(WaveFormat_CreateXboxAdpcmFormat_1_0_5558), // XAudioCreateAdpcmFormat - { - (OOVPA*)&XAudioCreateAdpcmFormat_1_0_5558, - - XTL::EmuXAudioCreateAdpcmFormat, - - #ifdef _DEBUG_TRACE - "XAudioCreateAdpcmFormat" - #endif - }, + OOVPA_TABLE_PATCH(XAudioCreateAdpcmFormat_1_0_5558, XTL::EmuXAudioCreateAdpcmFormat), // CDirectSoundVoice::SetFormat (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetFormat_1_0_5558, 0, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetFormat_1_0_5558), - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetFormat (XREF)" - #endif - - }, // CDirectSoundBuffer::SetFormat (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetFormat_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetFormat (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetFormat - { - (OOVPA*)&IDirectSoundBuffer8_SetFormat_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetFormat, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetFormat" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetFormat_1_0_5558), + // IDirectSoundBuffer8_SetFormat + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetFormat_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetFormat), // CDirectSoundVoice::SetConeAngles (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetConeAngles_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetConeAngles (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetConeAngles_1_0_5558), // CDirectSoundBuffer::SetConeAngles (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetConeAngles_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetConeAngles (XRef)" - #endif - }, - // IDirectSoundBuffer_SetConeAngles - { - (OOVPA*)&IDirectSoundBuffer8_SetConeAngles_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetConeAngles, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetConeAngles" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetConeAngles_1_0_5558), + // IDirectSoundBuffer_SetConeAngles + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetConeAngles_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetConeAngles), // CDirectSoundVoice::SetRolloffCurve (XREF) (* unchanged since 5233 *) - { - (OOVPA*)&CDirectSoundVoice_SetRolloffCurve_1_0_5233, 0, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetRolloffCurve_1_0_5233), - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetRolloffCurve (XREF)" - #endif - - }, // CDirectSoundBuffer::SetRolloffCurve (XREF) (* unchanged since 5233 *) - { - (OOVPA*)&CDirectSoundBuffer_SetRolloffCurve_1_0_5233, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetRolloffCurve (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetRolloffCurve_1_0_5233), // CDirectSoundStream::SetRolloffCurve - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558, - XTL::EmuCDirectSoundStream_SetRolloffCurve, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetRolloffCurve_1_0_5558, XTL::EmuCDirectSoundStream_SetRolloffCurve), + // IDirectSoundBuffer8::SetRolloffCurve (* unchanged since 5233 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetRolloffCurve_1_0_5233, XTL::EmuIDirectSoundBuffer8_SetRolloffCurve), - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetRolloffCurve" - #endif - }, - // IDirectSoundBuffer8::SetRolloffCurve (* unchanged since 5233 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetRolloffCurve_1_0_5233, - - XTL::EmuIDirectSoundBuffer8_SetRolloffCurve, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetRolloffCurve" - #endif - }, // CDirectSoundVoice::CommitDeferredSettings (XREF) - { - (OOVPA*)&CDirectSoundVoice_CommitDeferredSettings_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::CommitDeferredSettings (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_CommitDeferredSettings_1_0_5558), // CDirectSoundVoice::SetAllParameters (XREF) /*{ - (OOVPA*)&CDirectSoundVoice_SetAllParameters_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetAllParameters (XREF)*************" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetAllParameters_1_0_5558), // CDirectSoundBuffer::SetAllParameters (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetAllParameters_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetAllParameters (XREF)***************" - #endif - }, - // IDirectSoundBuffer8::SetAllParameters - { - (OOVPA*)&IDirectSoundBuffer8_SetAllParameters_1_0_5558, - - XTL::EmuIDirectSound8_SetAllParameters, // Use that for now, EmuIDirectSoundBuffer8_SetAllParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetAllParameters***************" - #endif - },*/ + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetAllParameters_1_0_5558), + // IDirectSoundBuffer8::SetAllParameters + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetAllParameters_1_0_5558, XTL::EmuIDirectSound8_SetAllParameters), // Use that for now, EmuIDirectSoundBuffer8_SetAllParameters, + */ // CDirectSoundVoice::SetPosition (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetPosition_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetPosition (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetPosition_1_0_5558), // CDirectSoundBuffer::SetPosition (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPosition (XRef)" - #endif - }, - // IDirectSoundBuffer_SetPosition - { - (OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetPosition_1_0_5558), + // IDirectSoundBuffer_SetPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPosition_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetPosition), // CDirectSoundVoice::SetVelocity (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetVelocity_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVelocity (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetVelocity_1_0_5558), // CDirectSoundBuffer::SetVelocity (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVelocity (XRef)" - #endif - }, - // IDirectSoundBuffer::SetVelocity - { - (OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetVelocity, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetVelocity_1_0_5558), + // IDirectSoundBuffer::SetVelocity + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetVelocity_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetVelocity), // CDirectSoundVoice::SetDistanceFactor (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetDistanceFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetDistanceFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetDistanceFactor_1_0_5558), // CDirectSoundBuffer::SetDistanceFactor (XREF) - { - (OOVPA*)&CDirectSoundBuffer_SetDistanceFactor_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetDistanceFactor (XRef)" - #endif - }, - // IDirectSoundBuffer_SetDistanceFactor - { - (OOVPA*)&IDirectSoundBuffer8_SetDistanceFactor_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetDistanceFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetDistanceFactor" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetDistanceFactor_1_0_5558), + // IDirectSoundBuffer_SetDistanceFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetDistanceFactor_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetDistanceFactor), // IDirectSoundStream::SetVolume (* unchanged since 5233 *) // (This is actually the XREF we are using) - { - (OOVPA*)&CDirectSoundStream_SetVolume_1_0_5233, - - XTL::EmuIDirectSoundStream_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundStream_SetVolume" - #endif - }, - // DirectSoundCreateBuffer - { - (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, - - XTL::EmuDirectSoundCreateBuffer, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateBuffer" - #endif - }, + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVolume_1_0_5233, XTL::EmuIDirectSoundStream_SetVolume), + // DirectSoundCreateBuffer + OOVPA_TABLE_PATCH(DirectSoundCreateBuffer_1_0_4627, XTL::EmuDirectSoundCreateBuffer), // IDirectSoundBuffer_Lock - { - (OOVPA*)&IDirectSoundBuffer_Lock_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Lock" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Lock_1_0_5558, XTL::EmuIDirectSoundBuffer8_Lock), // CDirectSoundVoice::SetI3DL2Source (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetI3DL2Source (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetI3DL2Source_1_0_5558), // CDirectSoundBuffer::SetI3DL2Source (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetI3DL2Source_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetI3DL2Source (XREF)" - #endif - }, - // IDirectSoundBuffer_SetI3DL2Source - { - (OOVPA*)&IDirectSoundBuffer_SetI3DL2Source_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetI3DL2Source, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetI3DL2Source" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetI3DL2Source_1_0_5558), + // IDirectSoundBuffer_SetI3DL2Source + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetI3DL2Source_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetI3DL2Source), // CDirectSoundVoice::SetAllParameters (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetAllParameters_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetAllParameters (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetAllParameters_1_0_5558), // CDirectSoundBuffer::SetAllParameters (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetAllParameters (XREF)" - #endif - }, - // IDirectSoundBuffer_SetAllParameters - { - (OOVPA*)&IDirectSoundBuffer_SetAllParameters_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_SetAllParameters, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetAllParameters" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetAllParameters_1_0_5558), + // IDirectSoundBuffer_SetAllParameters + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetAllParameters_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetAllParameters), // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoice::SetHeadroom (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5558), // DirectSound::CDirectSoundBuffer::SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5558, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::SetHeadroom (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5558), // IDirectSoundBuffer_SetHeadroom - { - (OOVPA*)&IDirectSoundBuffer_SetHeadroom_1_0_5558, - XTL::EmuIDirectSoundBuffer8_SetHeadroom, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetHeadroom" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetHeadroom_1_0_5558, XTL::EmuIDirectSoundBuffer8_SetHeadroom), // DirectSound::CDirectSoundStream::SetHeadroom - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558, - XTL::EmuIDirectSoundStream_SetHeadroom, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundStream::SetHeadroom" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetHeadroom_1_0_5558, XTL::EmuIDirectSoundStream_SetHeadroom), // CDirectSoundBuffer::GetCurrentPosition - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetCurrentPosition - { - (OOVPA*)&IDirectSoundBuffer_GetCurrentPosition_1_0_5558, - - XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_GetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5558), + // IDirectSoundBuffer8::GetCurrentPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer_GetCurrentPosition_1_0_5558, XTL::EmuIDirectSoundBuffer8_GetCurrentPosition), // CDirectSoundStream::SetFormat (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetFormat_1_0_5558, - XTL::EmuCDirectSoundStream_SetFormat, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetFormat" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetFormat_1_0_5558, XTL::EmuCDirectSoundStream_SetFormat), // CDirectSoundStream_SetMixBins - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBins_1_0_5558, - XTL::EmuCDirectSoundStream_SetMixBins, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetMixBins" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetMixBins_1_0_5558, XTL::EmuCDirectSoundStream_SetMixBins), // CDirectSound_SetMixBinHeadroom - { - (OOVPA*)&DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetMixBinHeadroom (XREF)" - #endif - }, - // IDirectSound8_SetMixBinHeadroom - { - (OOVPA*)&IDirectSound_SetMixBinHeadroom_1_0_5558, - - XTL::EmuIDirectSound8_SetMixBinHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetMixBinHeadroom" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5558), + // IDirectSound8_SetMixBinHeadroom + OOVPA_TABLE_PATCH(IDirectSound_SetMixBinHeadroom_1_0_5558, XTL::EmuIDirectSound8_SetMixBinHeadroom), // DirectSound::CDirectSound::EnableHeadphones (XRef) - { - (OOVPA*)&DirectSound_CDirectSound_EnableHeadphones_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSound::EnableHeadphones (XRef)" - #endif - }, - // IDirectSound8::EnableHeadphones - { - (OOVPA*)&IDirectSound_EnableHeadphones_1_0_5558, - - XTL::EmuIDirectSound8_EnableHeadphones, - - #ifdef _DEBUG_TRACE - "IDirectSound8_EnableHeadphones" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_EnableHeadphones_1_0_5558), + // IDirectSound8::EnableHeadphones + OOVPA_TABLE_PATCH(IDirectSound_EnableHeadphones_1_0_5558, XTL::EmuIDirectSound8_EnableHeadphones), // DirectSound::CDirectSound::GetOutputLevels (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_GetOutputLevels_1_0_5558, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSound::GetOutputLevels (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_GetOutputLevels_1_0_5558), // IDirectSound_GetOutputLevels - { - (OOVPA*)&IDirectSound_GetOutputLevels_1_0_5558, - XTL::EmuIDirectSound8_GetOutputLevels, - - #ifdef _DEBUG_TRACE - "IDirectSound_GetOutputLevels" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound_GetOutputLevels_1_0_5558, XTL::EmuIDirectSound8_GetOutputLevels), // XAudioDownloadEffectsImage - { - (OOVPA*)&XAudioDownloadEffectsImage_1_0_5558, - XTL::EmuXAudioDownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "XAudioDownloadEffectsImage" - #endif - }, + OOVPA_TABLE_PATCH(XAudioDownloadEffectsImage_1_0_5558, XTL::EmuXAudioDownloadEffectsImage), // CDirectSound::SetPosition (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetPosition_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetPosition (XRef)" - #endif - }, - // IDirectSound8::SetPosition - { - (OOVPA*)&IDirectSound_SetPosition_1_0_5558, - - XTL::EmuIDirectSound8_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetPosition_1_0_5558), + // IDirectSound8::SetPosition + OOVPA_TABLE_PATCH(IDirectSound_SetPosition_1_0_5558, XTL::EmuIDirectSound8_SetPosition), // CDirectSound::SetVelocity (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetVelocity_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetVelocity (XRef)" - #endif - }, - // IDirectSound8::SetVelocity - { - (OOVPA*)&IDirectSound_SetVelocity_1_0_5558, - - XTL::EmuIDirectSound8_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetVelocity_1_0_5558), + // IDirectSound8::SetVelocity + OOVPA_TABLE_PATCH(IDirectSound_SetVelocity_1_0_5558, XTL::EmuIDirectSound8_SetVelocity), // CDirectSound_CreateSoundStream - { - (OOVPA*)&DirectSound_CDirectSound_CreateSoundStream_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_CreateSoundStream_1_0_5558), // IDirectSound_CreateSoundStream - { - (OOVPA*)&IDirectSound_CreateSoundStream_1_0_5558, - XTL::EmuIDirectSound8_CreateStream, - - #ifdef _DEBUG_TRACE - "IDirectSound_CreateSoundStream" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound_CreateSoundStream_1_0_5558, XTL::EmuIDirectSound8_CreateStream), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 2e4a2136a..87ed960c8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -35,15 +35,11 @@ // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -SOOVPA<11> CMcpxBuffer_GetStatus_1_0_5849 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_GetStatus_1_0_5849, 11, - XREF_DSBUFFERGETSTATUSA, // XRef Is Saved - 0, // XRef Not Used + XREF_DSBUFFERGETSTATUSA, + XRefZero) - { // CMcpxBuffer_GetStatus+0x04 : mov ecx, eax { 0x04, 0x8B }, // (Offset,Value)-Pair #1 { 0x05, 0xC8 }, // (Offset,Value)-Pair #2 @@ -62,21 +58,16 @@ SOOVPA<11> CMcpxBuffer_GetStatus_1_0_5849 = { 0x2A, 0x01 }, // (Offset,Value)-Pair #9 { 0x2B, 0x80 }, // (Offset,Value)-Pair #10 { 0x2C, 0x00 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * CDirectSound_SetI3DL2Listener // ****************************************************************** -SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(CDirectSound_SetI3DL2Listener_1_0_5849, 8, - XREF_DSSETI3DL2LISTENER, // Xref Is Saved - XRefNotUsed, + XREF_DSSETI3DL2LISTENER, + XRefZero) - { { 0x1D, 0xFF }, { 0x3C, 0x00 }, { 0x5B, 0x9A }, @@ -85,21 +76,16 @@ SOOVPA<8> CDirectSound_SetI3DL2Listener_1_0_5849 = { 0xB8, 0x50 }, { 0xD7, 0x00 }, { 0xF6, 0x68 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound8_SetI3DL2Listener // ****************************************************************** -SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound8_SetI3DL2Listener_1_0_5849, 9, - XRefNotSaved, - 1, // Xref is used + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETI3DL2LISTENER }, { 0x02, 0x24 }, @@ -110,21 +96,16 @@ SOOVPA<9> IDirectSound8_SetI3DL2Listener_1_0_5849 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_SetBufferData // ****************************************************************** -SOOVPA<9> CMcpxBuffer_SetBufferData_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(CMcpxBuffer_SetBufferData_1_0_5849, 9, - XREF_DSSETBUFFERDATA, // XRef Is Saved - XRefNotUsed, + XREF_DSSETBUFFERDATA, + XRefZero) - { // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx { 0x1E, 0x3B }, // (Offset,Value)-Pair #1 { 0x1F, 0xC3 }, // (Offset,Value)-Pair #2 @@ -141,21 +122,16 @@ SOOVPA<9> CMcpxBuffer_SetBufferData_1_0_5849 = // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 { 0x89, 0xC2 }, // (Offset,Value)-Pair #8 { 0x8A, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFormat // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetFormat_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetFormat_1_0_5849, 7, - XREF_DirectSound_CDirectSoundVoice_SetFormat, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetFormat, + XRefZero) - { { 0x07, 0x10 }, { 0x13, 0x85 }, { 0x19, 0x10 }, @@ -163,21 +139,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetFormat_1_0_5849 = { 0x2B, 0x14 }, { 0x34, 0x85 }, { 0x40, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetFormat // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849, 8, - XREF_DirectSound_CDirectSoundBuffer_SetFormat, // Xref Is Saved - 1, + XREF_DirectSound_CDirectSoundBuffer_SetFormat, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetFormat }, { 0x0C, 0x00 }, @@ -187,21 +158,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8_SetFormat // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetFormat_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetFormat }, { 0x02, 0x24 }, @@ -211,21 +177,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetFormat_1_0_5849 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * CMcpxBuffer_Play // ****************************************************************** -SOOVPA<11> CMcpxBuffer_Play_1_0_5849 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(CMcpxBuffer_Play_1_0_5849, 11, - XREF_DirectSound_CMcpxBuffer_Play, // XRef Is Saved - 0, // XRef Not Used + XREF_DirectSound_CMcpxBuffer_Play, + XRefZero) - { // CMcpxBuffer_Play+0x0B : test dword ptr [eax+8], 0x182000 { 0x0B, 0xF7 }, // (Offset,Value)-Pair #1 { 0x0C, 0x40 }, // (Offset,Value)-Pair #2 @@ -244,21 +205,16 @@ SOOVPA<11> CMcpxBuffer_Play_1_0_5849 = { 0xA4, 0xFF }, // (Offset,Value)-Pair #9 { 0xA5, 0x50 }, // (Offset,Value)-Pair #10 { 0xA6, 0x1C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::Play // ****************************************************************** -SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CMcpxBuffer_Play_1_0_5849, 8, - XREF_DirectSound_CMcpxBuffer_Play, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxBuffer_Play, + XRefZero) - { { 0x06, 0x56 }, { 0x0E, 0xF1 }, { 0x16, 0xFF }, @@ -267,21 +223,16 @@ SOOVPA<8> DirectSound_CMcpxBuffer_Play_1_0_5849 = { 0x26, 0x75 }, { 0x2F, 0x8B }, { 0x36, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::Play // ****************************************************************** -SOOVPA<7> DirectSound_CMcpxBuffer_Play2_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CMcpxBuffer_Play2_1_0_5849, 7, - XREF_DirectSound_CMcpxBuffer_Play2, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxBuffer_Play2, + XRefZero) - { { 0x17, 0x43 }, { 0x2D, 0xF6 }, { 0x2E, 0xC3 }, @@ -289,21 +240,16 @@ SOOVPA<7> DirectSound_CMcpxBuffer_Play2_1_0_5849 = { 0xAD, 0xC2 }, { 0xAE, 0x04 }, { 0xAF, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::Play // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundBuffer_Play_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_Play_1_0_5849, 9, - XREF_DSOUNDPLAY2, // Xref Is Saved - XRefNotUsed, + XREF_DSOUNDPLAY2, + XRefZero) - { { 0x0C, 0x00 }, { 0x14, 0x74 }, { 0x21, 0xB8 }, @@ -313,21 +259,16 @@ SOOVPA<9> DirectSound_CDirectSoundBuffer_Play_1_0_5849 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Play // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_Play_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_Play_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSOUNDPLAY2 }, { 0x03, 0x10 }, @@ -337,21 +278,16 @@ SOOVPA<8> IDirectSoundBuffer_Play_1_0_5849 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetHeadroom // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849, 7, - XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, + XRefZero) - { { 0x03, 0x04 }, { 0x08, 0x48 }, { 0x0D, 0x24 }, @@ -359,21 +295,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849 = { 0x17, 0x8B }, { 0x1F, 0x5E }, { 0x21, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetHeadroom // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849, 8, - XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved - 1, + XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, { 0x0C, 0x00 }, @@ -383,21 +314,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetHeadroom // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetHeadroom_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom }, { 0x02, 0x24 }, @@ -407,21 +333,13 @@ SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_5849 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Lock // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IDirectSoundBuffer_Lock_1_0_5849, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x75 }, { 0x0A, 0x75 }, { 0x10, 0x1C }, @@ -430,21 +348,16 @@ SOOVPA<8> IDirectSoundBuffer_Lock_1_0_5849 = { 0x22, 0xC8 }, { 0x2C, 0x5D }, { 0x2E, 0x20 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoiceSettings::SetMixBins // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849, 7, - XREF_DSSETMIXBINSC, // Xref Is Saved - XRefNotUsed, + XREF_DSSETMIXBINSC, + XRefZero) - { { 0x1B, 0xEB }, { 0x32, 0x8B }, { 0x4C, 0x7C }, @@ -452,21 +365,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849 = { 0x84, 0xF6 }, { 0x9A, 0xB4 }, { 0xB4, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMixBins // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849, 8, - XREF_DSSETMIXBINSB, // Xref Is Saved - 1, + XREF_DSSETMIXBINSB, + XRefOne) - { { 0x0D, XREF_DSSETMIXBINSC }, { 0x02, 0x74 }, @@ -476,21 +384,16 @@ SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849 = { 0x12, 0x4E }, { 0x19, 0x5E }, { 0x1A, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetMixBins // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849, 8, - XREF_DSSETMIXBINSA, // Xref Is Saved - 1, + XREF_DSSETMIXBINSA, + XRefOne) - { { 0x32, XREF_DSSETMIXBINSB }, { 0x0C, 0x00 }, @@ -500,21 +403,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetMixBins_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSSETMIXBINSB }, { 0x00, 0x56 }, @@ -525,21 +423,16 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBins_1_0_5849 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMixBins // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetMixBins_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSSETMIXBINSA }, { 0x02, 0x24 }, @@ -549,21 +442,16 @@ SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_5849 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetMixBinHeadroom // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849, 8, - XREF_DSSETMIXBINHEADROOMA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETMIXBINHEADROOMA, + XRefZero) - { { 0x0C, 0x00 }, { 0x16, 0x68 }, { 0x22, 0x05 }, @@ -572,21 +460,16 @@ SOOVPA<8> DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849 = { 0x46, 0x85 }, { 0x52, 0x15 }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetMixBinHeadroom // ****************************************************************** -SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSound_SetMixBinHeadroom_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DSSETMIXBINHEADROOMA }, { 0x02, 0x24 }, @@ -597,21 +480,16 @@ SOOVPA<9> IDirectSound_SetMixBinHeadroom_1_0_5849 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetPosition // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_SetPosition_1_0_5849, 7, - XREF_DSSETPOSITIONA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETPOSITIONA, + XRefZero) - { { 0x0F, 0x00 }, { 0x1E, 0xFF }, { 0x2B, 0x8B }, @@ -619,21 +497,16 @@ SOOVPA<7> DirectSound_CDirectSound_SetPosition_1_0_5849 = { 0x49, 0x40 }, { 0x58, 0xE8 }, { 0x67, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetPosition // ****************************************************************** -SOOVPA<8> IDirectSound_SetPosition_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetPosition_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSSETPOSITIONA }, { 0x05, 0x18 }, @@ -643,21 +516,16 @@ SOOVPA<8> IDirectSound_SetPosition_1_0_5849 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetVelocity // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_SetVelocity_1_0_5849, 7, - XREF_DSSETVELOCITYA, // Xref Is Saved - XRefNotUsed, + XREF_DSSETVELOCITYA, + XRefZero) - { { 0x0F, 0x00 }, { 0x1E, 0xFF }, { 0x2B, 0x8B }, @@ -665,21 +533,16 @@ SOOVPA<7> DirectSound_CDirectSound_SetVelocity_1_0_5849 = { 0x49, 0x4C }, { 0x58, 0xE8 }, { 0x67, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetVelocity // ****************************************************************** -SOOVPA<8> IDirectSound_SetVelocity_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSound_SetVelocity_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSSETVELOCITYA }, { 0x05, 0x18 }, @@ -689,21 +552,16 @@ SOOVPA<8> IDirectSound_SetVelocity_1_0_5849 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::CommitDeferredSettings // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849, 7, - XREF_COMMITDEFERREDSETTINGSA, // Xref Is Saved - XRefNotUsed, + XREF_COMMITDEFERREDSETTINGSA, + XRefZero) - { { 0x12, 0xC0 }, { 0x27, 0xB8 }, { 0x3A, 0x75 }, @@ -711,21 +569,16 @@ SOOVPA<7> DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849 = { 0x62, 0x8B }, { 0x76, 0x89 }, { 0x8E, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::SetCurrentPosition // ****************************************************************** -SOOVPA<7> DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849, 7, - XREF_DSBUFFERSETCURRENTPOSITIONB, // Xref Is Saved - XRefNotUsed, + XREF_DSBUFFERSETCURRENTPOSITIONB, + XRefZero) - { { 0x1D, 0x00 }, { 0x3C, 0x66 }, { 0x5B, 0x00 }, @@ -733,21 +586,16 @@ SOOVPA<7> DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849 = { 0x99, 0xD1 }, { 0xB8, 0x89 }, { 0xDB, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetCurrentPosition // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849, 8, - XREF_DSBUFFERSETCURRENTPOSITIONA, // Xref Is Saved - 1, + XREF_DSBUFFERSETCURRENTPOSITIONA, + XRefOne) - { { 0x35, XREF_DSBUFFERSETCURRENTPOSITIONB }, { 0x0C, 0x00 }, @@ -757,21 +605,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetCurrentPosition // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetCurrentPosition_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA }, { 0x02, 0x24 }, @@ -781,21 +624,16 @@ SOOVPA<8> IDirectSoundBuffer_SetCurrentPosition_1_0_5849 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::GetCurrentPosition // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849, 7, - XREF_GETCURRENTPOSITION, // Xref Is Saved - XRefNotUsed, + XREF_GETCURRENTPOSITION, + XRefZero) - { { 0x0C, 0x00 }, { 0x14, 0x74 }, { 0x21, 0xB8 }, @@ -803,21 +641,16 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849 = { 0x35, 0x74 }, { 0x40, 0xF8 }, { 0x4E, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_GetCurrentPosition // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_GETCURRENTPOSITION }, { 0x02, 0x24 }, @@ -828,21 +661,16 @@ SOOVPA<9> IDirectSoundBuffer_GetCurrentPosition_1_0_5849 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetLoopRegion // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849, 7, - XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion, + XRefZero) - { { 0x0F, 0x00 }, { 0x24, 0xB8 }, { 0x31, 0x55 }, @@ -850,21 +678,16 @@ SOOVPA<7> DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849 = { 0x53, 0x00 }, { 0x64, 0x8B }, { 0x77, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetLoopRegion // ****************************************************************** -SOOVPA<9> IDirectSoundBuffer_SetLoopRegion_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_DirectSound_CDirectSoundBuffer_SetLoopRegion }, { 0x02, 0x24 }, @@ -875,21 +698,16 @@ SOOVPA<9> IDirectSoundBuffer_SetLoopRegion_1_0_5849 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::Stop // ****************************************************************** -SOOVPA<8> DirectSound_CMcpxBuffer_Stop_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CMcpxBuffer_Stop_1_0_5849, 8, - XREF_DSOUNDSTOP, // Xref Is Saved - XRefNotUsed, + XREF_DSOUNDSTOP, + XRefZero) - { { 0x06, 0x56 }, { 0x0E, 0xF1 }, { 0x16, 0xFF }, @@ -898,21 +716,16 @@ SOOVPA<8> DirectSound_CMcpxBuffer_Stop_1_0_5849 = { 0x26, 0x75 }, { 0x2F, 0x8B }, { 0x36, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::StopEx // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_StopEx_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_StopEx_1_0_5849, 8, - XREF_DSOUNDSTOP2, // Xref Is Saved - 1, + XREF_DSOUNDSTOP2, + XRefOne) - { { 0x3D, XREF_DSOUNDSTOP }, { 0x0C, 0x00 }, @@ -922,21 +735,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_StopEx_1_0_5849 = { 0x3A, 0x24 }, { 0x46, 0x0B }, { 0x52, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_StopEx // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_StopEx_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSOUNDSTOP2 }, { 0x03, 0x10 }, @@ -946,21 +754,16 @@ SOOVPA<8> IDirectSoundBuffer_StopEx_1_0_5849 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetRolloffFactor // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSound_SetRolloffFactor_1_0_5849, 9, - XREF_SETROLLOFFFACTORA, // Xref Is Saved - XRefNotUsed, + XREF_SETROLLOFFFACTORA, + XRefZero) - { { 0x0C, 0x00 }, { 0x16, 0x68 }, { 0x22, 0x05 }, @@ -970,21 +773,16 @@ SOOVPA<9> DirectSound_CDirectSound_SetRolloffFactor_1_0_5849 = { 0x4A, 0x85 }, { 0x53, 0xFF }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetDopplerFactor // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSound_SetDopplerFactor_1_0_5849, 9, - XREF_SETDOPPLERFACTOR, // Xref Is Saved - XRefNotUsed, + XREF_SETDOPPLERFACTOR, + XRefZero) - { { 0x0C, 0x00 }, { 0x16, 0x68 }, { 0x22, 0x05 }, @@ -994,42 +792,32 @@ SOOVPA<9> DirectSound_CDirectSound_SetDopplerFactor_1_0_5849 = { 0x4A, 0x85 }, { 0x53, 0xFF }, { 0x5E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetPitch // ****************************************************************** -SOOVPA<6> DirectSound_CDirectSoundVoice_SetPitch_1_0_5849 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetPitch_1_0_5849, 6, - XREF_DSBUFFERSETPITCHB, // Xref Is Saved - XRefNotUsed, + XREF_DSBUFFERSETPITCHB, + XRefZero) - { { 0x02, 0x24 }, { 0x06, 0x10 }, { 0x0A, 0x08 }, { 0x0E, 0x8B }, { 0x16, 0xC2 }, { 0x17, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetPitch // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849, 8, - XREF_DSBUFFERSETPITCHA, // Xref Is Saved - 1, + XREF_DSBUFFERSETPITCHA, + XRefOne) - { { 0x32, XREF_DSBUFFERSETPITCHB }, { 0x0C, 0x00 }, @@ -1039,21 +827,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetPitch // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer8_SetPitch_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DSBUFFERSETPITCHA }, { 0x02, 0x24 }, @@ -1063,21 +846,16 @@ SOOVPA<8> IDirectSoundBuffer8_SetPitch_1_0_5849 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMaxDistance // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849, 7, - XREF_DSVOICESETMAXDISTANCE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETMAXDISTANCE, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x3C }, @@ -1085,21 +863,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMinDistance // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849, 7, - XREF_DSVOICESETMINDISTANCE, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETMINDISTANCE, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x38 }, @@ -1107,21 +880,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetMaxDistance // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849, 8, - XREF_DSBUFFERSETMAXDISTANCE, // Xref Is Saved - 1, + XREF_DSBUFFERSETMAXDISTANCE, + XRefOne) - { { 0x3A, XREF_DSVOICESETMAXDISTANCE }, { 0x0C, 0x00 }, @@ -1131,21 +899,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetMinDistance // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849, 8, - XREF_DSBUFFERSETMINDISTANCE, // Xref Is Saved - 1, + XREF_DSBUFFERSETMINDISTANCE, + XRefOne) - { { 0x3A, XREF_DSVOICESETMINDISTANCE }, { 0x0C, 0x00 }, @@ -1155,21 +918,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETMAXDISTANCE }, { 0x03, 0x0C }, @@ -1179,21 +937,16 @@ SOOVPA<8> IDirectSoundBuffer_SetMaxDistance_1_0_5849 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetMinDistance_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETMINDISTANCE }, { 0x03, 0x0C }, @@ -1203,21 +956,16 @@ SOOVPA<8> IDirectSoundBuffer_SetMinDistance_1_0_5849 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetVolume // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetVolume_1_0_5849, 7, - XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CDirectSoundVoice_SetVolume, + XRefZero) - { { 0x02, 0x24 }, { 0x06, 0x10 }, { 0x0A, 0x08 }, @@ -1225,21 +973,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_5849 = { 0x12, 0x49 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetVolume // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849, 8, - XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved - 1, + XREF_DirectSound_CDirectSoundBuffer_SetVolume, + XRefOne) - { { 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume }, { 0x0C, 0x00 }, @@ -1249,22 +992,17 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849 = { 0x30, 0x10 }, { 0x3A, 0x74 }, { 0x47, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetVolume // ****************************************************************** // * Not until we need it! -//SOOVPA<9> DirectSound_CDirectSoundStream_SetVolume_1_0_5849 = -//{ -// 0, // Large == 0 -// 9, // Count == 9 +//OOVPA_XREF(DirectSound_CDirectSoundStream_SetVolume_1_0_5849, 9, // -// XREF_DirectSound_CDirectSoundStream_SetVolume, // Xref Is Saved -// XRefNotUsed, +// XREF_DirectSound_CDirectSoundStream_SetVolume, +// XRefOne) // -// { // { 0x36, XREF_DirectSound_CDirectSoundVoice_SetVolume }, // // { 0x00, 0x56 }, @@ -1275,21 +1013,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849 = // { 0x35, 0xE8 }, // { 0x40, 0x68 }, // { 0x4B, 0x8B }, -// } -//}; +//OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetVolume // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetVolume_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume }, { 0x02, 0x24 }, @@ -1299,21 +1032,16 @@ SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_5849 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::PlayEx // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849, 8, - XREF_DirectSound_CDirectSoundBuffer_PlayEx, // Xref Is Saved - 1, + XREF_DirectSound_CDirectSoundBuffer_PlayEx, + XRefOne) - { { 0x3D, XREF_DirectSound_CMcpxBuffer_Play }, { 0x0C, 0x00 }, @@ -1323,21 +1051,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849 = { 0x3A, 0x24 }, { 0x46, 0x0B }, { 0x52, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_PlayEx // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_PlayEx_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DirectSound_CDirectSoundBuffer_PlayEx }, { 0x03, 0x10 }, @@ -1347,21 +1070,16 @@ SOOVPA<8> IDirectSoundBuffer_PlayEx_1_0_5849 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetRolloffFactor // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849, 7, - XREF_DSVOICESETROLLOFFFACTOR, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETROLLOFFFACTOR, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x48 }, @@ -1369,21 +1087,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetRolloffFactor // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849, 8, - XREF_DSBUFFERSETROLLOFFFACTOR, // Xref Is Saved - 1, + XREF_DSBUFFERSETROLLOFFFACTOR, + XRefOne) - { { 0x3A, XREF_DSVOICESETROLLOFFFACTOR }, { 0x0C, 0x00 }, @@ -1393,21 +1106,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetRolloffFactor // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetRolloffFactor_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetRolloffFactor_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETROLLOFFFACTOR }, { 0x03, 0x0C }, @@ -1417,21 +1125,16 @@ SOOVPA<8> IDirectSoundBuffer_SetRolloffFactor_1_0_5849 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849, 7, - XREF_DSVOICESETDOPPLERFACTOR, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETDOPPLERFACTOR, + XRefZero) - { { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x4C }, @@ -1439,21 +1142,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849 = { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetDopplerFactor // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849, 8, - XREF_DSBUFFERSETDOPPLERFACTOR, // Xref Is Saved - 1, + XREF_DSBUFFERSETDOPPLERFACTOR, + XRefOne) - { { 0x3A, XREF_DSVOICESETDOPPLERFACTOR }, { 0x0C, 0x00 }, @@ -1463,21 +1161,16 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849 = { 0x35, 0xFF }, { 0x40, 0x8B }, { 0x4F, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetDopplerFactor // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetDopplerFactor_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetDopplerFactor_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_DSBUFFERSETDOPPLERFACTOR }, { 0x03, 0x0C }, @@ -1487,21 +1180,16 @@ SOOVPA<8> IDirectSoundBuffer_SetDopplerFactor_1_0_5849 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetPosition // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetPosition_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetPosition_1_0_5849, 7, - XREF_DSVOICESETPOSITION, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETPOSITION, + XRefZero) - { { 0x09, 0x8B }, { 0x14, 0x08 }, { 0x1F, 0x55 }, @@ -1509,21 +1197,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetPosition_1_0_5849 = { 0x35, 0x10 }, { 0x40, 0xF6 }, { 0x4C, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetPosition // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849, 9, - XREF_DSBUFFERSETPOSITION, // Xref Is Saved - 1, + XREF_DSBUFFERSETPOSITION, + XRefOne) - { { 0x4A, XREF_DSVOICESETPOSITION }, { 0x0F, 0x00 }, @@ -1534,21 +1217,16 @@ SOOVPA<9> DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849 = { 0x4E, 0x85 }, { 0x59, 0xFF }, { 0x66, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetPosition // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetPosition_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetPosition_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSBUFFERSETPOSITION }, { 0x05, 0x18 }, @@ -1558,21 +1236,16 @@ SOOVPA<8> IDirectSoundBuffer_SetPosition_1_0_5849 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetVelocity // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849, 7, - XREF_DSVOICESETVELOCITY, // Xref Is Saved - XRefNotUsed, + XREF_DSVOICESETVELOCITY, + XRefZero) - { { 0x09, 0x8B }, { 0x14, 0x14 }, { 0x1F, 0x55 }, @@ -1580,21 +1253,16 @@ SOOVPA<7> DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849 = { 0x35, 0x10 }, { 0x40, 0xF6 }, { 0x4C, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetVelocity // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849, 9, - XREF_DSBUFFERSETVELOCITY, // Xref Is Saved - 1, + XREF_DSBUFFERSETVELOCITY, + XRefOne) - { { 0x4A, XREF_DSVOICESETVELOCITY }, { 0x0F, 0x00 }, @@ -1605,21 +1273,16 @@ SOOVPA<9> DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849 = { 0x4E, 0x85 }, { 0x59, 0xFF }, { 0x66, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetVelocity // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_SetVelocity_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_SetVelocity_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x2D, XREF_DSBUFFERSETVELOCITY }, { 0x05, 0x18 }, @@ -1629,21 +1292,16 @@ SOOVPA<8> IDirectSoundBuffer_SetVelocity_1_0_5849 = { 0x21, 0xD9 }, { 0x28, 0xD9 }, { 0x31, 0x5D }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::Pause // ****************************************************************** -SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CMcpxBuffer_Pause_1_0_5849, 7, - XREF_DirectSound_CMcpxBuffer_Pause, // Xref Is Saved - XRefNotUsed, + XREF_DirectSound_CMcpxBuffer_Pause, + XRefZero) - { { 0x0D, 0x4D }, { 0x1C, 0x44 }, { 0x2B, 0x8B }, @@ -1651,21 +1309,16 @@ SOOVPA<7> DirectSound_CMcpxBuffer_Pause_1_0_5849 = { 0x49, 0x7D }, { 0x58, 0xEB }, { 0x67, 0xE8 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::Pause // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundBuffer_Pause_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundBuffer_Pause_1_0_5849, 8, - XREF_DirectSound_CDirectSoundBuffer_Pause, // Xref Is Saved - 1, + XREF_DirectSound_CDirectSoundBuffer_Pause, + XRefOne) - { { 0x35, XREF_DirectSound_CMcpxBuffer_Pause }, { 0x0C, 0x00 }, @@ -1675,20 +1328,15 @@ SOOVPA<8> DirectSound_CDirectSoundBuffer_Pause_1_0_5849 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Pause // ****************************************************************** -SOOVPA<8> IDirectSoundBuffer_Pause_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IDirectSoundBuffer_Pause_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_DirectSound_CDirectSoundBuffer_Pause }, { 0x02, 0x24 }, @@ -1698,21 +1346,16 @@ SOOVPA<8> IDirectSoundBuffer_Pause_1_0_5849 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::CreateSoundStream // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSound_CreateSoundStream_1_0_5849, 7, - XREF_DSCREATESOUNDSTREAM, // Xref Is Saved - XRefNotUsed, + XREF_DSCREATESOUNDSTREAM, + XRefZero) - { { 0x11, 0xD8 }, { 0x24, 0x05 }, { 0x37, 0x74 }, @@ -1720,21 +1363,16 @@ SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5849 = { 0x5D, 0xE8 }, { 0x70, 0x85 }, { 0x83, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_CreateSoundStream // ****************************************************************** -//SOOVPA<8> IDirectSound_CreateSoundStream_1_0_5849 = -//{ -// 0, // Large == 0 -// 8, // Count == 8 +//OOVPA_XREF(IDirectSound_CreateSoundStream_1_0_5849, 8, // -// XRefNotSaved, -// XRefNotUsed, +// XRefNoSaveIndex, +// XRefZero) // -// { // { 0x1D, XREF_DirectSound_CDirectSound_CreateSoundStream }, // // { 0x03, 0x10 }, @@ -1744,21 +1382,16 @@ SOOVPA<7> DirectSound_CDirectSound_CreateSoundStream_1_0_5849 = // { 0x17, 0x1B }, // { 0x1C, 0xE8 }, // { 0x21, 0xC2 }, -// } -//}; +//OOVPA_END; // ****************************************************************** // * DirectSoundCreateStream // ****************************************************************** -SOOVPA<9> DirectSoundCreateStream_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSoundCreateStream_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x2F, XREF_DSCREATESOUNDSTREAM }, { 0x09, 0x56 }, @@ -1769,21 +1402,16 @@ SOOVPA<9> DirectSoundCreateStream_1_0_5849 = { 0x40, 0xFF }, { 0x4E, 0x5F }, { 0x56, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBinVolumes // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSSETMIXBINVOLUMESB }, { 0x00, 0x56 }, @@ -1794,21 +1422,16 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxStream::Pause // ****************************************************************** -SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CMcpxStream_Pause_1_0_5849, 7, - XREF_DSSTREAMPAUSE, // Xref Is Saved - XRefNotUsed, + XREF_DSSTREAMPAUSE, + XRefZero) - { { 0x10, 0x07 }, { 0x23, 0x0F }, { 0x34, 0x83 }, @@ -1816,21 +1439,16 @@ SOOVPA<7> DirectSound_CMcpxStream_Pause_1_0_5849 = { 0x58, 0x03 }, { 0x6A, 0xBB }, { 0x7C, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::Pause // ****************************************************************** -SOOVPA<8> DirectSound_CDirectSoundStream_Pause_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(DirectSound_CDirectSoundStream_Pause_1_0_5849, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x35, XREF_DSSTREAMPAUSE }, { 0x0C, 0x00 }, @@ -1840,21 +1458,16 @@ SOOVPA<8> DirectSound_CDirectSoundStream_Pause_1_0_5849 = { 0x39, 0x85 }, { 0x44, 0xFF }, { 0x4B, 0xC7 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::FlushEx // ****************************************************************** -SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(DirectSound_CDirectSoundStream_FlushEx_1_0_5849, 7, - XREF_DSFLUSHEX2, // Xref Is Saved - XRefNotUsed, + XREF_DSFLUSHEX2, + XRefZero) - { { 0x0F, 0x00 }, { 0x1E, 0xFF }, { 0x28, 0x80 }, @@ -1862,21 +1475,16 @@ SOOVPA<7> DirectSound_CDirectSoundStream_FlushEx_1_0_5849 = { 0x46, 0x8B }, { 0x52, 0xFF }, { 0x62, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSoundStream_FlushEx // ****************************************************************** -SOOVPA<9> IDirectSoundStream_FlushEx_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IDirectSoundStream_FlushEx_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x11, XREF_DSFLUSHEX2 }, { 0x01, 0x74 }, @@ -1887,21 +1495,13 @@ SOOVPA<9> IDirectSoundStream_FlushEx_1_0_5849 = { 0x10, 0xE8 }, { 0x15, 0xC2 }, { 0x16, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSoundDoWork // ****************************************************************** -SOOVPA<7> DirectSoundDoWork_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(DirectSoundDoWork_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x0F }, { 0x0E, 0x85 }, { 0x10, 0x74 }, @@ -1909,23 +1509,15 @@ SOOVPA<7> DirectSoundDoWork_1_0_5849 = { 0x1C, 0x0B }, { 0x22, 0xFF }, { 0x28, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * IDirectSound_SetEffectData // ****************************************************************** // * No XRefs! Woohoo! // ****************************************************************** -SOOVPA<7> IDirectSound_SetEffectData_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(IDirectSound_SetEffectData_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x75 }, { 0x0A, 0x75 }, { 0x10, 0x14 }, @@ -1933,21 +1525,13 @@ SOOVPA<7> IDirectSound_SetEffectData_1_0_5849 = { 0x1C, 0x1B }, { 0x26, 0x5D }, { 0x28, 0x18 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CMemoryManager::PoolAlloc // ****************************************************************** -SOOVPA<10> DirectSound_CMemoryManager_PoolAlloc_1_0_5849 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(DirectSound_CMemoryManager_PoolAlloc_1_0_5849, 10) - XRefNotSaved, - XRefNotUsed, - - { { 0x24, 0x83 }, { 0x25, 0x7C }, { 0x26, 0x24 }, @@ -1958,21 +1542,13 @@ SOOVPA<10> DirectSound_CMemoryManager_PoolAlloc_1_0_5849 = { 0x44, 0xC2 }, { 0x45, 0x0C }, { 0x46, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XFileCreateMediaObjectAsync // ****************************************************************** -SOOVPA<8> XFileCreateMediaObjectAsync_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XFileCreateMediaObjectAsync_1_0_5849, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0xC0 }, { 0x16, 0xF8 }, { 0x22, 0xE6 }, @@ -1981,21 +1557,16 @@ SOOVPA<8> XFileCreateMediaObjectAsync_1_0_5849 = { 0x49, 0x8B }, { 0x52, 0x06 }, { 0x5E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetPitch // ****************************************************************** -SOOVPA<12> DirectSound_CDirectSoundStream_SetPitch_1_0_5849 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetPitch_1_0_5849, 12, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DSBUFFERSETPITCHB }, { 0x00, 0x56 }, @@ -2009,21 +1580,16 @@ SOOVPA<12> DirectSound_CDirectSoundStream_SetPitch_1_0_5849 = { 0x4F, 0xC2 }, { 0x50, 0x08 }, { 0x51, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetHeadroom // ****************************************************************** -SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x36, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, { 0x00, 0x56 }, @@ -2034,990 +1600,236 @@ SOOVPA<9> DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849 = { 0x35, 0xE8 }, { 0x40, 0x68 }, { 0x4B, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * Direct_1_0_5849 // ****************************************************************** -OOVPATable DSound_1_0_5849[] = -{ +OOVPATable DSound_1_0_5849[] = { + // DirectSoundCreate (* unchanged since 4361 *) - { - (OOVPA*)&DirectSoundCreate_1_0_4361, - - XTL::EmuDirectSoundCreate, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreate" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreate_1_0_4361, XTL::EmuDirectSoundCreate), // CDirectSound_CreateSoundBuffer - { - (OOVPA*)&CDirectSound_CreateSoundBuffer_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundBuffer (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetPlayRegion (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetPlayRegion_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetPlayRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPlayRegion" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_CreateSoundBuffer_1_0_4627), + // IDirectSoundBuffer8::SetPlayRegion (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPlayRegion_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetPlayRegion), // CMcpxBuffer::SetBufferData - { - (OOVPA*)&CMcpxBuffer_SetBufferData_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetBufferData (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_SetBufferData_1_0_5849), // CDirectSoundBuffer::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&CDirectSoundBuffer_SetBufferData_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetBufferData (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) - { - (OOVPA*)&IDirectSoundBuffer8_SetBufferData_1_0_4361, - - XTL::EmuIDirectSoundBuffer8_SetBufferData, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetBufferData" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetBufferData_1_0_4361), + // IDirectSoundBuffer8::SetBufferData (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetBufferData_1_0_4361, XTL::EmuIDirectSoundBuffer8_SetBufferData), // CMcpxBuffer::GetStatus - { - (OOVPA*)&CMcpxBuffer_GetStatus_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_GetStatus (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxBuffer_GetStatus_1_0_5849), // CDirectSoundBuffer::GetStatus - { - (OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetStatus (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetStatus - { - (OOVPA*)&IDirectSoundBuffer8_GetStatus_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_GetStatus, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_GetStatus" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_GetStatus_1_0_4627), + // IDirectSoundBuffer8::GetStatus + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_GetStatus_1_0_4627, XTL::EmuIDirectSoundBuffer8_GetStatus), // CDirectSound_SetI3DL2Listener - { - (OOVPA*)&CDirectSound_SetI3DL2Listener_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetI3DL2Listener (XREF)" - #endif - }, - // IDirectSound8_SetI3DL2Listener - { - (OOVPA*)&IDirectSound8_SetI3DL2Listener_1_0_5849, - - XTL::EmuIDirectSound8_SetI3DL2Listener, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetI3DL2Listener" - #endif - }, + OOVPA_TABLE_XREF(CDirectSound_SetI3DL2Listener_1_0_5849), + // IDirectSound8_SetI3DL2Listener + OOVPA_TABLE_PATCH(IDirectSound8_SetI3DL2Listener_1_0_5849, XTL::EmuIDirectSound8_SetI3DL2Listener), // DirectSound::CDirectSoundVoice::SetFormat (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetFormat_1_0_5849, 0, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetFormat_1_0_5849), - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoice::SetFormat (XREF)" - #endif - - }, // DirectSound::CDirectSoundBuffer::SetFormat (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::SetFormat (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetFormat - { - (OOVPA*)&IDirectSoundBuffer8_SetFormat_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_SetFormat, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetFormat@8" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetFormat_1_0_5849), + // IDirectSoundBuffer8_SetFormat + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetFormat_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetFormat), // CDirectSoundVoiceSettings_SetMixBinVolumes - { - (OOVPA*)&CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoiceSettings::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes_1_0_4627), // CDirectSoundVoice_SetMixBinVolumes - { - (OOVPA*)&CDirectSoundVoice_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMixBinVolumes (XREF)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetMixBinVolumes_1_0_4627), // CDirectSoundBuffer_SetMixBinVolumes - { - (OOVPA*)&CDirectSoundBuffer_SetMixBinVolumes_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMixBinVolumes (XREF)" - #endif - }, - // IDirectSoundBuffer8_SetMixBinVolumes - { - (OOVPA*)&IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetMixBinVolumes" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetMixBinVolumes_1_0_4627), + // IDirectSoundBuffer8_SetMixBinVolumes + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetMixBinVolumes_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetMixBinVolumes), // CDirectSoundStream_SetMixBinVolumes - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849, - XTL::EmuCDirectSoundStream_SetMixBinVolumes2, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetMixBinVolumes (XREF) ****" - #endif - }, - // IDirectSound8::CreateSoundBuffer - { - (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4627, - - XTL::EmuIDirectSound8_CreateSoundBuffer, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_CreateSoundBuffer" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetMixBinVolumes_1_0_5849, XTL::EmuCDirectSoundStream_SetMixBinVolumes2), + // IDirectSound8::CreateSoundBuffer + OOVPA_TABLE_PATCH(IDirectSound8_CreateSoundBuffer_1_0_4627, XTL::EmuIDirectSound8_CreateSoundBuffer), // CDirectSoundVoice::SetFrequency (XREF) - { - (OOVPA*)&CDirectSoundVoice_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice_SetFrequency (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundVoice_SetFrequency_1_0_4627), // CDirectSoundBuffer::SetFrequency - { - (OOVPA*)&CDirectSoundBuffer_SetFrequency_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundBuffer_SetFrequency (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetFrequency - { - (OOVPA*)&IDirectSoundBuffer8_SetFrequency_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_SetFrequency, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetFrequency" - #endif - }, + OOVPA_TABLE_XREF(CDirectSoundBuffer_SetFrequency_1_0_4627), + // IDirectSoundBuffer8::SetFrequency + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetFrequency_1_0_4627, XTL::EmuIDirectSoundBuffer8_SetFrequency), // CMcpxVoiceClient_SetVolume - { - (OOVPA*)&CMcpxVoiceClient_SetVolume_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "CMcpxVoiceClient::SetVolume (XREF)" - #endif - }, - // CDirectSoundStream_SetVolume - { - (OOVPA*)&CDirectSoundStream_SetVolume_1_0_4627, - - XTL::EmuCDirectSoundStream_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuCDirectSoundStream_SetVolume" - #endif - }, - // IDirectSound8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_Release_1_0_3936, - - XTL::EmuIDirectSound8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_Release" - #endif - }, - // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, - - XTL::EmuIDirectSound8_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_DownloadEffectsImage" - #endif - }, - // IDirectSound8::SetOrientation (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSound8_SetOrientation_1_0_3936, - - XTL::EmuIDirectSound8_SetOrientation, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetOrientation" - #endif - }, - // CDirectSoundVoice::SetMaxDistance (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMaxDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(CMcpxVoiceClient_SetVolume_1_0_4627), + // CDirectSoundStream_SetVolume + OOVPA_TABLE_PATCH(CDirectSoundStream_SetVolume_1_0_4627, XTL::EmuCDirectSoundStream_SetVolume), + // IDirectSound8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_Release_1_0_3936, XTL::EmuIDirectSound8_Release), + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_DownloadEffectsImage_1_0_3936, XTL::EmuIDirectSound8_DownloadEffectsImage), + // IDirectSound8::SetOrientation (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSound8_SetOrientation_1_0_3936, XTL::EmuIDirectSound8_SetOrientation), + // CDirectSoundVoice::SetMaxDistance (XREF) + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetMaxDistance_1_0_5849), // CDirectSoundBuffer::SetMaxDistance (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMaxDistance (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMaxDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMaxDistance_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetMaxDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMaxDistance" - #endif - }, - // CDirectSoundVoice::SetMinDistance (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetMinDistance (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetMaxDistance_1_0_5849), + // IDirectSoundBuffer_SetMaxDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMaxDistance_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetMaxDistance), + // CDirectSoundVoice::SetMinDistance (XREF) + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetMinDistance_1_0_5849), // CDirectSoundBuffer::SetMinDistance (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetMinDistance (XRef)" - #endif - }, - // IDirectSoundBuffer_SetMinDistance - { - (OOVPA*)&IDirectSoundBuffer_SetMinDistance_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetMinDistance, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetMinDistance" - #endif - }, - // CMcpxBuffer::Play - { - (OOVPA*)&DirectSound_CMcpxBuffer_Play_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetMinDistance_1_0_5849), + // IDirectSoundBuffer_SetMinDistance + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMinDistance_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetMinDistance), + // CMcpxBuffer::Play + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_Play_1_0_5849), // CMcpxBuffer::Play - /*{ - (OOVPA*)&CMcpxBuffer_Play_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play2 (XREF)" - #endif - },*/ + /* + OOVPA_TABLE_XREF(CMcpxBuffer_Play_1_0_5849), + */ // IDirectSoundBuffer_Stop (Possibly weak, but quite OK for 4627 DSOUND) - { - (OOVPA*)&IDirectSoundBuffer_Stop_1_0_4627, - - XTL::EmuIDirectSoundBuffer8_Stop, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Stop" - #endif - }, - // IDirectSoundBuffer8::Release (* unchanged since 3936 *) - { - (OOVPA*)&IDirectSoundBuffer8_Release_1_0_3936, - - XTL::EmuIDirectSoundBuffer8_Release, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_Release" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Stop_1_0_4627, XTL::EmuIDirectSoundBuffer8_Stop), + // IDirectSoundBuffer8::Release (* unchanged since 3936 *) + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_Release_1_0_3936, XTL::EmuIDirectSoundBuffer8_Release), // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoice::SetHeadroom (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetHeadroom_1_0_5849), // DirectSound::CDirectSoundBuffer::SetHeadroom (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::SetHeadroom (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_5849), // IDirectSoundBuffer_SetHeadroom - { - (OOVPA*)&IDirectSoundBuffer_SetHeadroom_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetHeadroom, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetHeadroom" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetHeadroom_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetHeadroom), // IDirectSoundBuffer_Lock - { - (OOVPA*)&IDirectSoundBuffer_Lock_1_0_5849, - XTL::EmuIDirectSoundBuffer8_Lock, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_Lock" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Lock_1_0_5849, XTL::EmuIDirectSoundBuffer8_Lock), // DirectSound::CDirectSoundVoiceSettings::SetMixBins (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoiceSettings::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_5849), // DirectSound::CDirectSoundVoice::SetMixBins (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundVoice::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetMixBins_1_0_5849), // DirectSound::CDirectSoundBuffer::SetMixBins (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::SetMixBins (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetMixBins_1_0_5849), // IDirectSoundBuffer_SetMixBins - { - (OOVPA*)&IDirectSoundBuffer_SetMixBins_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetMixBins, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_SetMixBins" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetMixBins_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetMixBins), // DirectSound::CDirectSoundStream::SetMixBins (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetMixBins_1_0_5849, - XTL::EmuCDirectSoundStream_SetMixBins, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundStream::SetMixBins" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetMixBins_1_0_5849, XTL::EmuCDirectSoundStream_SetMixBins), // CDirectSound_SetMixBinHeadroom - { - (OOVPA*)&DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound::SetMixBinHeadroom (XREF)" - #endif - }, - // IDirectSound8_SetMixBinHeadroom - { - (OOVPA*)&IDirectSound_SetMixBinHeadroom_1_0_5849, - - XTL::EmuIDirectSound8_SetMixBinHeadroom, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound_SetMixBinHeadroom" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetMixBinHeadroom_1_0_5849), + // IDirectSound8_SetMixBinHeadroom + OOVPA_TABLE_PATCH(IDirectSound_SetMixBinHeadroom_1_0_5849, XTL::EmuIDirectSound8_SetMixBinHeadroom), // CDirectSound::SetPosition (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetPosition_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetPosition (XRef)" - #endif - }, - // IDirectSound8::SetPosition - { - (OOVPA*)&IDirectSound_SetPosition_1_0_5849, - - XTL::EmuIDirectSound8_SetPosition, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetPosition_1_0_5849), + // IDirectSound8::SetPosition + OOVPA_TABLE_PATCH(IDirectSound_SetPosition_1_0_5849, XTL::EmuIDirectSound8_SetPosition), // CDirectSound::SetVelocity (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetVelocity_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetVelocity (XRef)" - #endif - }, - // IDirectSound8::SetVelocity - { - (OOVPA*)&IDirectSound_SetVelocity_1_0_5849, - - XTL::EmuIDirectSound8_SetVelocity, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetVelocity_1_0_5849), + // IDirectSound8::SetVelocity + OOVPA_TABLE_PATCH(IDirectSound_SetVelocity_1_0_5849, XTL::EmuIDirectSound8_SetVelocity), // CDirectSound::CommitDeferredSettings - { - (OOVPA*)&DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849, - - XTL::EmuCDirectSound_CommitDeferredSettings, - - #ifdef _DEBUG_TRACE - "EmuCDirectSound_CommitDeferredSettings" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSound_CommitDeferredSettings_1_0_5849, XTL::EmuCDirectSound_CommitDeferredSettings), // DirectSoundCreateBuffer - { - (OOVPA*)&DirectSoundCreateBuffer_1_0_4627, - - XTL::EmuDirectSoundCreateBuffer, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateBuffer (4627)" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundCreateBuffer_1_0_4627, XTL::EmuDirectSoundCreateBuffer), // CMcpxBuffer::SetCurrentPosition - { - (OOVPA*)&DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_SetCurrentPosition (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_SetCurrentPosition_1_0_5849), // CDirectSoundBuffer::SetCurrentPosition - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_SetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetCurrentPosition - { - (OOVPA*)&IDirectSoundBuffer_SetCurrentPosition_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_SetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetCurrentPosition_1_0_5849), + // IDirectSoundBuffer8::SetCurrentPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetCurrentPosition_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetCurrentPosition), // CDirectSoundBuffer::GetCurrentPosition - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_GetCurrentPosition (XREF)" - #endif - }, - // IDirectSoundBuffer8::GetCurrentPosition - { - (OOVPA*)&IDirectSoundBuffer_GetCurrentPosition_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_GetCurrentPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_GetCurrentPosition" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_GetCurrentPosition_1_0_5849), + // IDirectSoundBuffer8::GetCurrentPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer_GetCurrentPosition_1_0_5849, XTL::EmuIDirectSoundBuffer8_GetCurrentPosition), // CDirectSoundBuffer::SetLoopRegion (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetLoopRegion (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetLoopRegion - { - (OOVPA*)&IDirectSoundBuffer_SetLoopRegion_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_SetLoopRegion, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetLoopRegion" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetLoopRegion_1_0_5849), + // IDirectSoundBuffer8::SetLoopRegion + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetLoopRegion_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetLoopRegion), // CMcpxBuffer_Stop - { - (OOVPA*)&DirectSound_CMcpxBuffer_Stop_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Stop (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_Stop_1_0_5849), // CDirectSoundBuffer_Stop - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_StopEx (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_StopEx_1_0_5849), // CDirectSoundBuffer_Stop - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_StopEx_1_0_5849, - XTL::EmuIDirectSoundBuffer8_StopEx, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer_StopEx" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundBuffer_StopEx_1_0_5849, XTL::EmuIDirectSoundBuffer8_StopEx), // CDirectSound::SetRolloffFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetRolloffFactor_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetRolloffFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetRolloffFactor_1_0_5849), // IDirectSound8::SetRolloffFactor (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_SetRolloffFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetRolloffFactor" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_SetRolloffFactor_1_0_4627, XTL::EmuIDirectSound8_SetRolloffFactor), // CDirectSound::SetDopplerFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSound_SetDopplerFactor_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSound_SetDopplerFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSound_SetDopplerFactor_1_0_5849), // IDirectSound8::SetDopplerFactor (* unchanged since 4627 *) - { - (OOVPA*)&IDirectSound8_SetDopplerFactor_1_0_4627, - - XTL::EmuIDirectSound8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound8_SetDopplerFactor" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound8_SetDopplerFactor_1_0_4627, XTL::EmuIDirectSound8_SetDopplerFactor), // CDirectSoundVoice::SetPitch - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetPitch_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetPitch (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetPitch_1_0_5849), // IDirectSoundBuffer8::SetPitch - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPitch (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetPitch_1_0_5849), // IDirectSoundBuffer8::SetPitch - { - (OOVPA*)&IDirectSoundBuffer8_SetPitch_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_SetPitch, - - #ifdef _DEBUG_TRACE - "EmuIDirectSoundBuffer8_SetPitch" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer8_SetPitch_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetPitch), // CDirectSoundVoice::SetVolume (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetVolume_1_0_5849,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVolume (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetVolume_1_0_5849), // CDirectSoundBuffer::SetVolume (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849,0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVolume (XREF)" - #endif - }, - // IDirectSoundBuffer8::SetVolume - { - (OOVPA*)&IDirectSoundBuffer_SetVolume_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_SetVolume, - - #ifdef _DEBUG_TRACE - "EmuIIDirectSoundBuffer8_SetVolume" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetVolume_1_0_5849), + // IDirectSoundBuffer8::SetVolume + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetVolume_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetVolume), // DirectSound::CDirectSoundBuffer::PlayEx (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849, - 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundBuffer::PlayEx (XREF)" - #endif - }, - // IDirectSoundBuffer_PlayEx - { - (OOVPA*)&IDirectSoundBuffer_PlayEx_1_0_5849, - XTL::EmuIDirectSoundBuffer8_PlayEx, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer_PlayEx" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_PlayEx_1_0_5849), + // IDirectSoundBuffer_PlayEx + OOVPA_TABLE_PATCH(IDirectSoundBuffer_PlayEx_1_0_5849, XTL::EmuIDirectSoundBuffer8_PlayEx), // CDirectSoundVoice::SetRolloffFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetRolloffFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetRolloffFactor_1_0_5849), // CDirectSoundBuffer::SetRolloffFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetRolloffFactor (XRef)" - #endif - }, - // IDirectSoundBuffer_SetRolloffFactor - { - (OOVPA*)&IDirectSoundBuffer_SetRolloffFactor_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetRolloffFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetRolloffFactor" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetRolloffFactor_1_0_5849), + // IDirectSoundBuffer_SetRolloffFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetRolloffFactor_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetRolloffFactor), // CDirectSoundVoice::SetDopplerFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetDopplerFactor (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetDopplerFactor_1_0_5849), // CDirectSoundBuffer::SetDopplerFactor (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetDopplerFactor (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetDopplerFactor - { - (OOVPA*)&IDirectSoundBuffer_SetDopplerFactor_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetDopplerFactor, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetDopplerFactor" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetDopplerFactor_1_0_5849), + // IDirectSoundBuffer8_SetDopplerFactor + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetDopplerFactor_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetDopplerFactor), // CDirectSoundVoice::SetPosition (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetPosition_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetPosition (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetPosition_1_0_5849), // CDirectSoundBuffer::SetPosition (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetPosition (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetPosition - { - (OOVPA*)&IDirectSoundBuffer_SetPosition_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetPosition, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetPosition" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetPosition_1_0_5849), + // IDirectSoundBuffer8_SetPosition + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetPosition_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetPosition), // CDirectSoundVoice::SetVelocity (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundVoice::SetVelocity (XRef)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundVoice_SetVelocity_1_0_5849), // CDirectSoundBuffer::SetVelocity (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::SetVelocity (XRef)" - #endif - }, - // IDirectSoundBuffer8_SetVelocity - { - (OOVPA*)&IDirectSoundBuffer_SetVelocity_1_0_5849, - XTL::EmuIDirectSoundBuffer8_SetVelocity, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_SetVelocity" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_SetVelocity_1_0_5849), + // IDirectSoundBuffer8_SetVelocity + OOVPA_TABLE_PATCH(IDirectSoundBuffer_SetVelocity_1_0_5849, XTL::EmuIDirectSoundBuffer8_SetVelocity), // DirectSound_CMcpxBuffer_Pause_1_0_5849 - { - (OOVPA*)&DirectSound_CMcpxBuffer_Pause_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer::Pause (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_Pause_1_0_5849), // CDirectSoundBuffer::Pause - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_Pause_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer::Pause (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_Pause_1_0_5849), // IDirectSoundBuffer8_Pause - { - (OOVPA*)&IDirectSoundBuffer_Pause_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_Pause, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Pause" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Pause_1_0_5849, XTL::EmuIDirectSoundBuffer8_Pause), // CDirectSound_CreateSoundStream - { - (OOVPA*)&DirectSound_CDirectSound_CreateSoundStream_1_0_5849, - - XTL::EmuDirectSoundCreateStream, - - #ifdef _DEBUG_TRACE - "CDirectSound::CreateSoundStream (XREF)" - #endif - }, - // DirectSoundCreateStream - { - (OOVPA*)&DirectSoundCreateStream_1_0_5849, - - XTL::EmuDirectSoundCreateStream, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundCreateStream" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSound_CreateSoundStream_1_0_5849, XTL::EmuDirectSoundCreateStream), + // DirectSoundCreateStream + OOVPA_TABLE_PATCH(DirectSoundCreateStream_1_0_5849, XTL::EmuDirectSoundCreateStream), // CMcpxStream::Pause - { - (OOVPA*)&DirectSound_CMcpxStream_Pause_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxStream_Pause (XREF)" - #endif - }, - // CDirectSoundStream::Pause - { - (OOVPA*)&DirectSound_CDirectSoundStream_Pause_1_0_5849, - - XTL::EmuCDirectSoundStream_Pause, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream_Pause" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxStream_Pause_1_0_5849), + // CDirectSoundStream::Pause + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_Pause_1_0_5849, XTL::EmuCDirectSoundStream_Pause), // CDirectSoundStream::FlushEx (XREF) - { - (OOVPA*)&DirectSound_CDirectSoundStream_FlushEx_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::FlushEx (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CDirectSoundStream_FlushEx_1_0_5849), // IDirectSoundStream_FlushEx - { - (OOVPA*)&IDirectSoundStream_FlushEx_1_0_5849, - XTL::EmuIDirectSoundStream_FlushEx, - - #ifdef _DEBUG_TRACE - "IDirectSoundStream_FlushEx" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSoundStream_FlushEx_1_0_5849, XTL::EmuIDirectSoundStream_FlushEx), // DirectSoundDoWork - { - (OOVPA*)&DirectSoundDoWork_1_0_5849, - - XTL::EmuDirectSoundDoWork, - - #ifdef _DEBUG_TRACE - "EmuDirectSoundDoWork" - #endif - }, + OOVPA_TABLE_PATCH(DirectSoundDoWork_1_0_5849, XTL::EmuDirectSoundDoWork), // CDirectSound::SynchPlayback (* unchanged since 5558 *) - { - (OOVPA*)&CDirectSound_SynchPlayback_1_0_5558, - - XTL::EmuCDirectSound_SynchPlayback, - - #ifdef _DEBUG_TRACE - "CDirectSound_SynchPlayback_1_0_5558" - #endif - }, + OOVPA_TABLE_PATCH(CDirectSound_SynchPlayback_1_0_5558, XTL::EmuCDirectSound_SynchPlayback), // XAudioDownloadEffectsImage (* unchanged since 4627 *) - { - (OOVPA*)&XAudioDownloadEffectsImage_1_0_4627, - XTL::EmuXAudioDownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuXAudioDownloadEffectsImage" - #endif - }, + OOVPA_TABLE_PATCH(XAudioDownloadEffectsImage_1_0_4627, XTL::EmuXAudioDownloadEffectsImage), // IDirectSoundStream_FlushEx - { - (OOVPA*)&IDirectSound_SetEffectData_1_0_5849, - XTL::EmuIDirectSound8_SetEffectData, - - #ifdef _DEBUG_TRACE - "EmuIDirectSound_SetEffectData" - #endif - }, + OOVPA_TABLE_PATCH(IDirectSound_SetEffectData_1_0_5849, XTL::EmuIDirectSound8_SetEffectData), // DirectSound::CMemoryManager::PoolAlloc - { - (OOVPA*)&DirectSound_CMemoryManager_PoolAlloc_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "DirectSound::CMemoryManager::PoolAlloc (XREF)" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMemoryManager_PoolAlloc_1_0_5849), // XFileCreateMediaObjectAsync - { - (OOVPA*)&XFileCreateMediaObjectAsync_1_0_5849, - - XTL::EmuXFileCreateMediaObjectAsync, - - #ifdef _DEBUG_TRACE - "XFileCreateMediaObjectAsync" - #endif - }, + OOVPA_TABLE_PATCH(XFileCreateMediaObjectAsync_1_0_5849, XTL::EmuXFileCreateMediaObjectAsync), // CDirectSoundStream::SetFormat (* unchanged since 5558 *) - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetFormat_1_0_5558, - XTL::EmuCDirectSoundStream_SetFormat, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetFormat" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetFormat_1_0_5558, XTL::EmuCDirectSoundStream_SetFormat), // CDirectSoundStream::SetPitch - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetPitch_1_0_5849, - XTL::EmuCDirectSoundStream_SetPitch, - - #ifdef _DEBUG_TRACE - "CDirectSoundStream::SetPitch" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetPitch_1_0_5849, XTL::EmuCDirectSoundStream_SetPitch), // DirectSound::CDirectSoundStream::SetHeadroom - { - (OOVPA*)&DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849, - XTL::EmuIDirectSoundStream_SetHeadroom, - - #ifdef _DEBUG_TRACE - "DirectSound::CDirectSoundStream::SetHeadroom" - #endif - }, + OOVPA_TABLE_PATCH(DirectSound_CDirectSoundStream_SetHeadroom_1_0_5849, XTL::EmuIDirectSoundStream_SetHeadroom), // CMcpxBuffer::Play2 - { - (OOVPA*)&DirectSound_CMcpxBuffer_Play2_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CMcpxBuffer_Play2 (XREF)" - #endif - }, - // CDirectSoundBuffer::Play - { - (OOVPA*)&DirectSound_CDirectSoundBuffer_Play_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "CDirectSoundBuffer_Play (XREF)" - #endif - }, - // IDirectSoundBuffer8::Play - { - (OOVPA*)&IDirectSoundBuffer_Play_1_0_5849, - - XTL::EmuIDirectSoundBuffer8_Play, - - #ifdef _DEBUG_TRACE - "IDirectSoundBuffer8_Play" - #endif - }, + OOVPA_TABLE_XREF(DirectSound_CMcpxBuffer_Play2_1_0_5849), + // CDirectSoundBuffer::Play + OOVPA_TABLE_XREF(DirectSound_CDirectSoundBuffer_Play_1_0_5849), + // IDirectSoundBuffer8::Play + OOVPA_TABLE_PATCH(IDirectSoundBuffer_Play_1_0_5849, XTL::EmuIDirectSoundBuffer8_Play), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl index 9fbf9885e..b87eaffe6 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XGIsSwizzledFormat // ****************************************************************** -SOOVPA<7> XGIsSwizzledFormat_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGIsSwizzledFormat_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x7F }, { 0x10, 0x7C }, { 0x19, 0x0B }, @@ -51,21 +44,13 @@ SOOVPA<7> XGIsSwizzledFormat_1_0_3911 = { 0x2B, 0x83 }, { 0x34, 0x0A }, { 0x3D, 0x7F }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSwizzleRect // ****************************************************************** -SOOVPA<8> XGSwizzleRect_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGSwizzleRect_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x89 }, { 0x5E, 0x83 }, @@ -74,21 +59,13 @@ SOOVPA<8> XGSwizzleRect_1_0_3911 = { 0xBE, 0xFF }, { 0xDE, 0x89 }, { 0xFE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSwizzleBox // ****************************************************************** -SOOVPA<8> XGSwizzleBox_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGSwizzleBox_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x75 }, { 0x3E, 0x4D }, { 0x5E, 0x48 }, @@ -97,21 +74,13 @@ SOOVPA<8> XGSwizzleBox_1_0_3911 = { 0xC0, 0x83 }, { 0xDE, 0xAF }, { 0xFE, 0x45 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGUnswizzleRect // ****************************************************************** -SOOVPA<8> XGUnswizzleRect_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGUnswizzleRect_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x00 }, { 0x5E, 0xD2 }, @@ -120,21 +89,13 @@ SOOVPA<8> XGUnswizzleRect_1_0_3911 = { 0xC1, 0xE9 }, { 0xDE, 0x89 }, { 0xFE, 0x60 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGWriteSurfaceOrTextureToXPR // ****************************************************************** -SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGWriteSurfaceOrTextureToXPR_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x3D }, { 0x3E, 0xE0 }, { 0x5E, 0x75 }, @@ -142,21 +103,13 @@ SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 = { 0x9E, 0xC2 }, { 0xBE, 0xF0 }, { 0xDE, 0xFC }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSetTextureHeader // ****************************************************************** -SOOVPA<7> XGSetTextureHeader_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGSetTextureHeader_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x75 }, { 0x0A, 0x00 }, { 0x10, 0xFF }, @@ -164,73 +117,25 @@ SOOVPA<7> XGSetTextureHeader_1_0_3911 = { 0x1C, 0x75 }, { 0x26, 0x5D }, { 0x28, 0x24 }, - } -}; +OOVPA_END; // ****************************************************************** // * XG_1_0_3911 // ****************************************************************** -OOVPATable XG_1_0_3911[] = -{ +OOVPATable XG_1_0_3911[] = { + // XGIsSwizzledFormat - { - (OOVPA*)&XGIsSwizzledFormat_1_0_3911, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "XGIsSwizzledFormat" - #endif - }, + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_3911, XTL::EmuXGIsSwizzledFormat), // XGSwizzleRect - { - (OOVPA*)&XGSwizzleRect_1_0_3911, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_3911, XTL::EmuXGSwizzleRect), // XGUnswizzleRect - { - (OOVPA*)&XGUnswizzleRect_1_0_3911, - - XTL::EmuXGUnswizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGUnswizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGUnswizzleRect_1_0_3911, XTL::EmuXGUnswizzleRect), // XGSwizzleBox - { - (OOVPA*)&XGSwizzleBox_1_0_3911, - - XTL::EmuXGSwizzleBox, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleBox" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleBox_1_0_3911, XTL::EmuXGSwizzleBox), // XGWriteSurfaceOrTextureToXPR - { - (OOVPA*)&XGWriteSurfaceOrTextureToXPR_1_0_3911, - - XTL::EmuXGWriteSurfaceOrTextureToXPR, - - #ifdef _DEBUG_TRACE - "EmuXGWriteSurfaceOrTextureToXPR" - #endif - }, + OOVPA_TABLE_PATCH(XGWriteSurfaceOrTextureToXPR_1_0_3911, XTL::EmuXGWriteSurfaceOrTextureToXPR), // XGSetTextureHeader - { - (OOVPA*)&XGSetTextureHeader_1_0_3911, - XTL::EmuXGSetTextureHeader, - - #ifdef _DEBUG_TRACE - "XGSetTextureHeader" - #endif - }, + OOVPA_TABLE_PATCH(XGSetTextureHeader_1_0_3911, XTL::EmuXGSetTextureHeader), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl index f8c8f13c5..167847a9b 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl @@ -36,15 +36,8 @@ // ****************************************************************** // * XGIsSwizzledFormat // ****************************************************************** -SOOVPA<7> XGIsSwizzledFormat_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGIsSwizzledFormat_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x7F }, { 0x10, 0x7C }, { 0x19, 0x0B }, @@ -52,21 +45,13 @@ SOOVPA<7> XGIsSwizzledFormat_1_0_3911 = { 0x2B, 0x83 }, { 0x34, 0x0A }, { 0x3D, 0x7F }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSwizzleRect // ****************************************************************** -SOOVPA<8> XGSwizzleRect_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGSwizzleRect_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x89 }, { 0x5E, 0x83 }, @@ -75,21 +60,13 @@ SOOVPA<8> XGSwizzleRect_1_0_3911 = { 0xBE, 0xFF }, { 0xDE, 0x89 }, { 0xFE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSwizzleBox // ****************************************************************** -SOOVPA<8> XGSwizzleBox_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGSwizzleBox_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x75 }, { 0x3E, 0x4D }, { 0x5E, 0x48 }, @@ -98,21 +75,13 @@ SOOVPA<8> XGSwizzleBox_1_0_3911 = { 0xC0, 0x83 }, { 0xDE, 0xAF }, { 0xFE, 0x45 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGUnswizzleRect // ****************************************************************** -SOOVPA<8> XGUnswizzleRect_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGUnswizzleRect_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x00 }, { 0x5E, 0xD2 }, @@ -121,21 +90,13 @@ SOOVPA<8> XGUnswizzleRect_1_0_3911 = { 0xC1, 0xE9 }, { 0xDE, 0x89 }, { 0xFE, 0x60 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGWriteSurfaceOrTextureToXPR // ****************************************************************** -SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGWriteSurfaceOrTextureToXPR_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x3D }, { 0x3E, 0xE0 }, { 0x5E, 0x75 }, @@ -143,65 +104,27 @@ SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 = { 0x9E, 0xC2 }, { 0xBE, 0xF0 }, { 0xDE, 0xFC }, - } -}; +OOVPA_END; #endif // ****************************************************************** // * XG_1_0_4034 // ****************************************************************** -OOVPATable XG_1_0_4034[] = -{ +OOVPATable XG_1_0_4034[] = { + // XGIsSwizzledFormat /*{ - (OOVPA*)&XGIsSwizzledFormat_1_0_3911, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "XGIsSwizzledFormat" - #endif - },*/ + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_3911, XTL::EmuXGIsSwizzledFormat),*/ // XGSwizzleRect (* unchanged since 3911 *) - { - (OOVPA*)&XGSwizzleRect_1_0_3911, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_3911, XTL::EmuXGSwizzleRect), // XGUnswizzleRect /*{ - (OOVPA*)&XGUnswizzleRect_1_0_3911, - - XTL::EmuXGUnswizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGUnswizzleRect" - #endif - },*/ + OOVPA_TABLE_PATCH(XGUnswizzleRect_1_0_3911, XTL::EmuXGUnswizzleRect),*/ // XGSwizzleBox (* unchanged since 3911 *) - { - (OOVPA*)&XGSwizzleBox_1_0_3911, - - XTL::EmuXGSwizzleBox, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleBox" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleBox_1_0_3911, XTL::EmuXGSwizzleBox), // XGWriteSurfaceOrTextureToXPR /*{ - (OOVPA*)&XGWriteSurfaceOrTextureToXPR_1_0_3911, - - XTL::EmuXGWriteSurfaceOrTextureToXPR, - - #ifdef _DEBUG_TRACE - "EmuXGWriteSurfaceOrTextureToXPR" - #endif - },*/ + OOVPA_TABLE_PATCH(XGWriteSurfaceOrTextureToXPR_1_0_3911, XTL::EmuXGWriteSurfaceOrTextureToXPR),*/ }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl index 93784f174..da51cd220 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XGIsSwizzledFormat // ****************************************************************** -SOOVPA<12> XGIsSwizzledFormat_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XGIsSwizzledFormat_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // XGIsSwizzledFormat+0x04 : cmp eax, 0x2D { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0xF8 }, // (Offset,Value)-Pair #2 @@ -65,21 +58,13 @@ SOOVPA<12> XGIsSwizzledFormat_1_0_4361 = // XGIsSwizzledFormat+0x42 : jmp +0xE4 { 0x42, 0xEB }, // (Offset,Value)-Pair #11 { 0x43, 0xE4 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XGSwizzleRect // ****************************************************************** -SOOVPA<10> XGSwizzleRect_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XGSwizzleRect_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // XGSwizzleRect+0x2E : pop eax { 0x2E, 0x58 }, // (Offset,Value)-Pair #1 @@ -97,21 +82,13 @@ SOOVPA<10> XGSwizzleRect_1_0_4361 = // XGSwizzleRect+0xEC : jmp +0x0B { 0xEC, 0xEB }, // (Offset,Value)-Pair #9 { 0xED, 0x0B }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XGUnswizzleRect // ****************************************************************** -SOOVPA<8> XGUnswizzleRect_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGUnswizzleRect_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x00 }, { 0x5E, 0xD2 }, @@ -120,21 +97,13 @@ SOOVPA<8> XGUnswizzleRect_1_0_4361 = { 0xC1, 0xE9 }, { 0xDE, 0x89 }, { 0xFE, 0x60 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSetVertexBufferHeader // ****************************************************************** -SOOVPA<8> XGSetVertexBufferHeader_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGSetVertexBufferHeader_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x07, 0x18 }, @@ -143,21 +112,13 @@ SOOVPA<8> XGSetVertexBufferHeader_1_0_4361 = { 0x10, 0x00 }, { 0x13, 0x48 }, { 0x16, 0x18 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGCompressRect // ****************************************************************** -SOOVPA<8> XGCompressRect_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGCompressRect_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x00 }, { 0x3E, 0xA8 }, { 0x5E, 0x85 }, @@ -166,21 +127,13 @@ SOOVPA<8> XGCompressRect_1_0_4361 = { 0xBE, 0x80 }, { 0xDE, 0x74 }, { 0xFE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSetIndexBufferHeader // ****************************************************************** -SOOVPA<8> XGSetIndexBufferHeader_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGSetIndexBufferHeader_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0x8B }, { 0x07, 0x18 }, @@ -189,83 +142,27 @@ SOOVPA<8> XGSetIndexBufferHeader_1_0_4361 = { 0x10, 0x01 }, { 0x13, 0x48 }, { 0x16, 0x18 }, - } -}; +OOVPA_END; // ****************************************************************** // * XG_1_0_4361 // ****************************************************************** -OOVPATable XG_1_0_4361[] = -{ +OOVPATable XG_1_0_4361[] = { + // XGIsSwizzledFormat - { - (OOVPA*)&XGIsSwizzledFormat_1_0_4361, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "EmuXGIsSwizzledFormat" - #endif - }, + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_4361, XTL::EmuXGIsSwizzledFormat), // XGSwizzleRect - { - (OOVPA*)&XGSwizzleRect_1_0_4361, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_4361, XTL::EmuXGSwizzleRect), // XGUnswizzleRect - { - (OOVPA*)&XGUnswizzleRect_1_0_4361, - - XTL::EmuXGUnswizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGUnswizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGUnswizzleRect_1_0_4361, XTL::EmuXGUnswizzleRect), // XGSetTextureHeader (* Unchanged since 3911 *) - { - (OOVPA*)&XGSetTextureHeader_1_0_3911, - XTL::EmuXGSetTextureHeader, - - #ifdef _DEBUG_TRACE - "XGSetTextureHeader" - #endif - }, + OOVPA_TABLE_PATCH(XGSetTextureHeader_1_0_3911, XTL::EmuXGSetTextureHeader), // XGSetVertexBufferHeader - { - (OOVPA*)&XGSetVertexBufferHeader_1_0_4361, - - 0, - - #ifdef _DEBUG_TRACE - "EmuXGSetVertexBufferHeader" - #endif - }, + OOVPA_TABLE_XREF(XGSetVertexBufferHeader_1_0_4361), // XGSetIndexBufferHeader - { - (OOVPA*)&XGSetIndexBufferHeader_1_0_4361, - - 0, - - #ifdef _DEBUG_TRACE - "EmuXGSetIndexBufferHeader" - #endif - }, + OOVPA_TABLE_XREF(XGSetIndexBufferHeader_1_0_4361), // XGCompressRect - { - (OOVPA*)&XGCompressRect_1_0_4361, - - 0, - - #ifdef _DEBUG_TRACE - "EmuXGCompressRect" - #endif - }, + OOVPA_TABLE_XREF(XGCompressRect_1_0_4361), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl index 698a3f6f0..75efb53fa 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl @@ -37,28 +37,12 @@ // ****************************************************************** // * XG_1_0_4432 // ****************************************************************** -OOVPATable XG_1_0_4432[] = -{ +OOVPATable XG_1_0_4432[] = { + // XGIsSwizzledFormat (* unchanged since 4361 *) - { - (OOVPA*)&XGIsSwizzledFormat_1_0_4361, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "XGIsSwizzledFormat" - #endif - }, + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_4361, XTL::EmuXGIsSwizzledFormat), // XGSwizzleRect (* unchanged since 4361 *) - { - (OOVPA*)&XGSwizzleRect_1_0_4361, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_4361, XTL::EmuXGSwizzleRect), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl index 2c1965940..f4dcc6511 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XGSwizzleBox // ****************************************************************** -SOOVPA<10> XGSwizzleBox_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XGSwizzleBox_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // XGSwizzleBox+0x60 : sub ecx, [eax] { 0x60, 0x2B }, // (Offset,Value)-Pair #1 { 0x61, 0x08 }, // (Offset,Value)-Pair #2 @@ -61,21 +54,13 @@ SOOVPA<10> XGSwizzleBox_1_0_4627 = // XGSwizzleBox+0xE2 : test ebx, ebx { 0xE2, 0x85 }, // (Offset,Value)-Pair #9 { 0xE3, 0xDB }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XGWriteSurfaceOrTextureToXPR // ****************************************************************** -SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGWriteSurfaceOrTextureToXPR_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x3D }, { 0x3E, 0xE0 }, { 0x5E, 0x75 }, @@ -83,21 +68,13 @@ SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_4627 = { 0x9E, 0xC2 }, { 0xBE, 0xF0 }, { 0xE2, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * XGUnswizzleRect // ****************************************************************** -SOOVPA<8> XGUnswizzleRect_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGUnswizzleRect_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x00 }, { 0x5E, 0xD2 }, @@ -106,64 +83,23 @@ SOOVPA<8> XGUnswizzleRect_1_0_4627 = { 0xC1, 0xE9 }, { 0xDE, 0x89 }, { 0xFE, 0x60 }, - } -}; +OOVPA_END; // ****************************************************************** // * XG_1_0_4627 // ****************************************************************** -OOVPATable XG_1_0_4627[] = -{ +OOVPATable XG_1_0_4627[] = { + // XGIsSwizzledFormat (* unchanged since 4361 *) - { - (OOVPA*)&XGIsSwizzledFormat_1_0_4361, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "XGIsSwizzledFormat" - #endif - }, + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_4361, XTL::EmuXGIsSwizzledFormat), // XGSwizzleRect (* unchanged since 4361 *) - { - (OOVPA*)&XGSwizzleRect_1_0_4361, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, - // XGUnswizzleRect - { - (OOVPA*)&XGUnswizzleRect_1_0_4627, - - XTL::EmuXGUnswizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGUnswizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_4361, XTL::EmuXGSwizzleRect), + // XGUnswizzleRect + OOVPA_TABLE_PATCH(XGUnswizzleRect_1_0_4627, XTL::EmuXGUnswizzleRect), // XGSwizzleBox - { - (OOVPA*)&XGSwizzleBox_1_0_4627, - - XTL::EmuXGSwizzleBox, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleBox" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleBox_1_0_4627, XTL::EmuXGSwizzleBox), // XGWriteSurfaceOrTextureToXPR - { - (OOVPA*)&XGWriteSurfaceOrTextureToXPR_1_0_4627, - - XTL::EmuXGWriteSurfaceOrTextureToXPR, - - #ifdef _DEBUG_TRACE - "EmuXGWriteSurfaceOrTextureToXPR" - #endif - }, + OOVPA_TABLE_PATCH(XGWriteSurfaceOrTextureToXPR_1_0_4627, XTL::EmuXGWriteSurfaceOrTextureToXPR), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl index 8e4192ac9..2d19588f9 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl @@ -35,28 +35,12 @@ // ****************************************************************** // * XG_1_0_5233 // ****************************************************************** -OOVPATable XG_1_0_5233[] = -{ +OOVPATable XG_1_0_5233[] = { + // XGIsSwizzledFormat (* unchanged since 4361 *) - { - (OOVPA*)&XGIsSwizzledFormat_1_0_4361, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "XGIsSwizzledFormat" - #endif - }, + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_4361, XTL::EmuXGIsSwizzledFormat), // XGSwizzleRect (* unchanged since 4361 *) - { - (OOVPA*)&XGSwizzleRect_1_0_4361, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_4361, XTL::EmuXGSwizzleRect), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl index fa1f99483..6a3f1d4be 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XGSwizzleBox // ****************************************************************** -SOOVPA<10> XGSwizzleBox_1_0_5558 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XGSwizzleBox_1_0_5558, 10) - XRefNotSaved, - XRefNotUsed, - - { // XGSwizzleBox+0x60 : sub ecx, [eax] { 0x60, 0x2B }, // (Offset,Value)-Pair #1 { 0x61, 0x08 }, // (Offset,Value)-Pair #2 @@ -61,21 +54,13 @@ SOOVPA<10> XGSwizzleBox_1_0_5558 = // XGSwizzleBox+0xE2 : test ebx, ebx { 0xE2, 0x85 }, // (Offset,Value)-Pair #9 { 0xE3, 0xDB }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XGSwizzleRect // ****************************************************************** -SOOVPA<8> XGSwizzleRect_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGSwizzleRect_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x89 }, { 0x5E, 0x83 }, @@ -84,21 +69,13 @@ SOOVPA<8> XGSwizzleRect_1_0_5558 = { 0xBE, 0xFF }, { 0xDE, 0x89 }, { 0xFE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGUnswizzleRect // ****************************************************************** -SOOVPA<8> XGUnswizzleRect_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGUnswizzleRect_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x03 }, { 0x3E, 0x00 }, { 0x5E, 0xD2 }, @@ -107,21 +84,13 @@ SOOVPA<8> XGUnswizzleRect_1_0_5558 = { 0xC1, 0xE9 }, { 0xDE, 0x89 }, { 0xFE, 0x60 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGSwizzleBox // ****************************************************************** -//SOOVPA<8> XGSwizzleBox_1_0_5558 = -//{ -// 0, // Large == 0 -// 8, // Count == 8 +//OOVPA_NO_XREF(XGSwizzleBox_1_0_5558, 8) // -// XRefNotSaved, -// XRefNotUsed, -// -// { // { 0x1E, 0x75 }, // { 0x3E, 0x4D }, // { 0x5E, 0x48 }, @@ -130,21 +99,13 @@ SOOVPA<8> XGUnswizzleRect_1_0_5558 = // { 0xC0, 0x83 }, // { 0xDE, 0xAF }, // { 0xFE, 0x45 }, -// } -//}; +//OOVPA_END; // ****************************************************************** // * XGUnswizzleBox // ****************************************************************** -SOOVPA<8> XGUnswizzleBox_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGUnswizzleBox_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x26 }, { 0x3E, 0x55 }, { 0x5E, 0x58 }, @@ -153,64 +114,25 @@ SOOVPA<8> XGUnswizzleBox_1_0_5558 = { 0xBE, 0x2C }, { 0xDE, 0x24 }, { 0xFE, 0x20 }, - } -}; +OOVPA_END; // ****************************************************************** // * XG_1_0_5558 // ****************************************************************** -OOVPATable XG_1_0_5558[] = -{ +OOVPATable XG_1_0_5558[] = { + // XGIsSwizzledFormat (* unchanged since 4361 *) - { - (OOVPA*)&XGIsSwizzledFormat_1_0_4361, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "XGIsSwizzledFormat" - #endif - }, + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_4361, XTL::EmuXGIsSwizzledFormat), // XGSwizzleRect - { - (OOVPA*)&XGSwizzleRect_1_0_5558, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_5558, XTL::EmuXGSwizzleRect), // XGSwizzleBox (* UNTESTED *) - { - (OOVPA*)&XGSwizzleBox_1_0_5558, - - XTL::EmuXGSwizzleBox, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleBox" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleBox_1_0_5558, XTL::EmuXGSwizzleBox), // XGUnswizzleRect - { - (OOVPA*)&XGUnswizzleRect_1_0_5558, - - XTL::EmuXGUnswizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGUnswizzleRect_1_0_5558, XTL::EmuXGUnswizzleRect), // XGUnswizzleBox (* UNTESTED *) - /*{ - (OOVPA*)&XGUnswizzleBox_1_0_5558, - - XTL::EmuXGUnswizzleBox, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleBox" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(XGUnswizzleBox_1_0_5558, XTL::EmuXGUnswizzleBox), + */ }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl index 1ee0804a9..244d7872c 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XGSwizzleBox // ****************************************************************** -SOOVPA<10> XGSwizzleBox_1_0_5849 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XGSwizzleBox_1_0_5849, 10) - XRefNotSaved, - XRefNotUsed, - - { // XGSwizzleBox+0x60 : sub ecx, [eax] { 0x60, 0x2B }, // (Offset,Value)-Pair #1 { 0x61, 0x08 }, // (Offset,Value)-Pair #2 @@ -61,21 +54,13 @@ SOOVPA<10> XGSwizzleBox_1_0_5849 = // XGSwizzleBox+0xE2 : test ebx, ebx { 0xE2, 0x85 }, // (Offset,Value)-Pair #9 { 0xE3, 0xDB }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XFONT_OpenBitmapFontFromMemory // ****************************************************************** -SOOVPA<8> XFONT_OpenBitmapFontFromMemory_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XFONT_OpenBitmapFontFromMemory_1_0_5849, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x75 }, { 0x1A, 0x8B }, { 0x28, 0x8B }, @@ -84,54 +69,23 @@ SOOVPA<8> XFONT_OpenBitmapFontFromMemory_1_0_5849 = { 0x4C, 0x8B }, { 0x59, 0x45 }, { 0x66, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * XG_1_0_5849 // ****************************************************************** -OOVPATable XG_1_0_5849[] = -{ +OOVPATable XG_1_0_5849[] = { + // XGIsSwizzledFormat (* unchanged since 4361 *) - { - (OOVPA*)&XGIsSwizzledFormat_1_0_4361, - - XTL::EmuXGIsSwizzledFormat, - - #ifdef _DEBUG_TRACE - "XGIsSwizzledFormat" - #endif - }, + OOVPA_TABLE_PATCH(XGIsSwizzledFormat_1_0_4361, XTL::EmuXGIsSwizzledFormat), // XGSwizzleRect (* unchanged since 5558 *) - { - (OOVPA*)&XGSwizzleRect_1_0_5558, - - XTL::EmuXGSwizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGSwizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGSwizzleRect_1_0_5558, XTL::EmuXGSwizzleRect), // XGUnswizzleRect (* unchanged since 5558 *) - { - (OOVPA*)&XGUnswizzleRect_1_0_5558, - - XTL::EmuXGUnswizzleRect, - - #ifdef _DEBUG_TRACE - "EmuXGUnswizzleRect" - #endif - }, + OOVPA_TABLE_PATCH(XGUnswizzleRect_1_0_5558, XTL::EmuXGUnswizzleRect), // XFONT_OpenBitmapFontFromMemory - /*{ - (OOVPA*)&XFONT_OpenBitmapFontFromMemory_1_0_5849, - - XTL::EmuXFONT_OpenBitmapFontFromMemory, - - #ifdef _DEBUG_TRACE - "EmuXFONT_OpenBitmapFontFromMemory" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(XFONT_OpenBitmapFontFromMemory_1_0_5849, XTL::EmuXFONT_OpenBitmapFontFromMemory), + */ }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl index a9f6f0be2..8a71be728 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl @@ -35,15 +35,11 @@ // ****************************************************************** // * XNetStartup // ****************************************************************** -SOOVPA<9> XNetStartup_1_0_3911 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(XNetStartup_1_0_3911, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // XNetStartup+0x07 : call [XnInit] { 0x07, XREF_XNINIT }, // (Offset,Value)-Pair #1 @@ -60,21 +56,16 @@ SOOVPA<9> XNetStartup_1_0_3911 = // XNetStartup+0x0B : retn 0x04 { 0x0B, 0xC2 }, // (Offset,Value)-Pair #8 { 0x0C, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * WSAStartup // ****************************************************************** -SOOVPA<11> WSAStartup_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_XREF(WSAStartup_1_0_3911, 11, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // WSAStartup+0x07 : call [XnInit] { 0x07, XREF_XNINIT }, // (Offset,Value)-Pair #1 @@ -91,21 +82,12 @@ SOOVPA<11> WSAStartup_1_0_3911 = { 0x1E, 0x02 }, // (Offset,Value)-Pair #9 { 0x1F, 0x02 }, // (Offset,Value)-Pair #10 { 0x20, 0x02 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * XnInit // ****************************************************************** -SOOVPA<11> XnInit_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XREF_XNINIT, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(XnInit_1_0_3911, 11, XREF_XNINIT, XRefZero) // XnInit+0x31 : push 0x3554454E { 0x31, 0x68 }, // (Offset,Value)-Pair #1 { 0x32, 0x4E }, // (Offset,Value)-Pair #2 @@ -122,21 +104,13 @@ SOOVPA<11> XnInit_1_0_3911 = // XnInit+0xBD : retn 0x08 { 0xBD, 0xC2 }, // (Offset,Value)-Pair #10 { 0xBE, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** -SOOVPA<8> XNetGetEthernetLinkStatus_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetGetEthernetLinkStatus_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { // XNetGetEthernetLinkStatus+0x12 : cmpxchg [ecx], edx { 0x12, 0x0F }, // (Offset,Value)-Pair #1 { 0x13, 0xB1 }, // (Offset,Value)-Pair #2 @@ -152,52 +126,21 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_3911 = // XNetStartup+0x3F : retn { 0x3F, 0xC3 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * XNet_1_0_3911 // ****************************************************************** -OOVPATable XNet_1_0_3911[] = -{ +OOVPATable XNet_1_0_3911[] = { + // XNetStartup - { - (OOVPA*)&XNetStartup_1_0_3911, - - XTL::EmuXNetStartup, - - #ifdef _DEBUG_TRACE - "EmuXNetStartup" - #endif - }, - // WSAStartup - { - (OOVPA*)&WSAStartup_1_0_3911, - - XTL::EmuWSAStartup, - - #ifdef _DEBUG_TRACE - "EmuWSAStartup" - #endif - }, + OOVPA_TABLE_PATCH(XNetStartup_1_0_3911, XTL::EmuXNetStartup), + // WSAStartup + OOVPA_TABLE_PATCH(WSAStartup_1_0_3911, XTL::EmuWSAStartup), // XnInit (XREF) - { - (OOVPA*)&XnInit_1_0_3911, 0, - - #ifdef _DEBUG_TRACE - "XnInit (XRef)" - #endif - }, + OOVPA_TABLE_XREF(XnInit_1_0_3911), // XNetGetEthernetLinkStatus - { - (OOVPA*)&XNetGetEthernetLinkStatus_1_0_3911, - - XTL::EmuXNetGetEthernetLinkStatus, - - #ifdef _DEBUG_TRACE - "EmuXNetGetEthernetLinkStatus" - #endif - }, + OOVPA_TABLE_PATCH(XNetGetEthernetLinkStatus_1_0_3911, XTL::EmuXNetGetEthernetLinkStatus), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl index 1eee0c2ca..3d54cb40f 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl @@ -35,15 +35,11 @@ // ****************************************************************** // * XNetStartup // ****************************************************************** -SOOVPA<8> XNetStartup_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XNetStartup_1_0_4361, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // XNetStartup+0x0F : call [XnInit] { 0x10, XREF_XNINIT }, // (Offset,Value)-Pair #1 @@ -63,21 +59,16 @@ SOOVPA<8> XNetStartup_1_0_4361 = // XNetStartup+0x14 : retn 0x04 { 0x14, 0xC2 }, // (Offset,Value)-Pair #7 { 0x15, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * WSAStartup // ****************************************************************** -SOOVPA<9> WSAStartup_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(WSAStartup_1_0_4361, 9, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // WSAStartup+0x0F : call [XnInit] { 0x14, XREF_XNINIT }, // (Offset,Value)-Pair #1 @@ -92,21 +83,13 @@ SOOVPA<9> WSAStartup_1_0_4361 = { 0x05, 0x74 }, // (Offset,Value)-Pair #7 { 0x06, 0x24 }, // (Offset,Value)-Pair #8 { 0x07, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * XnInit // ****************************************************************** -SOOVPA<10> XnInit_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(XnInit_1_0_4361, 10, XREF_XNINIT, XRefZero) - XREF_XNINIT, // XRef Is Saved - 0, // XRef Not Used - - { // XnInit+0x03 : sub esp, 0x0214 { 0x03, 0x81 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -122,21 +105,13 @@ SOOVPA<10> XnInit_1_0_4361 = { 0xBC, 0x68 }, // (Offset,Value)-Pair #8 { 0xBD, 0xEC }, // (Offset,Value)-Pair #9 { 0xBE, 0x01 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * socket // ****************************************************************** -SOOVPA<9> socket_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(socket_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // socket+0x10 : push 0x276D { 0x10, 0x68 }, // (Offset,Value)-Pair #1 { 0x11, 0x6D }, // (Offset,Value)-Pair #2 @@ -151,21 +126,13 @@ SOOVPA<9> socket_1_0_4361 = { 0xD9, 0x89 }, // (Offset,Value)-Pair #7 { 0xDA, 0x4E }, // (Offset,Value)-Pair #8 { 0xDB, 0x04 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * bind // ****************************************************************** -SOOVPA<10> bind_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(bind_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // bind+0x11 : push 0x276D { 0x11, 0x68 }, // (Offset,Value)-Pair #1 { 0x12, 0x6D }, // (Offset,Value)-Pair #2 @@ -183,21 +150,13 @@ SOOVPA<10> bind_1_0_4361 = // bind+0x80 : retn 0x0C { 0x80, 0xC2 }, // (Offset,Value)-Pair #9 { 0x81, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * listen // ****************************************************************** -SOOVPA<9> listen_1_0_4361 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(listen_1_0_4361, 9) - XRefNotSaved, - XRefNotUsed, - - { // listen+0x10 : push 0x276D { 0x10, 0x68 }, // (Offset,Value)-Pair #1 { 0x11, 0x6D }, // (Offset,Value)-Pair #2 @@ -214,21 +173,13 @@ SOOVPA<9> listen_1_0_4361 = // listen+0x7F : retn 0x08 { 0x7F, 0xC2 }, // (Offset,Value)-Pair #8 { 0x80, 0x08 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * ioctlsocket // ****************************************************************** -SOOVPA<10> ioctlsocket_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(ioctlsocket_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // ioctlsocket+0x12 : push 0x276D { 0x12, 0x68 }, // (Offset,Value)-Pair #1 { 0x13, 0x6D }, // (Offset,Value)-Pair #2 @@ -246,82 +197,27 @@ SOOVPA<10> ioctlsocket_1_0_4361 = // ioctlsocket+0xC5 : retn 0x0C { 0xC5, 0xC2 }, // (Offset,Value)-Pair #9 { 0xC6, 0x0C }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XOnline_1_0_4361 // ****************************************************************** -OOVPATable XOnline_1_0_4361[] = -{ +OOVPATable XOnline_1_0_4361[] = { + // XNetStartup - { - (OOVPA*)&XNetStartup_1_0_4361, - - XTL::EmuXNetStartup, - - #ifdef _DEBUG_TRACE - "EmuXNetStartup" - #endif - }, - // WSAStartup - { - (OOVPA*)&WSAStartup_1_0_4361, - - XTL::EmuWSAStartup, - - #ifdef _DEBUG_TRACE - "EmuWSAStartup" - #endif - }, + OOVPA_TABLE_PATCH(XNetStartup_1_0_4361, XTL::EmuXNetStartup), + // WSAStartup + OOVPA_TABLE_PATCH(WSAStartup_1_0_4361, XTL::EmuWSAStartup), // XnInit (XREF) - { - (OOVPA*)&XnInit_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "XnInit (XRef)" - #endif - }, - // socket - { - (OOVPA*)&socket_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emusocket), - - #ifdef _DEBUG_TRACE - "Emusocket" - #endif - }, - // bind - { - (OOVPA*)&bind_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emubind), - - #ifdef _DEBUG_TRACE - "Emubind" - #endif - }, - // listen - { - (OOVPA*)&listen_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emulisten), - - #ifdef _DEBUG_TRACE - "Emulisten" - #endif - }, - // ioctlsocket - { - (OOVPA*)&ioctlsocket_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emuioctlsocket), - - #ifdef _DEBUG_TRACE - "Emuioctlsocket" - #endif - }, + OOVPA_TABLE_XREF(XnInit_1_0_4361), + // socket + OOVPA_TABLE_PATCH(socket_1_0_4361, MFPtoFP(&XTL::EmuThis::Emusocket)), + // bind + OOVPA_TABLE_PATCH(bind_1_0_4361, MFPtoFP(&XTL::EmuThis::Emubind)), + // listen + OOVPA_TABLE_PATCH(listen_1_0_4361, MFPtoFP(&XTL::EmuThis::Emulisten)), + // ioctlsocket + OOVPA_TABLE_PATCH(ioctlsocket_1_0_4361, MFPtoFP(&XTL::EmuThis::Emuioctlsocket)), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl index f4a8d8a85..423f7dfcf 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl @@ -35,15 +35,7 @@ // ****************************************************************** // * XnInit // ****************************************************************** -SOOVPA<12> XnInit_1_0_4627 = -{ - 0, // Large == 0 - 12, // Count == 12 - - XREF_XNINIT, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(XnInit_1_0_4627, 12, XREF_XNINIT, XRefZero) // XnInit+0x03 : sub esp, 0x0218 { 0x03, 0x81 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -61,21 +53,13 @@ SOOVPA<12> XnInit_1_0_4627 = { 0x3E, 0x45 }, // (Offset,Value)-Pair #10 { 0x3F, 0x54 }, // (Offset,Value)-Pair #11 { 0x40, 0x44 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** -SOOVPA<8> XNetGetEthernetLinkStatus_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetGetEthernetLinkStatus_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x33 }, { 0x10, 0x8A }, { 0x19, 0x00 }, @@ -84,21 +68,12 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_4627 = { 0x34, 0xF0 }, { 0x3D, 0x24 }, { 0x46, 0x5B }, - } -}; +OOVPA_END; // ****************************************************************** // * XoUpdateLaunchNewImageInternal // ****************************************************************** -SOOVPA<8> XoUpdateLaunchNewImageInternal_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XREF_XoUpdateLaunchNewImageInternal, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(XoUpdateLaunchNewImageInternal_1_0_4627, 8, XREF_XoUpdateLaunchNewImageInternal, XRefZero) { 0x1E, 0xDB }, { 0x3E, 0x1B }, { 0x5E, 0xF6 }, @@ -107,99 +82,31 @@ SOOVPA<8> XoUpdateLaunchNewImageInternal_1_0_4627 = { 0xBE, 0x50 }, { 0xDE, 0xE8 }, { 0xFE, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * XOnline_1_0_4627 // ****************************************************************** -OOVPATable XOnline_1_0_4627[] = -{ +OOVPATable XOnline_1_0_4627[] ={ + // XNetStartup (* unchanged since 4361 *) - { - (OOVPA*)&XNetStartup_1_0_4361, - - XTL::EmuXNetStartup, - - #ifdef _DEBUG_TRACE - "EmuXNetStartup" - #endif - }, + OOVPA_TABLE_PATCH(XNetStartup_1_0_4361, XTL::EmuXNetStartup), // WSAStartup - { - (OOVPA*)&WSAStartup_1_0_4361, - - XTL::EmuWSAStartup, - - #ifdef _DEBUG_TRACE - "EmuWSAStartup" - #endif - }, + OOVPA_TABLE_PATCH(WSAStartup_1_0_4361, XTL::EmuWSAStartup), // XnInit (XREF) - { - (OOVPA*)&XnInit_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XnInit (XRef)" - #endif - }, - // socket - { - (OOVPA*)&socket_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emusocket), - - #ifdef _DEBUG_TRACE - "Emusocket" - #endif - }, - // bind (* unchanged since 4361 *) - { - (OOVPA*)&bind_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emubind), - - #ifdef _DEBUG_TRACE - "Emubind" - #endif - }, - // listen - { - (OOVPA*)&listen_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emulisten), - - #ifdef _DEBUG_TRACE - "Emulisten" - #endif - }, - // ioctlsocket (* unchanged since 4361 *) - { - (OOVPA*)&ioctlsocket_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emuioctlsocket), - - #ifdef _DEBUG_TRACE - "Emuioctlsocket" - #endif - }, + OOVPA_TABLE_XREF(XnInit_1_0_4627), + // socket + OOVPA_TABLE_PATCH(socket_1_0_4361, MFPtoFP(&XTL::EmuThis::Emusocket)), + // bind (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(bind_1_0_4361, MFPtoFP(&XTL::EmuThis::Emubind)), + // listen + OOVPA_TABLE_PATCH(listen_1_0_4361, MFPtoFP(&XTL::EmuThis::Emulisten)), + // ioctlsocket (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(ioctlsocket_1_0_4361, MFPtoFP(&XTL::EmuThis::Emuioctlsocket)), // XNetGetEthernetLinkStatus - { - (OOVPA*)&XNetGetEthernetLinkStatus_1_0_4627, - XTL::EmuXNetGetEthernetLinkStatus, - - #ifdef _DEBUG_TRACE - "XNetGetEthernetLinkStatus" - #endif - }, + OOVPA_TABLE_PATCH(XNetGetEthernetLinkStatus_1_0_4627, XTL::EmuXNetGetEthernetLinkStatus), // XoUpdateLaunchNewImageInternal (XREF) - { - (OOVPA*)&XoUpdateLaunchNewImageInternal_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XoUpdateLaunchNewImageInternal (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XoUpdateLaunchNewImageInternal_1_0_4627), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl index d23af66df..2d044dc78 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XNetStartup // ****************************************************************** -SOOVPA<8> XNetStartup_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetStartup_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0xC0 }, { 0x04, 0x50 }, { 0x07, 0x24 }, @@ -52,21 +45,13 @@ SOOVPA<8> XNetStartup_1_0_5344 = { 0x14, 0xC2 }, { 0x15, 0x04 }, { 0x16, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** -SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetGetEthernetLinkStatus_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x33 }, { 0x10, 0x8A }, { 0x19, 0x00 }, @@ -75,21 +60,12 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 = { 0x34, 0xF0 }, { 0x3D, 0x24 }, { 0x46, 0x5B }, - } -}; +OOVPA_END; // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -SOOVPA<8> CXo_XOnlineLogon_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XREF_CXo_XOnlineLogon, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(CXo_XOnlineLogon_1_0_5344, 8, XREF_CXo_XOnlineLogon, XRefZero) { 0x21, 0xA8 }, { 0x3E, 0x80 }, { 0x5E, 0x00 }, @@ -98,21 +74,16 @@ SOOVPA<8> CXo_XOnlineLogon_1_0_5344 = { 0xBE, 0xEC }, { 0xDE, 0xF9 }, { 0xFE, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XOnlineLogon // ****************************************************************** -SOOVPA<8> XOnlineLogon_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XOnlineLogon_1_0_5344, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x0B, XREF_CXo_XOnlineLogon }, { 0x00, 0x55 }, @@ -122,109 +93,37 @@ SOOVPA<8> XOnlineLogon_1_0_5344 = { 0x04, 0x8B }, { 0x05, 0x0D }, { 0x0A, 0xE9 }, - } -}; +OOVPA_END; // ****************************************************************** // * XOnline_1_0_4627 // ****************************************************************** -OOVPATable XOnline_1_0_5233[] = -{ +OOVPATable XOnline_1_0_5233[] = { + // XNetStartup - { - (OOVPA*)&XNetStartup_1_0_5344, - - XTL::EmuXNetStartup, - - #ifdef _DEBUG_TRACE - "EmuXNetStartup" - #endif - }, + OOVPA_TABLE_PATCH(XNetStartup_1_0_5344, XTL::EmuXNetStartup), // WSAStartup (* unchanged since 4361 *) - { - (OOVPA*)&WSAStartup_1_0_4361, - - XTL::EmuWSAStartup, - - #ifdef _DEBUG_TRACE - "EmuWSAStartup" - #endif - }, + OOVPA_TABLE_PATCH(WSAStartup_1_0_4361, XTL::EmuWSAStartup), // XnInit (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&XnInit_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XnInit (XRef)" - #endif - }, - // socket - /*{ - (OOVPA*)&socket_1_0_4361, - - MFPtoFP(XTL::EmuThis::Emusocket), - - #ifdef _DEBUG_TRACE - "Emusocket" - #endif - },*/ + OOVPA_TABLE_XREF(XnInit_1_0_4627), + // socket + /* + OOVPA_TABLE_PATCH(socket_1_0_4361, MFPtoFP(XTL::EmuThis::Emusocket)), + */ // bind (* unchanged since 4361 *) - { - (OOVPA*)&bind_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emubind), - - #ifdef _DEBUG_TRACE - "Emubind" - #endif - }, - // listen - /*{ - (OOVPA*)&listen_1_0_4361, - - MFPtoFP(XTL::EmuThis::Emulisten), - - #ifdef _DEBUG_TRACE - "Emulisten" - #endif - },*/ + OOVPA_TABLE_PATCH(bind_1_0_4361, MFPtoFP(&XTL::EmuThis::Emubind)), + // listen + /* + OOVPA_TABLE_PATCH(listen_1_0_4361, MFPtoFP(XTL::EmuThis::Emulisten)), + */ // ioctlsocket (* unchanged since 4361 *) - { - (OOVPA*)&ioctlsocket_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emuioctlsocket), - - #ifdef _DEBUG_TRACE - "Emuioctlsocket" - #endif - }, + OOVPA_TABLE_PATCH(ioctlsocket_1_0_4361, MFPtoFP(&XTL::EmuThis::Emuioctlsocket)), // XNetGetEthernetLinkStatus - { - (OOVPA*)&XNetGetEthernetLinkStatus_1_0_5344, - XTL::EmuXNetGetEthernetLinkStatus, - - #ifdef _DEBUG_TRACE - "EmuXNetGetEthernetLinkStatus" - #endif - }, + OOVPA_TABLE_PATCH(XNetGetEthernetLinkStatus_1_0_5344, XTL::EmuXNetGetEthernetLinkStatus), // CXo::XOnlineLogon (XREF) - { - (OOVPA*)&CXo_XOnlineLogon_1_0_5344, - 0, - - #ifdef _DEBUG_TRACE - "CXo::XOnlineLogon (XREF) (5344)" - #endif - }, + OOVPA_TABLE_XREF(CXo_XOnlineLogon_1_0_5344), // XOnlineLogon - { - (OOVPA*)&XOnlineLogon_1_0_5344, - XTL::EmuXOnlineLogon, - - #ifdef _DEBUG_TRACE - "EmuXOnlineLogon (5344)" - #endif - }, + OOVPA_TABLE_PATCH(XOnlineLogon_1_0_5344, XTL::EmuXOnlineLogon), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl index 151b63733..5b30c3cad 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl @@ -36,15 +36,8 @@ // ****************************************************************** // * XNetStartup // ****************************************************************** -SOOVPA<8> XNetStartup_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetStartup_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0xC0 }, { 0x04, 0x50 }, { 0x07, 0x24 }, @@ -53,21 +46,13 @@ SOOVPA<8> XNetStartup_1_0_5344 = { 0x14, 0xC2 }, { 0x15, 0x04 }, { 0x16, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** -SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetGetEthernetLinkStatus_1_0_5344, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x33 }, { 0x10, 0x8A }, { 0x19, 0x00 }, @@ -76,21 +61,12 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5344 = { 0x34, 0xF0 }, { 0x3D, 0x24 }, { 0x46, 0x5B }, - } -}; +OOVPA_END; // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -SOOVPA<8> CXo_XOnlineLogon_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XREF_CXo_XOnlineLogon, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(CXo_XOnlineLogon_1_0_5344, 8, XREF_CXo_XOnlineLogon, XRefZero) { 0x21, 0xA8 }, { 0x3E, 0x80 }, { 0x5E, 0x00 }, @@ -99,21 +75,16 @@ SOOVPA<8> CXo_XOnlineLogon_1_0_5344 = { 0xBE, 0xEC }, { 0xDE, 0xF9 }, { 0xFE, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XOnlineLogon // ****************************************************************** -SOOVPA<8> XOnlineLogon_1_0_5344 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XOnlineLogon_1_0_5344, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x0B, XREF_CXo_XOnlineLogon }, { 0x00, 0x55 }, @@ -123,22 +94,14 @@ SOOVPA<8> XOnlineLogon_1_0_5344 = { 0x04, 0x8B }, { 0x05, 0x0D }, { 0x0A, 0xE9 }, - } -}; +OOVPA_END; #endif // ****************************************************************** // * WSAStartup // ****************************************************************** -SOOVPA<7> WSAStartup_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(WSAStartup_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x24 }, { 0x0A, 0x6A }, @@ -146,93 +109,35 @@ SOOVPA<7> WSAStartup_1_0_5558 = { 0x13, 0xE8 }, { 0x18, 0xC2 }, { 0x1A, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XOnline_1_0_5558 // ****************************************************************** // * TODO: Verify all of these // ****************************************************************** -OOVPATable XOnline_1_0_5558[] = -{ +OOVPATable XOnline_1_0_5558[] = { + // XNetStartup - { - (OOVPA*)&XNetStartup_1_0_5344, - - XTL::EmuXNetStartup, - - #ifdef _DEBUG_TRACE - "EmuXNetStartup (5344)" - #endif - }, + OOVPA_TABLE_PATCH(XNetStartup_1_0_5344, XTL::EmuXNetStartup), // WSAStartup - { - (OOVPA*)&WSAStartup_1_0_5558, - - XTL::EmuWSAStartup, - - #ifdef _DEBUG_TRACE - "EmuWSAStartup" - #endif - }, + OOVPA_TABLE_PATCH(WSAStartup_1_0_5558, XTL::EmuWSAStartup), // XnInit (XREF) (* unchanged since 4627 *) - { - (OOVPA*)&XnInit_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XnInit (XRef)" - #endif - }, - // socket - /*{ - (OOVPA*)&socket_1_0_4361, - - MFPtoFP(XTL::EmuThis::Emusocket), - - #ifdef _DEBUG_TRACE - "Emusocket" - #endif - },*/ + OOVPA_TABLE_XREF(XnInit_1_0_4627), + // socket + /* + OOVPA_TABLE_PATCH(socket_1_0_4361, MFPtoFP(XTL::EmuThis::Emusocket)), + */ // bind (* unchanged since 4361 *) - { - (OOVPA*)&bind_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emubind), - - #ifdef _DEBUG_TRACE - "Emubind" - #endif - }, - // listen - /*{ - (OOVPA*)&listen_1_0_4361, - - MFPtoFP(XTL::EmuThis::Emulisten), - - #ifdef _DEBUG_TRACE - "Emulisten" - #endif - },*/ + OOVPA_TABLE_PATCH(bind_1_0_4361, MFPtoFP(&XTL::EmuThis::Emubind)), + // listen + /* + OOVPA_TABLE_PATCH(listen_1_0_4361, MFPtoFP(XTL::EmuThis::Emulisten)), + */ // ioctlsocket (* unchanged since 4361 *) - { - (OOVPA*)&ioctlsocket_1_0_4361, - - MFPtoFP(&XTL::EmuThis::Emuioctlsocket), - - #ifdef _DEBUG_TRACE - "Emuioctlsocket" - #endif - }, + OOVPA_TABLE_PATCH(ioctlsocket_1_0_4361, MFPtoFP(&XTL::EmuThis::Emuioctlsocket)), // XNetGetEthernetLinkStatus - { - (OOVPA*)&XNetGetEthernetLinkStatus_1_0_5344, - XTL::EmuXNetGetEthernetLinkStatus, - - #ifdef _DEBUG_TRACE - "EmuXNetGetEthernetLinkStatus (5344)" - #endif - }, + OOVPA_TABLE_PATCH(XNetGetEthernetLinkStatus_1_0_5344, XTL::EmuXNetGetEthernetLinkStatus), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl index fafbefb71..5c9b9d7ba 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl @@ -35,15 +35,7 @@ // ****************************************************************** // * XnInit // ****************************************************************** -SOOVPA<8> XnInit_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XREF_XNINIT, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(XnInit_1_0_5849, 8, XREF_XNINIT, XRefZero) { 0x1E, 0x3B }, { 0x3E, 0x45 }, { 0x5E, 0x00 }, @@ -52,21 +44,13 @@ SOOVPA<8> XnInit_1_0_5849 = { 0xC0, 0x33 }, { 0xDE, 0xFE }, { 0xFE, 0x48 }, - } -}; +OOVPA_END; // ****************************************************************** // * XNetStartup // ****************************************************************** -SOOVPA<8> XNetStartup_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetStartup_1_0_5849, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0xC0 }, { 0x04, 0x50 }, { 0x07, 0x24 }, @@ -75,21 +59,13 @@ SOOVPA<8> XNetStartup_1_0_5849 = { 0x14, 0xC2 }, { 0x15, 0x04 }, { 0x16, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * WSAStartup // ****************************************************************** -SOOVPA<7> WSAStartup_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(WSAStartup_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x06, 0x24 }, { 0x0A, 0x6A }, @@ -97,21 +73,13 @@ SOOVPA<7> WSAStartup_1_0_5849 = { 0x13, 0xE8 }, { 0x18, 0xC2 }, { 0x1A, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** -SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XNetGetEthernetLinkStatus_1_0_5849, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x33 }, { 0x10, 0x8A }, { 0x19, 0x00 }, @@ -120,51 +88,20 @@ SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5849 = { 0x34, 0xF0 }, { 0x3D, 0x24 }, { 0x46, 0x5B }, - } -}; +OOVPA_END; // ****************************************************************** // * XOnline_1_0_5849 // ****************************************************************** -OOVPATable XOnline_1_0_5849[] = -{ +OOVPATable XOnline_1_0_5849[] = { // XNetStartup - { - (OOVPA*)&XNetStartup_1_0_5849, - - XTL::EmuXNetStartup, - - #ifdef _DEBUG_TRACE - "EmuXNetStartup" - #endif - }, - // WSAStartup - { - (OOVPA*)&WSAStartup_1_0_5849, - - XTL::EmuWSAStartup, - - #ifdef _DEBUG_TRACE - "EmuWSAStartup" - #endif - }, + OOVPA_TABLE_PATCH(XNetStartup_1_0_5849, XTL::EmuXNetStartup), + // WSAStartup + OOVPA_TABLE_PATCH(WSAStartup_1_0_5849, XTL::EmuWSAStartup), // XnInit (XREF) - { - (OOVPA*)&XnInit_1_0_5849, 0, - - #ifdef _DEBUG_TRACE - "XnInit (XRef)" - #endif - }, + OOVPA_TABLE_XREF(XnInit_1_0_5849), // XNetGetEthernetLinkStatus - { - (OOVPA*)&XNetGetEthernetLinkStatus_1_0_5849, - XTL::EmuXNetGetEthernetLinkStatus, - - #ifdef _DEBUG_TRACE - "EmuXNetGetEthernetLinkStatus" - #endif - }, + OOVPA_TABLE_PATCH(XNetGetEthernetLinkStatus_1_0_5849, XTL::EmuXNetGetEthernetLinkStatus), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl index a3d30820a..e3d305809 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XACTEngineCreate // ****************************************************************** -SOOVPA<11> XACTEngineCreate_1_0_4627 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XACTEngineCreate_1_0_4627, 11) - XRefNotSaved, - XRefNotUsed, - - { // XACTEngineCreate+0x0C : movzx ebx, al { 0x0C, 0x0F }, { 0x0D, 0xB6 }, @@ -62,21 +55,13 @@ SOOVPA<11> XACTEngineCreate_1_0_4627 = // XACTEngineCreate+0x9A : retn 0x8 { 0x9A, 0xC2 }, { 0x9B, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACTEngineCreate // ****************************************************************** -SOOVPA<11> XACTEngineCreate_1_0_4928 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XACTEngineCreate_1_0_4928, 11) - XRefNotSaved, - XRefNotUsed, - - { // XACTEngineCreate+0x09 : movzx ebx, al { 0x09, 0x0F }, { 0x0A, 0xB6 }, @@ -95,21 +80,16 @@ SOOVPA<11> XACTEngineCreate_1_0_4928 = // XACTEngineCreate+0x9E : retn 0x8 { 0x9E, 0xC2 }, { 0x9F, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::RegisterWaveBank // ****************************************************************** -SOOVPA<7> XACT_CEngine_RegisterWaveBank_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(XACT_CEngine_RegisterWaveBank_1_0_4627, 7, - XREF_XACT_CEngine_RegisterWaveBank, // Xref Is Saved - XRefNotUsed, + XREF_XACT_CEngine_RegisterWaveBank, + XRefZero) - { { 0x11, 0x33 }, { 0x24, 0xC6 }, { 0x37, 0xE7 }, @@ -117,21 +97,16 @@ SOOVPA<7> XACT_CEngine_RegisterWaveBank_1_0_4627 = { 0x5D, 0x83 }, { 0x70, 0x33 }, { 0x84, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_RegisterWaveBank // ****************************************************************** -SOOVPA<8> IXACTEngine_RegisterWaveBank_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IXACTEngine_RegisterWaveBank_1_0_4627, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_XACT_CEngine_RegisterWaveBank }, { 0x03, 0x10 }, @@ -141,21 +116,13 @@ SOOVPA<8> IXACTEngine_RegisterWaveBank_1_0_4627 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACTEngineDoWork // ****************************************************************** -SOOVPA<7> XACTEngineDoWork_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XACTEngineDoWork_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x8B }, { 0x0D, 0x85 }, { 0x13, 0x0C }, @@ -163,21 +130,16 @@ SOOVPA<7> XACTEngineDoWork_1_0_4627 = { 0x21, 0xFF }, { 0x29, 0xFF }, { 0x2F, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::RegisterStreamedWaveBank // ****************************************************************** -SOOVPA<8> XACT_CEngine_RegisterStreamedWaveBank_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank_1_0_4627, 8, - XREF_XACT_CEngine_RegisterStreamedWaveBank, // Xref Is Saved - XRefNotUsed, + XREF_XACT_CEngine_RegisterStreamedWaveBank, + XRefZero) - { { 0x10, 0x01 }, { 0x23, 0x3B }, { 0x34, 0x1B }, @@ -186,21 +148,16 @@ SOOVPA<8> XACT_CEngine_RegisterStreamedWaveBank_1_0_4627 = { 0x6A, 0x41 }, { 0x7C, 0x68 }, { 0x8E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::RegisterStreamedWaveBank // ****************************************************************** -SOOVPA<13> XACT_CEngine_RegisterStreamedWaveBank_1_0_4928 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank_1_0_4928, 13, - XREF_XACT_CEngine_RegisterStreamedWaveBank, // Xref Is Saved - XRefNotUsed, + XREF_XACT_CEngine_RegisterStreamedWaveBank, + XRefZero) - { // XACT_CEngine_RegisterStreamedWaveBank+0x07 : push 0x7C { 0x07, 0x6A }, // (Offset,Value)-Pair #1 { 0x08, 0x7C }, // (Offset,Value)-Pair #2 @@ -218,21 +175,16 @@ SOOVPA<13> XACT_CEngine_RegisterStreamedWaveBank_1_0_4928 = // XACT_CEngine_RegisterStreamedWaveBank+0x71 : retn 0x0C { 0x71, 0xC2 }, // (Offset,Value)-Pair #12 { 0x72, 0x0C }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** -// * IXACTEngine_RegisterStreamedWaveBank +// * IXACTEngine_RegisterStreamedWaveBank // ****************************************************************** -SOOVPA<9> IXACTEngine_RegisterStreamedWaveBank_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank_1_0_4627, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_XACT_CEngine_RegisterStreamedWaveBank }, { 0x02, 0x24 }, @@ -243,21 +195,16 @@ SOOVPA<9> IXACTEngine_RegisterStreamedWaveBank_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** -// * IXACTEngine_RegisterStreamedWaveBank +// * IXACTEngine_RegisterStreamedWaveBank // ****************************************************************** -SOOVPA<10> IXACTEngine_RegisterStreamedWaveBank_1_0_4928 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank_1_0_4928, 10, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { // IXACTEngine_RegisterStreamedWaveBank+0x22 : call XACT::CEngine::RegisterStreamedWaveBank { 0x23, XREF_XACT_CEngine_RegisterStreamedWaveBank }, @@ -273,21 +220,16 @@ SOOVPA<10> IXACTEngine_RegisterStreamedWaveBank_1_0_4928 = // IXACTEngine_RegisterStreamedWaveBank+0x3C : retn 0x0C { 0x3C, 0xC2 }, { 0x3D, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::CreateSoundBank // ****************************************************************** -SOOVPA<8> XACT_CEngine_CreateSoundBank_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XACT_CEngine_CreateSoundBank_1_0_4627, 8, - XREF_XACT_CEngine_CreateSoundBank, // Xref Is Saved - XRefNotUsed, + XREF_XACT_CEngine_CreateSoundBank, + XRefZero) - { { 0x0E, 0xA0 }, { 0x1E, 0x8B }, { 0x2E, 0xE6 }, @@ -296,21 +238,15 @@ SOOVPA<8> XACT_CEngine_CreateSoundBank_1_0_4627 = { 0x5E, 0xC7 }, { 0x72, 0xFF }, { 0x7E, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::CreateSoundBank // ****************************************************************** -SOOVPA<13> XACT_CEngine_CreateSoundBank_1_0_4928 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_XREF(XACT_CEngine_CreateSoundBank_1_0_4928, 13, - XREF_XACT_CEngine_CreateSoundBank, // Xref Is Saved - XRefNotUsed, - - { + XREF_XACT_CEngine_CreateSoundBank, + XRefZero) // XACT::CEngine::CreateSoundBank+0x02 : push 0x34 { 0x02, 0x6A }, // (Offset,Value)-Pair #1 { 0x03, 0x34 }, // (Offset,Value)-Pair #2 @@ -328,21 +264,16 @@ SOOVPA<13> XACT_CEngine_CreateSoundBank_1_0_4928 = // XACT::CEngine::CreateSoundBank+0x73 : retn 0x10 { 0x73, 0xC2 }, // (Offset,Value)-Pair #12 { 0x74, 0x10 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_CreateSoundBank // ****************************************************************** -SOOVPA<8> IXACTEngine_CreateSoundBank_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IXACTEngine_CreateSoundBank_1_0_4627, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1D, XREF_XACT_CEngine_CreateSoundBank }, { 0x03, 0x10 }, @@ -352,26 +283,21 @@ SOOVPA<8> IXACTEngine_CreateSoundBank_1_0_4627 = { 0x17, 0x1B }, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_CreateSoundBank // ****************************************************************** -SOOVPA<10> IXACTEngine_CreateSoundBank_1_0_4928 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_XREF(IXACTEngine_CreateSoundBank_1_0_4928, 10, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x27, XREF_XACT_CEngine_CreateSoundBank }, // IXACTEngine_CreateSoundBank+0x07 : push [ebp+8+0x10] { 0x07, 0xFF }, - { 0x08, 0x74 }, + { 0x08, 0x74 }, { 0x09, 0x24 }, { 0x0A, 0x18 }, // IXACTEngine_CreateSoundBank+0x0B : movzx esi, al @@ -381,21 +307,15 @@ SOOVPA<10> IXACTEngine_CreateSoundBank_1_0_4928 = // IXACTEngine_CreateSoundBank+0x40 : retn 0x10 { 0x40, 0xC2 }, { 0x41, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::DownloadEffectsImage // ****************************************************************** -SOOVPA<7> XACT_CEngine_DownloadEffectsImage_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(XACT_CEngine_DownloadEffectsImage_1_0_4627, 7, - XREF_XACT_CEngine_DownloadEffectsImage, // Xref Is Saved - XRefNotUsed, - - { + XREF_XACT_CEngine_DownloadEffectsImage, + XRefZero) { 0x0B, 0x8B }, { 0x12, 0xFF }, { 0x1C, 0x46 }, @@ -403,21 +323,16 @@ SOOVPA<7> XACT_CEngine_DownloadEffectsImage_1_0_4627 = { 0x30, 0x89 }, { 0x3A, 0x68 }, { 0x45, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_DownloadEffectsImage // ****************************************************************** -SOOVPA<9> IXACTEngine_DownloadEffectsImage_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IXACTEngine_DownloadEffectsImage_1_0_4627, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x1F, XREF_XACT_CEngine_DownloadEffectsImage }, { 0x03, 0xFF }, @@ -428,21 +343,15 @@ SOOVPA<9> IXACTEngine_DownloadEffectsImage_1_0_4627 = { 0x1C, 0xC8 }, { 0x23, 0x5D }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::CreateSoundSource // ****************************************************************** -SOOVPA<8> XACT_CEngine_CreateSoundSource_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XACT_CEngine_CreateSoundSource_1_0_4627, 8, - XREF_XACT_CEngine_CreateSoundSource, // Xref Is Saved - XRefNotUsed, - - { + XREF_XACT_CEngine_CreateSoundSource, + XRefZero) { 0x0A, 0x0F }, { 0x14, 0x8B }, { 0x1F, 0x50 }, @@ -451,21 +360,16 @@ SOOVPA<8> XACT_CEngine_CreateSoundSource_1_0_4627 = { 0x40, 0x08 }, { 0x4B, 0x15 }, { 0x56, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_CreateSoundSource // ****************************************************************** -SOOVPA<9> IXACTEngine_CreateSoundSource_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IXACTEngine_CreateSoundSource_1_0_4627, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_XACT_CEngine_CreateSoundSource }, { 0x02, 0x24 }, @@ -476,21 +380,15 @@ SOOVPA<9> IXACTEngine_CreateSoundSource_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CSoundBank::GetSoundCueIndexFromFriendlyName // ****************************************************************** -SOOVPA<7> XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627, 7, - XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, // Xref Is Saved - XRefNotUsed, - - { + XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, + XRefZero) { 0x12, 0x8B }, { 0x22, 0x46 }, { 0x34, 0x68 }, @@ -498,21 +396,16 @@ SOOVPA<7> XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 = { 0x58, 0x39 }, { 0x6A, 0x45 }, { 0x7E, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTSoundBank_GetSoundCueIndexFromFriendlyName // ****************************************************************** -SOOVPA<9> IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName }, { 0x02, 0x24 }, @@ -523,21 +416,13 @@ SOOVPA<9> IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTSoundBank_Play // ****************************************************************** -SOOVPA<8> IXACTSoundBank_Play_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(IXACTSoundBank_Play_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0xFF }, { 0x08, 0x08 }, { 0x0D, 0xC8 }, @@ -546,21 +431,15 @@ SOOVPA<8> IXACTSoundBank_Play_1_0_4627 = { 0x1C, 0xC8 }, { 0x23, 0x5D }, { 0x26, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::RegisterNotification // ****************************************************************** -SOOVPA<7> XACT_CEngine_RegisterNotification_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_XREF(XACT_CEngine_RegisterNotification_1_0_4627, 7, - XREF_XACT_CEngine_RegisterNotification, // Xref Is Saved - XRefNotUsed, - - { + XREF_XACT_CEngine_RegisterNotification, + XRefZero) { 0x07, 0x8B }, { 0x0C, 0x01 }, { 0x13, 0xF0 }, @@ -568,21 +447,16 @@ SOOVPA<7> XACT_CEngine_RegisterNotification_1_0_4627 = { 0x24, 0xFF }, { 0x2A, 0x8B }, { 0x2F, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_RegisterNotification // ****************************************************************** -SOOVPA<8> IXACTEngine_RegisterNotification_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IXACTEngine_RegisterNotification_1_0_4627, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_XACT_CEngine_RegisterNotification }, { 0x02, 0x24 }, @@ -592,21 +466,15 @@ SOOVPA<8> IXACTEngine_RegisterNotification_1_0_4627 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::GetNotification // ****************************************************************** -SOOVPA<8> XACT_CEngine_GetNotification_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XACT_CEngine_GetNotification_1_0_4627, 8, - XREF_XACT_CEngine_GetNotification, // Xref Is Saved - XRefNotUsed, - - { + XREF_XACT_CEngine_GetNotification, + XRefZero) { 0x11, 0x8D }, { 0x24, 0x5A }, { 0x37, 0xC0 }, @@ -615,21 +483,16 @@ SOOVPA<8> XACT_CEngine_GetNotification_1_0_4627 = { 0x74, 0x8B }, { 0x83, 0x40 }, { 0x96, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_GetNotification // ****************************************************************** -SOOVPA<9> IXACTEngine_GetNotification_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(IXACTEngine_GetNotification_1_0_4627, 9, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x19, XREF_XACT_CEngine_GetNotification }, { 0x02, 0x24 }, @@ -640,21 +503,12 @@ SOOVPA<9> IXACTEngine_GetNotification_1_0_4627 = { 0x16, 0xC8 }, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::UnRegisterWaveBank // ****************************************************************** -SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XREF_XACT_CEngine_UnRegisterWaveBank, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank_1_0_4627, 8, XREF_XACT_CEngine_UnRegisterWaveBank, XRefZero) { 0x07, 0x8B }, { 0x10, 0x58 }, { 0x19, 0x8B }, @@ -663,21 +517,12 @@ SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4627 = { 0x34, 0x5F }, { 0x3D, 0xFF }, { 0x46, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * XACT::CEngine::UnRegisterWaveBank // ****************************************************************** -SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4928 = -{ - 0, // Large == 0 - 8, // Count == 8 - - XREF_XACT_CEngine_UnRegisterWaveBank, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank_1_0_4928, 8, XREF_XACT_CEngine_UnRegisterWaveBank, XRefZero) // XACT_CEngine_UnRegisterWaveBank+0x06 : lea eax, [ecx+0x58] { 0x06, 0x8D }, { 0x07, 0x41 }, @@ -689,22 +534,17 @@ SOOVPA<8> XACT_CEngine_UnRegisterWaveBank_1_0_4928 = // XACT_CEngine_UnRegisterWaveBank+0xBF : retn 0x8 { 0xBF, 0xC2 }, { 0xC0, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_UnRegisterWaveBank // ****************************************************************** -SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IXACTEngine_UnRegisterWaveBank_1_0_4627, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { { 0x15, XREF_XACT_CEngine_UnRegisterWaveBank }, { 0x02, 0x24 }, @@ -714,21 +554,16 @@ SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4627 = { 0x12, 0xC8 }, { 0x19, 0xC2 }, { 0x1A, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * IXACTEngine_UnRegisterWaveBank // ****************************************************************** -SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4928 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(IXACTEngine_UnRegisterWaveBank_1_0_4928, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { // IXACTEngine_UnRegisterWaveBank+0x1E : call XACT::CEngine::UnRegisterWaveBank { 0x1F, XREF_XACT_CEngine_UnRegisterWaveBank }, @@ -739,265 +574,69 @@ SOOVPA<8> IXACTEngine_UnRegisterWaveBank_1_0_4928 = { 0x26, 0xF8 }, { 0x2E, 0xFF }, { 0x36, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * XactEng_1_0_4627 // ****************************************************************** -OOVPATable XactEng_1_0_4627[] = -{ - // XACTEngineCreate - { - (OOVPA*) &XACTEngineCreate_1_0_4627, - - XTL::EmuXACTEngineCreate, +OOVPATable XactEng_1_0_4627[] = { - #ifdef _DEBUG_TRACE - "EmuXACTEngineCreate" - #endif - }, // XACTEngineCreate - { - (OOVPA*) &XACTEngineCreate_1_0_4928, - - XTL::EmuXACTEngineCreate, - - #ifdef _DEBUG_TRACE - "EmuXACTEngineCreate_4928" - #endif - }, + OOVPA_TABLE_PATCH(XACTEngineCreate_1_0_4627, XTL::EmuXACTEngineCreate), + // XACTEngineCreate + OOVPA_TABLE_PATCH(XACTEngineCreate_1_0_4928, XTL::EmuXACTEngineCreate), // XACTEngineDoWork - { - (OOVPA*) &XACTEngineDoWork_1_0_4627, - - XTL::EmuXACTEngineDoWork, - - #ifdef _DEBUG_TRACE - "EmuXACTEngineDoWork" - #endif - }, + OOVPA_TABLE_PATCH(XACTEngineDoWork_1_0_4627, XTL::EmuXACTEngineDoWork), // XACT_CEngine_RegisterWaveBank - { - (OOVPA*)&XACT_CEngine_RegisterWaveBank_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::RegisterWaveBank (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_RegisterWaveBank_1_0_4627), // IXACTEngine_RegisterWaveBank - { - (OOVPA*)&IXACTEngine_RegisterWaveBank_1_0_4627, - - XTL::EmuIXACTEngine_RegisterWaveBank, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_ResiterWaveBank" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_RegisterWaveBank_1_0_4627, XTL::EmuIXACTEngine_RegisterWaveBank), // XACT::CEngine::RegisterStreamedWaveBank (XREF) - { - (OOVPA*)&XACT_CEngine_RegisterStreamedWaveBank_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::RegisterStreamedWaveBank (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_RegisterStreamedWaveBank_1_0_4627), // XACT::CEngine::RegisterStreamedWaveBank (XREF) - { - (OOVPA*)&XACT_CEngine_RegisterStreamedWaveBank_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::RegisterStreamedWaveBank_4928 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_RegisterStreamedWaveBank_1_0_4928), // IXACTEngine_RegisterStreamedWaveBank - { - (OOVPA*)&IXACTEngine_RegisterStreamedWaveBank_1_0_4627, - XTL::EmuIXACTEngine_RegisterStreamedWaveBank, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_RegisterStreamedWaveBank" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_RegisterStreamedWaveBank_1_0_4627, XTL::EmuIXACTEngine_RegisterStreamedWaveBank), // IXACTEngine_RegisterStreamedWaveBank - { - (OOVPA*)&IXACTEngine_RegisterStreamedWaveBank_1_0_4928, - XTL::EmuIXACTEngine_RegisterStreamedWaveBank, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_RegisterStreamedWaveBank_4928" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_RegisterStreamedWaveBank_1_0_4928, XTL::EmuIXACTEngine_RegisterStreamedWaveBank), // XACT::CEngine::CreateSoundBank (XREF) - { - (OOVPA*)&XACT_CEngine_CreateSoundBank_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::CreateSoundBank (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_CreateSoundBank_1_0_4627), // XACT::CEngine::CreateSoundBank (XREF) - { - (OOVPA*)&XACT_CEngine_CreateSoundBank_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::CreateSoundBank_4928 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_CreateSoundBank_1_0_4928), // IXACTEngine_CreateSoundBank - { - (OOVPA*)&IXACTEngine_CreateSoundBank_1_0_4627, - XTL::EmuIXACTEngine_CreateSoundBank, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_CreateSoundBank" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_CreateSoundBank_1_0_4627, XTL::EmuIXACTEngine_CreateSoundBank), // IXACTEngine_CreateSoundBank - { - (OOVPA*)&IXACTEngine_CreateSoundBank_1_0_4928, - XTL::EmuIXACTEngine_CreateSoundBank, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_CreateSoundBank_4928" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_CreateSoundBank_1_0_4928, XTL::EmuIXACTEngine_CreateSoundBank), // XACT::CEngine::DownloadEffectsImage (XREF) - { - (OOVPA*)&XACT_CEngine_DownloadEffectsImage_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::DownloadEffectsImage (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_DownloadEffectsImage_1_0_4627), // IXACTEngine_DownloadEffectsImage - { - (OOVPA*)&IXACTEngine_DownloadEffectsImage_1_0_4627, - XTL::EmuIXACTEngine_DownloadEffectsImage, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_DownloadEffectsImage" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_DownloadEffectsImage_1_0_4627, XTL::EmuIXACTEngine_DownloadEffectsImage), // XACT::CEngine::CreateSoundSource (XREF) - { - (OOVPA*)&XACT_CEngine_CreateSoundSource_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::CreateSoundSource (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_CreateSoundSource_1_0_4627), // IXACTEngine_CreateSoundSource - { - (OOVPA*)&IXACTEngine_CreateSoundSource_1_0_4627, - XTL::EmuIXACTEngine_CreateSoundSource, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_CreateSoundSource" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_CreateSoundSource_1_0_4627, XTL::EmuIXACTEngine_CreateSoundSource), // XACT::CSoundBank::GetSoundCueIndexFromFriendlyName (XREF) - { - (OOVPA*)&XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "XACT::CSoundBank::GetSoundCueIndexFromFriendlyName (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627), // IXACTSoundBank_GetSoundCueIndexFromFriendlyName - { - (OOVPA*)&IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627, - XTL::EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName, - - #ifdef _DEBUG_TRACE - "EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName" - #endif - }, + OOVPA_TABLE_PATCH(IXACTSoundBank_GetSoundCueIndexFromFriendlyName_1_0_4627, XTL::EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName), // IXACTSoundBank_Play - { - (OOVPA*)&IXACTSoundBank_Play_1_0_4627, - XTL::EmuIXACTSoundBank_Play, - - #ifdef _DEBUG_TRACE - "EmuIXACTSoundBank_Play" - #endif - }, + OOVPA_TABLE_PATCH(IXACTSoundBank_Play_1_0_4627, XTL::EmuIXACTSoundBank_Play), // XACT::CEngine::RegisterNotification - { - (OOVPA*)&XACT_CEngine_RegisterNotification_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::RegisterNotification (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_RegisterNotification_1_0_4627), // IXACTEngine_RegisterNotification - { - (OOVPA*)&IXACTEngine_RegisterNotification_1_0_4627, - - XTL::EmuIXACTEngine_RegisterNotification, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_RegisterNotification (XREF)" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_RegisterNotification_1_0_4627, XTL::EmuIXACTEngine_RegisterNotification), // XACT::CEngine::GetNotification - { - (OOVPA*)&XACT_CEngine_GetNotification_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::GetNotification (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_GetNotification_1_0_4627), // IXACTEngine_GetNotification - { - (OOVPA*)&IXACTEngine_GetNotification_1_0_4627, - XTL::EmuIXACTEngine_GetNotification, - - #ifdef _DEBUG_TRACE - "EmuIXACTEngine_GetNotification" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_GetNotification_1_0_4627, XTL::EmuIXACTEngine_GetNotification), // XACT::CEngine::UnRegisterWaveBank (XREF) - { - (OOVPA*)&XACT_CEngine_UnRegisterWaveBank_1_0_4627, - 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::UnRegisterWaveBank (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_UnRegisterWaveBank_1_0_4627), // XACT::CEngine::UnRegisterWaveBank (XREF) - { - (OOVPA*)&XACT_CEngine_UnRegisterWaveBank_1_0_4928, - 0, - - #ifdef _DEBUG_TRACE - "XACT::CEngine::UnRegisterWaveBank_4928 (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XACT_CEngine_UnRegisterWaveBank_1_0_4928), // IXACTEngine_UnRegisterWaveBank - { - (OOVPA*)&IXACTEngine_UnRegisterWaveBank_1_0_4627, - XTL::EmuIXACTEngine_UnRegisterWaveBank, - - #ifdef _DEBUG_TRACE - "IXACTEngine_UnRegisterWaveBank" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_UnRegisterWaveBank_1_0_4627, XTL::EmuIXACTEngine_UnRegisterWaveBank), // IXACTEngine_UnRegisterWaveBank - { - (OOVPA*)&IXACTEngine_UnRegisterWaveBank_1_0_4928, - XTL::EmuIXACTEngine_UnRegisterWaveBank, - - #ifdef _DEBUG_TRACE - "IXACTEngine_UnRegisterWaveBank_4928" - #endif - }, + OOVPA_TABLE_PATCH(IXACTEngine_UnRegisterWaveBank_1_0_4928, XTL::EmuIXACTEngine_UnRegisterWaveBank), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl index 128b6fc60..7e10098de 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * GetExitCodeThread // ****************************************************************** -SOOVPA<11> GetExitCodeThread_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(GetExitCodeThread_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // GetExitCodeThread+0x03 : lea eax, [ebp+0x08] { 0x03, 0x8D }, // (Offset,Value)-Pair #1 { 0x04, 0x45 }, // (Offset,Value)-Pair #2 @@ -62,21 +55,13 @@ SOOVPA<11> GetExitCodeThread_1_0_3911 = // GetExitCodeThread+0x49 : retn 0x08 { 0x49, 0xC2 }, // (Offset,Value)-Pair #10 { 0x4A, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * RtlCreateHeap // ****************************************************************** -SOOVPA<10> RtlCreateHeap_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(RtlCreateHeap_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // RtlCreateHeap+0x13 : push 0x0C { 0x13, 0x6A }, // (Offset,Value)-Pair #1 { 0x14, 0x0C }, // (Offset,Value)-Pair #2 @@ -96,21 +81,13 @@ SOOVPA<10> RtlCreateHeap_1_0_3911 = { 0xA4, 0x39 }, // (Offset,Value)-Pair #8 { 0xA5, 0x75 }, // (Offset,Value)-Pair #9 { 0xA6, 0xC8 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * RtlAllocateHeap // ****************************************************************** -SOOVPA<11> RtlAllocateHeap_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(RtlAllocateHeap_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // RtlAllocateHeap+0x1E : or ecx, [esi+0x18] { 0x1E, 0x0B }, // (Offset,Value)-Pair #1 { 0x1F, 0x4E }, // (Offset,Value)-Pair #2 @@ -131,21 +108,13 @@ SOOVPA<11> RtlAllocateHeap_1_0_3911 = // RtlAllocateHeap+0xA5 : shl edi, cl { 0xA5, 0xD3 }, // (Offset,Value)-Pair #10 { 0xA6, 0xE7 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * RtlFreeHeap // ****************************************************************** -SOOVPA<10> RtlFreeHeap_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(RtlFreeHeap_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // RtlFreeHeap+0x1F : test ecx, ecx { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 { 0x20, 0xC9 }, // (Offset,Value)-Pair #2 @@ -163,21 +132,13 @@ SOOVPA<10> RtlFreeHeap_1_0_3911 = { 0x7B, 0x83 }, // (Offset,Value)-Pair #8 { 0x7C, 0xE1 }, // (Offset,Value)-Pair #9 { 0x7D, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * RtlReAllocateHeap // ****************************************************************** -SOOVPA<10> RtlReAllocateHeap_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(RtlReAllocateHeap_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // RtlReAllocateHeap+0x1C : test esi, esi { 0x1C, 0x85 }, // (Offset,Value)-Pair #1 { 0x1D, 0xF6 }, // (Offset,Value)-Pair #2 @@ -193,21 +154,13 @@ SOOVPA<10> RtlReAllocateHeap_1_0_3911 = { 0x60, 0x83 }, // (Offset,Value)-Pair #8 { 0x61, 0xC1 }, // (Offset,Value)-Pair #9 { 0x62, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * RtlSizeHeap // ****************************************************************** -SOOVPA<11> RtlSizeHeap_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(RtlSizeHeap_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // RtlSizeHeap+0x04 : mov al, [ecx-0x0B] { 0x04, 0x8A }, // (Offset,Value)-Pair #1 { 0x05, 0x41 }, // (Offset,Value)-Pair #2 @@ -226,8 +179,7 @@ SOOVPA<11> RtlSizeHeap_1_0_3911 = // RtlSizeHeap+0x2A : sub eax, ecx { 0x2A, 0x2B }, // (Offset,Value)-Pair #10 { 0x2B, 0xC1 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * XInitDevices @@ -235,15 +187,8 @@ SOOVPA<11> RtlSizeHeap_1_0_3911 = // * NOTE: We are actually intercepting USBD_Init, because // * XInitDevices Simply redirects to that function // ****************************************************************** -SOOVPA<10> XInitDevices_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XInitDevices_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // XInitDevices+0x03 : push 0xB4 { 0x03, 0x68 }, // (Offset,Value)-Pair #1 { 0x04, 0xB4 }, // (Offset,Value)-Pair #2 @@ -261,21 +206,13 @@ SOOVPA<10> XInitDevices_1_0_3911 = // XInitDevices+0x8B : retn 8 { 0x8B, 0xC2 }, // (Offset,Value)-Pair #9 { 0x8C, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * CreateMutex // ****************************************************************** -SOOVPA<13> CreateMutex_1_0_3911 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(CreateMutex_1_0_3911, 13) - XRefNotSaved, - XRefNotUsed, - - { // CreateMutex+0x03 : sub esp, 0x14 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -296,21 +233,13 @@ SOOVPA<13> CreateMutex_1_0_3911 = { 0x47, 0x8B }, // (Offset,Value)-Pair #11 { 0x48, 0x45 }, // (Offset,Value)-Pair #12 { 0x49, 0x10 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * CreateThread // ****************************************************************** -SOOVPA<8> CreateThread_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(CreateThread_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { // CreateThread+0x0A : mov eax, ds:10130h { 0x0A, 0xA1 }, // (Offset,Value)-Pair #1 { 0x0B, 0x30 }, // (Offset,Value)-Pair #2 @@ -324,21 +253,13 @@ SOOVPA<8> CreateThread_1_0_3911 = // CreateThread+0x51 : retn 0x18 { 0x51, 0xC2 }, // (Offset,Value)-Pair #7 { 0x52, 0x18 } // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * SetThreadPriority // ****************************************************************** -SOOVPA<10> SetThreadPriority_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(SetThreadPriority_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // SetThreadPriority+0x0D : push [ebp+0x08] { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 @@ -356,21 +277,13 @@ SOOVPA<10> SetThreadPriority_1_0_3911 = { 0x26, 0x83 }, // (Offset,Value)-Pair #8 { 0x27, 0xF8 }, // (Offset,Value)-Pair #9 { 0x28, 0xF1 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XapiInitProcess // ****************************************************************** -SOOVPA<7> XapiInitProcess_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XapiInitProcess_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { // XapiInitProcess+0x03 : sub esp, 30h { 0x05, 0x30 }, // (Offset,Value)-Pair #1 @@ -385,21 +298,13 @@ SOOVPA<7> XapiInitProcess_1_0_3911 = // XapiInitProcess+0x42 : jnz +0x0A { 0x42, 0x75 }, // (Offset,Value)-Pair #6 { 0x43, 0x0A }, // (Offset,Value)-Pair #7 - } -}; +OOVPA_END; // ****************************************************************** // * XapiInitProcess // ****************************************************************** -SOOVPA<7> XapiInitProcess_1_0_3950 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XapiInitProcess_1_0_3950, 7) - XRefNotSaved, - XRefNotUsed, - - { // XapiInitProcess+0x03 : sub esp, 30h { 0x05, 0x30 }, // (Offset,Value)-Pair #1 @@ -414,21 +319,13 @@ SOOVPA<7> XapiInitProcess_1_0_3950 = // XapiInitProcess+0x42 : jnz +0x0A { 0x43, 0x75 }, // (Offset,Value)-Pair #6 { 0x44, 0x0A }, // (Offset,Value)-Pair #7 - } -}; +OOVPA_END; // ****************************************************************** // * XapiBootDash // ****************************************************************** -SOOVPA<11> XapiBootDash_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XapiBootDash_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // XapiBootDash+0x03 : sub esp, 0x0C00 { 0x03, 0x81 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -447,21 +344,13 @@ SOOVPA<11> XapiBootDash_1_0_3911 = // XapiBootDash+0x59 : retn 0x0C { 0x59, 0xC2 }, // (Offset,Value)-Pair #10 { 0x5A, 0x0C }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * XRegisterThreadNotifyRoutine // ****************************************************************** -SOOVPA<11> XRegisterThreadNotifyRoutine_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XRegisterThreadNotifyRoutine_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // XRegisterThreadNotifyRoutine+0x0D : cmp [esp+0x0C], 0 { 0x0D, 0x83 }, // (Offset,Value)-Pair #1 { 0x0E, 0x7C }, // (Offset,Value)-Pair #2 @@ -480,21 +369,13 @@ SOOVPA<11> XRegisterThreadNotifyRoutine_1_0_3911 = // XRegisterThreadNotifyRoutine+0x46 : retn 0x08 { 0x46, 0xC2 }, // (Offset,Value)-Pair #10 { 0x47, 0x08 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * GetTimeZoneInformation // ****************************************************************** -SOOVPA<7> GetTimeZoneInformation_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(GetTimeZoneInformation_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x28 }, { 0x2E, 0x28 }, { 0x4F, 0x59 }, @@ -502,22 +383,14 @@ SOOVPA<7> GetTimeZoneInformation_1_0_3911 = { 0x8C, 0xC0 }, { 0xB9, 0x80 }, { 0xF7, 0x99 }, - } -}; +OOVPA_END; /* not necessary? // ****************************************************************** // * XCalculateSignatureBegin // ****************************************************************** -SOOVPA<10> XCalculateSignatureBegin_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XCalculateSignatureBegin_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // XCalculateSignatureBegin+0x01 : push 0x7C; push 0 { 0x01, 0x6A }, // (Offset,Value)-Pair #1 { 0x02, 0x7C }, // (Offset,Value)-Pair #2 @@ -535,22 +408,14 @@ SOOVPA<10> XCalculateSignatureBegin_1_0_3911 = // XCalculateSignatureBegin+0x3B : retn 0x04 { 0x3B, 0xC2 }, // (Offset,Value)-Pair #9 { 0x3C, 0x04 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; */ // ****************************************************************** // * XGetDevices // ****************************************************************** -SOOVPA<14> XGetDevices_1_0_3911 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(XGetDevices_1_0_3911, 14) - XRefNotSaved, - XRefNotUsed, - - { // XGetDevices+0x07 : mov edx, [esp+arg_0] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x54 }, // (Offset,Value)-Pair #2 @@ -574,21 +439,13 @@ SOOVPA<14> XGetDevices_1_0_3911 = // XGetDevices+0x1F : retn 4 { 0x1F, 0xC2 }, // (Offset,Value)-Pair #13 { 0x20, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * XGetDeviceChanges // ****************************************************************** -SOOVPA<8> XGetDeviceChanges_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XGetDeviceChanges_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { // XGetDeviceChanges+0x07 : xor eax, eax { 0x07, 0x33 }, // (Offset,Value)-Pair #1 { 0x08, 0xC0 }, // (Offset,Value)-Pair #2 @@ -604,21 +461,13 @@ SOOVPA<8> XGetDeviceChanges_1_0_3911 = // XGetDeviceChanges+0x51 : mov cl, al { 0x51, 0x8A }, // (Offset,Value)-Pair #7 { 0x52, 0xC8 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * XInputOpen // ****************************************************************** -SOOVPA<11> XInputOpen_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XInputOpen_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // XInputOpen+0x20 : jmp +0x0B { 0x20, 0xEB }, // (Offset,Value)-Pair #1 { 0x21, 0x0B }, // (Offset,Value)-Pair #2 @@ -639,21 +488,12 @@ SOOVPA<11> XInputOpen_1_0_3911 = // XInputOpen+0x68 : push 0x57 { 0x68, 0x6A }, // (Offset,Value)-Pair #10 { 0x69, 0x57 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -SOOVPA<10> XID_fCloseDevice_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 - - XREF_FCLOSEDEVICE, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(XID_fCloseDevice_1_0_3911, 10, XREF_FCLOSEDEVICE, XRefZero) // XID_fCloseDevice+0x19 : jz +0x5C { 0x19, 0x74 }, // (Offset,Value)-Pair #1 { 0x1A, 0x5C }, // (Offset,Value)-Pair #2 @@ -671,21 +511,16 @@ SOOVPA<10> XID_fCloseDevice_1_0_3911 = // XID_fCloseDevice+0xA3 : leave; retn { 0xA3, 0xC9 }, // (Offset,Value)-Pair #9 { 0xA4, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XInputClose // ****************************************************************** -SOOVPA<8> XInputClose_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XInputClose_1_0_3911, 8, - XRefNotSaved, - 1, + XRefNoSaveIndex, + XRefOne) - { // XInputClose+0x05 : call [fCloseDevice] { 0x05, XREF_FCLOSEDEVICE }, // (Offset,Value)-Pair #1 @@ -701,21 +536,13 @@ SOOVPA<8> XInputClose_1_0_3911 = // XInputClose+0x09 : retn 0x04 { 0x09, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -SOOVPA<14> XInputGetCapabilities_1_0_3911 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(XInputGetCapabilities_1_0_3911, 14) - XRefNotSaved, - XRefNotUsed, - - { // XInputGetCapabilities+0x03 : sub esp, 0x48 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -739,21 +566,13 @@ SOOVPA<14> XInputGetCapabilities_1_0_3911 = // XInputGetCapabilities+0xFB : cmp [eax], ebx { 0xFB, 0x39 }, // (Offset,Value)-Pair #13 { 0xFC, 0x18 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -SOOVPA<13> XInputGetState_1_0_3911 = -{ - 0, // Large == 0 - 13, // Count == 13 +OOVPA_NO_XREF(XInputGetState_1_0_3911, 13) - XRefNotSaved, - XRefNotUsed, - - { // XInputGetState+0x0E : cmp byte ptr [edx+0x0A3], 1 { 0x0E, 0x80 }, // (Offset,Value)-Pair #1 { 0x0F, 0xBA }, // (Offset,Value)-Pair #2 @@ -776,21 +595,13 @@ SOOVPA<13> XInputGetState_1_0_3911 = // XInputGetState+0x6E : retn 8 { 0x6E, 0xC2 }, // (Offset,Value)-Pair #12 { 0x6F, 0x08 }, // (Offset,Value)-Pair #13 - } -}; +OOVPA_END; // ****************************************************************** // * XInputSetState // ****************************************************************** -SOOVPA<12> XInputSetState_1_0_3911 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputSetState_1_0_3911, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputSetState+0x04 : lea eax, [ecx+0x0A3] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x81 }, // (Offset,Value)-Pair #2 @@ -812,21 +623,13 @@ SOOVPA<12> XInputSetState_1_0_3911 = // XInputSetState+0x35 : retn 0x08 { 0x35, 0xC2 }, // (Offset,Value)-Pair #11 { 0x36, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * SetThreadPriorityBoost // ****************************************************************** -SOOVPA<10> SetThreadPriorityBoost_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(SetThreadPriorityBoost_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // SetThreadPriorityBoost+0x0D : push [ebp+0x08] { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 @@ -844,21 +647,13 @@ SOOVPA<10> SetThreadPriorityBoost_1_0_3911 = // SetThreadPriorityBoost+0x2C : mov ecx, [ebp+0x08] { 0x2C, 0x8B }, // (Offset,Value)-Pair #9 { 0x2D, 0x4D }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * GetThreadPriority // ****************************************************************** -SOOVPA<10> GetThreadPriority_1_0_3911 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(GetThreadPriority_1_0_3911, 10) - XRefNotSaved, - XRefNotUsed, - - { // GetThreadPriority+0x0D : push [ebp+0x08] { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 @@ -876,21 +671,13 @@ SOOVPA<10> GetThreadPriority_1_0_3911 = // GetThreadPriority+0x37 : mov ecx, [ebp+0x08] { 0x37, 0x8B }, // (Offset,Value)-Pair #9 { 0x38, 0x4D }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; //// ****************************************************************** //// * XGetDevices //// ****************************************************************** -//SOOVPA<14> XGetDevices_1_0_3911 = -//{ -// 0, // Large == 0 -// 14, // Count == 14 +//OOVPA_NO_XREF(XGetDevices_1_0_3911, 14) // -// XRefNotSaved, -// XRefNotUsed, -// -// { // // XGetDevices+0x07 : mov edx, [esp+arg_0] // { 0x07, 0x8B }, // (Offset,Value)-Pair #1 // { 0x08, 0x54 }, // (Offset,Value)-Pair #2 @@ -914,21 +701,13 @@ SOOVPA<10> GetThreadPriority_1_0_3911 = // // XGetDevices+0x1F : retn 4 // { 0x1F, 0xC2 }, // (Offset,Value)-Pair #13 // { 0x20, 0x04 }, // (Offset,Value)-Pair #14 -// } -//}; +//OOVPA_END; // ****************************************************************** // * CreateFiber // ****************************************************************** -SOOVPA<11> CreateFiber_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(CreateFiber_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // CreateFiber+0x11 : mov ecx, 0x3000 { 0x11, 0xB9 }, { 0x12, 0x00 }, @@ -943,21 +722,13 @@ SOOVPA<11> CreateFiber_1_0_3911 = { 0x2D, 0xD1 }, { 0x2E, 0x1E }, { 0x2F, 0x00 } - } -}; +OOVPA_END; // ****************************************************************** // * DeleteFiber // ****************************************************************** -SOOVPA<9> DeleteFiber_1_0_3911 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(DeleteFiber_1_0_3911, 9) - XRefNotSaved, - XRefNotUsed, - - { // DeleteFiber+0x0A : call ds:MmDeleteKernelStack { 0x0A, 0xFF }, { 0x0B, 0x15 }, @@ -970,21 +741,13 @@ SOOVPA<9> DeleteFiber_1_0_3911 = { 0x10, 0xC2 }, { 0x11, 0x04 }, { 0x12, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * SwitchToFiber // ****************************************************************** -SOOVPA<8> SwitchToFiber_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(SwitchToFiber_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x64 }, { 0x0E, 0x44 }, { 0x16, 0xFF }, @@ -993,21 +756,13 @@ SOOVPA<8> SwitchToFiber_1_0_3911 = { 0x31, 0x64 }, { 0x36, 0x00 }, { 0x3E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * ConvertThreadToFiber // ****************************************************************** -SOOVPA<7> ConvertThreadToFiber_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(ConvertThreadToFiber_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x64 }, { 0x0C, 0x8B }, { 0x13, 0x8D }, @@ -1015,21 +770,13 @@ SOOVPA<7> ConvertThreadToFiber_1_0_3911 = { 0x21, 0x8B }, { 0x28, 0x89 }, { 0x31, 0x8B }, - } -}; +OOVPA_END; //// ****************************************************************** //// * XInputGetCapabilities //// ****************************************************************** -//SOOVPA<14> XInputGetCapabilities_1_0_3911 = -//{ -// 0, // Large == 0 -// 14, // Count == 14 +//OOVPA_NO_XREF(XInputGetCapabilities_1_0_3911, 14) // -// XRefNotSaved, -// XRefNotUsed, -// -// { // // XInputGetCapabilities+0x03 : sub esp, 0x48 // { 0x03, 0x83 }, // (Offset,Value)-Pair #1 // { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -1053,22 +800,13 @@ SOOVPA<7> ConvertThreadToFiber_1_0_3911 = // // XInputGetCapabilities+0xFB : cmp [eax], ebx // { 0xFB, 0x39 }, // (Offset,Value)-Pair #13 // { 0xFC, 0x18 }, // (Offset,Value)-Pair #14 -// } -//}; - +//OOVPA_END; // ****************************************************************** // * SignalObjectAndWait // ****************************************************************** -SOOVPA<8> SignalObjectAndWait_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(SignalObjectAndWait_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x75 }, { 0x12, 0x8B }, { 0x19, 0x01 }, @@ -1077,21 +815,13 @@ SOOVPA<8> SignalObjectAndWait_1_0_3911 = { 0x34, 0x00 }, { 0x3F, 0x83 }, { 0x46, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * PulseEvent // ****************************************************************** -SOOVPA<11> PulseEvent_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(PulseEvent_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // PulseEvent+0x00 : push 0 { 0x00, 0x6A }, { 0x01, 0x00 }, @@ -1107,21 +837,13 @@ SOOVPA<11> PulseEvent_1_0_3911 = // PulseEvent+0x12 : test eax, eax { 0x0C, 0x85 }, { 0x0D, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * QueueUserAPC // ****************************************************************** -SOOVPA<7> QueueUserAPC_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(QueueUserAPC_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x74 }, { 0x08, 0x24 }, { 0x0F, 0xFF }, @@ -1129,21 +851,13 @@ SOOVPA<7> QueueUserAPC_1_0_3911 = { 0x19, 0x33 }, { 0x1C, 0xC0 }, { 0x21, 0xC1 }, - } -}; +OOVPA_END; // ****************************************************************** // * lstrcmpiW // ****************************************************************** -SOOVPA<8> lstrcmpiW_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(lstrcmpiW_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x56 }, { 0x0F, 0x01 }, { 0x10, 0xE8 }, @@ -1152,21 +866,13 @@ SOOVPA<8> lstrcmpiW_1_0_3911 = { 0x2D, 0x59 }, { 0x34, 0xEB }, { 0x3D, 0x03 }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountAlternateTitleA // ****************************************************************** -SOOVPA<7> XMountAlternateTitleA_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XMountAlternateTitleA_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x0F }, { 0x3E, 0x56 }, { 0x5E, 0xFF }, @@ -1174,21 +880,13 @@ SOOVPA<7> XMountAlternateTitleA_1_0_3911 = { 0x9E, 0x50 }, { 0xBE, 0x66 }, { 0xDE, 0xF0 }, - } -}; +OOVPA_END; // ****************************************************************** // * XUnmountAlternateTitleA // ****************************************************************** -SOOVPA<7> XUnmountAlternateTitleA_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XUnmountAlternateTitleA_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x65 }, { 0x16, 0xFF }, { 0x23, 0x83 }, @@ -1196,21 +894,13 @@ SOOVPA<7> XUnmountAlternateTitleA_1_0_3911 = { 0x3A, 0x50 }, { 0x46, 0x0B }, { 0x52, 0x50 }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountMUA // ****************************************************************** -SOOVPA<7> XMountMUA_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XMountMUA_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x0C }, { 0x3E, 0x66 }, { 0x61, 0x85 }, @@ -1218,21 +908,13 @@ SOOVPA<7> XMountMUA_1_0_3911 = { 0xA2, 0x0F }, { 0xBE, 0x50 }, { 0xDE, 0x74 }, - } -}; +OOVPA_END; // ****************************************************************** // * CloseHandle // ****************************************************************** -SOOVPA<8> CloseHandle_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(CloseHandle_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x24 }, { 0x03, 0x04 }, { 0x0A, 0x85 }, @@ -1241,41 +923,25 @@ SOOVPA<8> CloseHandle_1_0_3911 = { 0x12, 0x08 }, { 0x19, 0x33 }, { 0x1A, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * ExitThread // ****************************************************************** -SOOVPA<5> ExitThread_1_0_3911 = -{ - 0, // Large == 0 - 5, // Count == 5 +OOVPA_NO_XREF(ExitThread_1_0_3911, 5) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x00 }, { 0x07, 0xFF }, { 0x08, 0x74 }, { 0x0A, 0x04 }, { 0x11, 0xCC }, - } -}; +OOVPA_END; // ****************************************************************** // * VirtualAlloc // ****************************************************************** -SOOVPA<7> VirtualAlloc_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(VirtualAlloc_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x75 }, { 0x0A, 0x75 }, { 0x10, 0x45 }, @@ -1283,21 +949,13 @@ SOOVPA<7> VirtualAlloc_1_0_3911 = { 0x1C, 0x05 }, { 0x22, 0x50 }, { 0x28, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * VirtualFree // ****************************************************************** -SOOVPA<7> VirtualFree_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(VirtualFree_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x80 }, { 0x0E, 0x07 }, { 0x16, 0xFF }, @@ -1305,21 +963,13 @@ SOOVPA<7> VirtualFree_1_0_3911 = { 0x27, 0x85 }, { 0x2E, 0xEB }, { 0x36, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** -SOOVPA<8> XLaunchNewImageA_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XLaunchNewImageA_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x80 }, { 0x3E, 0xC0 }, { 0x5E, 0xFF }, @@ -1328,21 +978,13 @@ SOOVPA<8> XLaunchNewImageA_1_0_3911 = { 0xBE, 0x50 }, { 0xDE, 0x05 }, { 0xFE, 0x85 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetLaunchInfo // ****************************************************************** -SOOVPA<7> XGetLaunchInfo_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGetLaunchInfo_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x18, 0x15 }, { 0x25, 0x8B }, @@ -1350,22 +992,14 @@ SOOVPA<7> XGetLaunchInfo_1_0_3911 = { 0x3F, 0x00 }, { 0x4C, 0x83 }, { 0x59, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetSectionHandleA // 558BEC83EC10538B1D........5657FF75088D45F050FFD38B351C0101008B3D // ****************************************************************** -SOOVPA<12> XGetSectionHandleA_1_0_3911 = -{ - 0, // Large == 0 - 12, // Count == 0 +OOVPA_NO_XREF(XGetSectionHandleA_1_0_3911, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x55 }, { 0x01, 0x8B }, { 0x02, 0xEC }, @@ -1379,22 +1013,14 @@ SOOVPA<12> XGetSectionHandleA_1_0_3911 = { 0x0D, 0x56 }, { 0x0E, 0x57 }, { 0x0F, 0xFF } - } -}; +OOVPA_END; // ****************************************************************** // * XLoadSectionByHandle // 568B74240856FF15........85C07D0A50E8........33C0EB038B46045EC204 // ****************************************************************** -SOOVPA<11> XLoadSectionByHandle_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XLoadSectionByHandle_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // XLoadSectionByHandle+0x01 : mov esi, [esp+4+arg_0] { 0x01, 0x8B }, { 0x02, 0x74 }, @@ -1413,22 +1039,14 @@ SOOVPA<11> XLoadSectionByHandle_1_0_3911 = // XLoadSectionByHandle+0x1E : retn 4 { 0x1E, 0xC2 }, { 0x1F, 0x04 } - } -}; +OOVPA_END; // ****************************************************************** // * XFreeSectionByHandle // FF742404FF15........85C07D0A50E8........33C0EB0333C040C20400.... // ****************************************************************** -SOOVPA<11> XFreeSectionByHandle_1_0_3911 = -{ - 0, // Large == 0 - 11, // Count == 11 +OOVPA_NO_XREF(XFreeSectionByHandle_1_0_3911, 11) - XRefNotSaved, - XRefNotUsed, - - { // XFreeSectionByHandle+0x00 : push esp { 0x00, 0xFF }, { 0x01, 0x74 }, @@ -1449,42 +1067,26 @@ SOOVPA<11> XFreeSectionByHandle_1_0_3911 = // XFreeSectionByHandle+0x1B : retn 4 { 0x1B, 0xC2 }, { 0x1C, 0x04 } - } -}; +OOVPA_END; // ****************************************************************** // * XAutoPowerDownResetTimer // ****************************************************************** -SOOVPA<6> XAutoPowerDownResetTimer_1_0_3911 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(XAutoPowerDownResetTimer_1_0_3911, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x02, 0x59 }, { 0x08, 0x51 }, { 0x0A, 0x00 }, { 0x0E, 0x50 }, { 0x14, 0xFF }, { 0x1A, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountMURootA // ****************************************************************** -SOOVPA<7> XMountMURootA_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XMountMURootA_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x0C }, { 0x3E, 0x00 }, { 0x61, 0x8B }, @@ -1492,21 +1094,13 @@ SOOVPA<7> XMountMURootA_1_0_3911 = { 0x9E, 0x00 }, { 0xBE, 0xFF }, { 0xDE, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountUtilityDrive // ****************************************************************** -SOOVPA<7> XMountUtilityDrive_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XMountUtilityDrive_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1C, 0x85 }, { 0x3A, 0x8D }, { 0x58, 0x10 }, @@ -1514,21 +1108,13 @@ SOOVPA<7> XMountUtilityDrive_1_0_3911 = { 0x94, 0xF8 }, { 0xB3, 0x8B }, { 0xD0, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * GetFileAttributesA // ****************************************************************** -SOOVPA<7> GetFileAttributesA_1_0_3911 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(GetFileAttributesA_1_0_3911, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x08 }, { 0x13, 0x8D }, { 0x1C, 0x50 }, @@ -1536,21 +1122,13 @@ SOOVPA<7> GetFileAttributesA_1_0_3911 = { 0x30, 0x15 }, { 0x3A, 0x45 }, { 0x44, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * ReadFileEx@20 // ****************************************************************** -SOOVPA<8> ReadFileEx_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(ReadFileEx_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x48 }, { 0x14, 0x8D }, { 0x1F, 0xFF }, @@ -1559,21 +1137,13 @@ SOOVPA<8> ReadFileEx_1_0_3911 = { 0x35, 0x00 }, { 0x40, 0x50 }, { 0x4B, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * WriteFileEx // ****************************************************************** -SOOVPA<8> WriteFileEx_1_0_3911 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(WriteFileEx_1_0_3911, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x48 }, { 0x14, 0x8D }, { 0x1F, 0xFF }, @@ -1582,436 +1152,112 @@ SOOVPA<8> WriteFileEx_1_0_3911 = { 0x35, 0x00 }, { 0x40, 0x50 }, { 0x4B, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_3911 // ****************************************************************** -OOVPATable XAPI_1_0_3911[] = -{ +OOVPATable XAPI_1_0_3911[] = { + // GetExitCodeThread - { - (OOVPA*)&GetExitCodeThread_1_0_3911, - - XTL::EmuGetExitCodeThread, - - #ifdef _DEBUG_TRACE - "EmuGetExitCodeThread" - #endif - }, + OOVPA_TABLE_PATCH(GetExitCodeThread_1_0_3911, XTL::EmuGetExitCodeThread), //*/ // XInitDevices - { - (OOVPA*)&XInitDevices_1_0_3911, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, - /* Too High Level + OOVPA_TABLE_PATCH(XInitDevices_1_0_3911, XTL::EmuXInitDevices), /* Too High Level // CreateMutex - { - (OOVPA*)&CreateMutex_1_0_3911, - - XTL::EmuCreateMutex, - - #ifdef _DEBUG_TRACE - "EmuCreateMutex" - #endif - }, - //*/ + OOVPA_TABLE_PATCH(CreateMutex_1_0_3911, XTL::EmuCreateMutex), //*/ /* Too High Level */ // CreateThread - /* { - (OOVPA*)&CreateThread_1_0_3911, - - XTL::EmuCreateThread, - - #ifdef _DEBUG_TRACE - "EmuCreateThread" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(CreateThread_1_0_3911, XTL::EmuCreateThread), + */ // SetThreadPriority - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, - //*/ + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), //*/ // GetTimeZoneInformation - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), // XRegisterThreadNotifyRoutine - { - (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, - - XTL::EmuXRegisterThreadNotifyRoutine, - - #ifdef _DEBUG_TRACE - "EmuXRegisterThreadNotifyRoutine" - #endif - }, + OOVPA_TABLE_PATCH(XRegisterThreadNotifyRoutine_1_0_3911, XTL::EmuXRegisterThreadNotifyRoutine), /* // XCalculateSignatureBegin - { - (OOVPA*)&XCalculateSignatureBegin_1_0_3911, - - XTL::EmuXCalculateSignatureBegin, - - #ifdef _DEBUG_TRACE - "EmuXCalculateSignatureBegin" - #endif - }, + OOVPA_TABLE_PATCH(XCalculateSignatureBegin_1_0_3911, XTL::EmuXCalculateSignatureBegin), */ // XGetDevices - { - (OOVPA*)&XGetDevices_1_0_3911, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_3911, XTL::EmuXGetDevices), // XGetDeviceChanges - { - (OOVPA*)&XGetDeviceChanges_1_0_3911, - - XTL::EmuXGetDeviceChanges, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceChanges" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceChanges_1_0_3911, XTL::EmuXGetDeviceChanges), // XInputOpen - { - (OOVPA*)&XInputOpen_1_0_3911, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_3911, XTL::EmuXInputOpen), // XID_fCloseDevice - { - (OOVPA*)&XID_fCloseDevice_1_0_3911, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_3911), // XInputClose - { - (OOVPA*)&XInputClose_1_0_3911, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_PATCH(XInputClose_1_0_3911, XTL::EmuXInputClose), // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_3911, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_3911, XTL::EmuXInputGetCapabilities), // XInputGetState - { - (OOVPA*)&XInputGetState_1_0_3911, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_3911, XTL::EmuXInputGetState), // XInputSetState - { - (OOVPA*)&XInputSetState_1_0_3911, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_3911, XTL::EmuXInputSetState), // SetThreadPriorityBoost - { - (OOVPA*)&SetThreadPriorityBoost_1_0_3911, - - XTL::EmuSetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriorityBoost" - #endif - }, + OOVPA_TABLE_PATCH(SetThreadPriorityBoost_1_0_3911, XTL::EmuSetThreadPriorityBoost), // GetThreadPriority - { - (OOVPA*)&GetThreadPriority_1_0_3911, - - XTL::EmuGetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuGetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetThreadPriority_1_0_3911, XTL::EmuGetThreadPriority), // XGetDevices - { - (OOVPA*)&XGetDevices_1_0_3911, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_3911, XTL::EmuXGetDevices), // CreateFiber - { - (OOVPA*)&CreateFiber_1_0_3911, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_3911, XTL::EmuCreateFiber), // DeleteFiber - { - (OOVPA*)&DeleteFiber_1_0_3911, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_3911, XTL::EmuDeleteFiber), // SwitchToFiber - { - (OOVPA*)&SwitchToFiber_1_0_3911, - - XTL::EmuSwitchToFiber, - - #ifdef _DEBUG_TRACE - "EmuSwitchToFiber" - #endif - }, + OOVPA_TABLE_PATCH(SwitchToFiber_1_0_3911, XTL::EmuSwitchToFiber), // ConvertThreadToFiber - { - (OOVPA*)&ConvertThreadToFiber_1_0_3911, - - XTL::EmuConvertThreadToFiber, - - #ifdef _DEBUG_TRACE - "EmuConvertThreadToFiber" - #endif - }, + OOVPA_TABLE_PATCH(ConvertThreadToFiber_1_0_3911, XTL::EmuConvertThreadToFiber), // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_3911, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_3911, XTL::EmuXInputGetCapabilities), // SignalObjectAndWait - { - (OOVPA*)&SignalObjectAndWait_1_0_3911, - - XTL::EmuSignalObjectAndWait, - - #ifdef _DEBUG_TRACE - "EmuSignalObjectAndWait" - #endif - }, + OOVPA_TABLE_PATCH(SignalObjectAndWait_1_0_3911, XTL::EmuSignalObjectAndWait), // PulseEvent - { - (OOVPA*)&PulseEvent_1_0_3911, - - XTL::EmuPulseEvent, - - #ifdef _DEBUG_TRACE - "EmuPulseEvent" - #endif - }, + OOVPA_TABLE_PATCH(PulseEvent_1_0_3911, XTL::EmuPulseEvent), // QueueUserAPC - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // lstrcmpiW - /*{ - (OOVPA*)&lstrcmpiW_1_0_3911, - - XTL::EmulstrcmpiW, - - #ifdef _DEBUG_TRACE - "EmulstrcmpiW" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(lstrcmpiW_1_0_3911, XTL::EmulstrcmpiW), + */ // XMountAlternateTitleA - { - (OOVPA*)&XMountAlternateTitleA_1_0_3911, - XTL::EmuXMountAlternateTitle, - - #ifdef _DEBUG_TRACE - "XMountAlternateTitleA" - #endif - }, + OOVPA_TABLE_PATCH(XMountAlternateTitleA_1_0_3911, XTL::EmuXMountAlternateTitle), // XUnmountAlternateTitleA - { - (OOVPA*)&XUnmountAlternateTitleA_1_0_3911, - XTL::EmuXUnmountAlternateTitle, - - #ifdef _DEBUG_TRACE - "XUnmountAlternateTitleA" - #endif - }, + OOVPA_TABLE_PATCH(XUnmountAlternateTitleA_1_0_3911, XTL::EmuXUnmountAlternateTitle), // XMountMUA - { - (OOVPA*)&XMountMUA_1_0_3911, - XTL::EmuXMountMUA, - - #ifdef _DEBUG_TRACE - "EmuXMountMUA" - #endif - }, + OOVPA_TABLE_PATCH(XMountMUA_1_0_3911, XTL::EmuXMountMUA), // XLaunchNewImageA - { - (OOVPA*)&XLaunchNewImageA_1_0_3911, - XTL::EmuXLaunchNewImage, - - #ifdef _DEBUG_TRACE - "EmuXLaunchNewImageA" - #endif - }, + OOVPA_TABLE_PATCH(XLaunchNewImageA_1_0_3911, XTL::EmuXLaunchNewImage), // XGetLaunchInfo - { - (OOVPA*)&XGetLaunchInfo_1_0_3911, - XTL::EmuXGetLaunchInfo, - - #ifdef _DEBUG_TRACE - "EmuXGetLaunchInfo" - #endif - }, + OOVPA_TABLE_PATCH(XGetLaunchInfo_1_0_3911, XTL::EmuXGetLaunchInfo), // XAutoPowerDownResetTimer - { - (OOVPA*)&XAutoPowerDownResetTimer_1_0_3911, - - XTL::EmuXAutoPowerDownResetTimer, - - #ifdef _DEBUG_TRACE - "EmuXAutoPowerDownResetTimer" - #endif - }, + OOVPA_TABLE_PATCH(XAutoPowerDownResetTimer_1_0_3911, XTL::EmuXAutoPowerDownResetTimer), // XMountMURootA - { - (OOVPA*)&XMountMURootA_1_0_3911, - XTL::EmuXMountMURootA, - - #ifdef _DEBUG_TRACE - "EmuXMountMURootA" - #endif - }, + OOVPA_TABLE_PATCH(XMountMURootA_1_0_3911, XTL::EmuXMountMURootA), // XMountUtilityDrive - { - (OOVPA*)&XMountUtilityDrive_1_0_3911, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_3911, XTL::EmuXMountUtilityDrive), // GetFileAttributesA - { - (OOVPA*)&GetFileAttributesA_1_0_3911, - XTL::EmuGetFileAttributesA, - - #ifdef _DEBUG_TRACE - "EmuGetFileAttributesA" - #endif - }, + OOVPA_TABLE_PATCH(GetFileAttributesA_1_0_3911, XTL::EmuGetFileAttributesA), // ReadFileEx - /*{ - (OOVPA*)&ReadFileEx_1_0_3911, - XTL::EmuReadFileEx, - - #ifdef _DEBUG_TRACE - "EmuReadFileEx" - #endif - }, + /* + OOVPA_TABLE_PATCH(ReadFileEx_1_0_3911, XTL::EmuReadFileEx), // WriteFileEx - { - (OOVPA*)&WriteFileEx_1_0_3911, - XTL::EmuWriteFileEx, - - #ifdef _DEBUG_TRACE - "EmuWriteFileEx" - #endif - },*/ + OOVPA_TABLE_PATCH(WriteFileEx_1_0_3911, XTL::EmuWriteFileEx), + */ // CloseHandle - /*{ - (OOVPA*)&CloseHandle_1_0_3911, - XTL::EmuCloseHandle, - - #ifdef _DEBUG_TRACE - "CloseHandle" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(CloseHandle_1_0_3911, XTL::EmuCloseHandle), + */ // ExitThread - /*{ - (OOVPA*)&ExitThread_1_0_3911, - XTL::EmuExitThread, - - #ifdef _DEBUG_TRACE - "ExitThread" - #endif - },*/ - // VirtualAlloc@16 - //{ - // (OOVPA*)&VirtualAlloc_1_0_3911, - // XTL::EmuVirtualAlloc, - - // #ifdef _DEBUG_TRACE - // "EmuVirtualAlloc" - // #endif - //}, - //// VirtualFree@12 - //{ - // (OOVPA*)&VirtualFree_1_0_3911, - // XTL::EmuVirtualFree, - - // #ifdef _DEBUG_TRACE - // "EmuVirtualFree" - // #endif - //}, + /* + OOVPA_TABLE_PATCH(ExitThread_1_0_3911, XTL::EmuExitThread), + */ + //// VirtualAlloc@16 + //OOVPA_TABLE_PATCH(VirtualAlloc_1_0_3911, // XTL::EmuVirtualAlloc), //// VirtualFree@12 + //OOVPA_TABLE_PATCH(VirtualFree_1_0_3911, // XTL::EmuVirtualFree), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4034.inl index 80f6c5aa5..3efe90ce2 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4034.inl @@ -37,15 +37,8 @@ // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -SOOVPA<14> XInputGetCapabilities_1_0_4361 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(XInputGetCapabilities_1_0_4361, 14) - XRefNotSaved, - XRefNotUsed, - - { // XInputGetCapabilities+0x03 : sub esp, 0x48 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -69,21 +62,13 @@ SOOVPA<14> XInputGetCapabilities_1_0_4361 = // XInputGetCapabilities+0xEE : cmp [eax], ebx { 0xEE, 0x39 }, // (Offset,Value)-Pair #13 { 0xEF, 0x18 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -SOOVPA<12> XInputGetState_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetState_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputGetState+0x0E : mov ecx, [edx+0x0A3] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x8A }, // (Offset,Value)-Pair #2 @@ -105,21 +90,13 @@ SOOVPA<12> XInputGetState_1_0_4361 = // XInputGetState+0x6C : retn 8 { 0x6C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x6D, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CreateThread // ****************************************************************** -SOOVPA<8> CreateThread_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(CreateThread_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { // CreateThread+0x0A : mov eax, ds:10130h { 0x0A, 0xA1 }, // (Offset,Value)-Pair #1 { 0x0B, 0x30 }, // (Offset,Value)-Pair #2 @@ -133,21 +110,13 @@ SOOVPA<8> CreateThread_1_0_4361 = // CreateThread+0x6B : retn 0x18 { 0x6B, 0xC2 }, // (Offset,Value)-Pair #7 { 0x6C, 0x18 } // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CloseHandle // ****************************************************************** -SOOVPA<10> CloseHandle_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(CloseHandle_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // CloseHandle+0x00 : push [esp+4] { 0x00, 0xFF }, // (Offset,Value)-Pair #1 { 0x01, 0x74 }, // (Offset,Value)-Pair #2 @@ -165,21 +134,13 @@ SOOVPA<10> CloseHandle_1_0_4361 = // CloseHandle+0x1B : retn 4 { 0x1B, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1C, 0x04 } // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XapiInitProcess // ****************************************************************** -SOOVPA<7> XapiInitProcess_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XapiInitProcess_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { // XapiInitProcess+0x00 : sub esp, 30h { 0x05, 0x30 }, // (Offset,Value)-Pair #1 @@ -194,241 +155,63 @@ SOOVPA<7> XapiInitProcess_1_0_4361 = // XapiInitProcess+0x42 : jnz +0x0B { 0x42, 0x75 }, // (Offset,Value)-Pair #6 { 0x43, 0x0B }, // (Offset,Value)-Pair #7 - } -}; +OOVPA_END; */ // ****************************************************************** // * XAPI_1_0_4034 // ****************************************************************** -OOVPATable XAPI_1_0_4034[] = -{ +OOVPATable XAPI_1_0_4034[] = { + // XInitDevices (* unchanged since 3911 *) - { - (OOVPA*)&XInitDevices_1_0_3911, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, + OOVPA_TABLE_PATCH(XInitDevices_1_0_3911, XTL::EmuXInitDevices), // XGetDevices (* unchanged since 3911 *) - { - (OOVPA*)&XGetDevices_1_0_3911, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_3911, XTL::EmuXGetDevices), /* These functions havent been rev'd yet (may be same as new/old) // XInputOpen - { - (OOVPA*)&XInputOpen_1_0_4034, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4034, XTL::EmuXInputOpen), // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_4361, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_4361, XTL::EmuXInputGetCapabilities), // XInputGetState - { - (OOVPA*)&XInputGetState_1_0_4361, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, - */ + OOVPA_TABLE_PATCH(XInputGetState_1_0_4361, XTL::EmuXInputGetState), */ /* Too High Level // CreateThread (* unchanged since 1.0.3911 *) - { - (OOVPA*)&CreateThread_1_0_3911, - - XTL::EmuCreateThread, - - #ifdef _DEBUG_TRACE - "EmuCreateThread" - #endif - }, - */ + OOVPA_TABLE_PATCH(CreateThread_1_0_3911, XTL::EmuCreateThread), */ /* // CloseHandle (*???*) - { - (OOVPA*)&CloseHandle_1_0_(???), - - XTL::EmuCloseHandle, - - #ifdef _DEBUG_TRACE - "EmuCloseHandle" - #endif - }, - */ + OOVPA_TABLE_PATCH(CloseHandle_1_0_(???), XTL::EmuCloseHandle), */ //*/ // CreateFiber (* unchanged since 3911 *) - { - (OOVPA*)&CreateFiber_1_0_3911, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_3911, XTL::EmuCreateFiber), // DeleteFiber (* unchanged since 3911 *) - { - (OOVPA*)&DeleteFiber_1_0_3911, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_3911, XTL::EmuDeleteFiber), // GetTimeZoneInformation (* unchanged since 3911 *) - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, - // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), + // SetThreadPriority (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), // SignalObjectAndWait (* unchanged since 3911 *) - { - (OOVPA*)&SignalObjectAndWait_1_0_3911, - - XTL::EmuSignalObjectAndWait, - - #ifdef _DEBUG_TRACE - "EmuSignalObjectAndWait" - #endif - }, + OOVPA_TABLE_PATCH(SignalObjectAndWait_1_0_3911, XTL::EmuSignalObjectAndWait), // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // XInputSetState (* unchanged since 3911 *) - { - (OOVPA*)&XInputSetState_1_0_3911, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_3911, XTL::EmuXInputSetState), // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) - { - (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, - - XTL::EmuXRegisterThreadNotifyRoutine, - - #ifdef _DEBUG_TRACE - "EmuXRegisterThreadNotifyRoutine" - #endif - }, + OOVPA_TABLE_PATCH(XRegisterThreadNotifyRoutine_1_0_3911, XTL::EmuXRegisterThreadNotifyRoutine), // XGetDeviceChanges (* unchanged since 3911 *) - { - (OOVPA*)&XGetDeviceChanges_1_0_3911, - - XTL::EmuXGetDeviceChanges, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceChanges" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceChanges_1_0_3911, XTL::EmuXGetDeviceChanges), // XID_fCloseDevice (* unchanged since 3911 *) - { - (OOVPA*)&XID_fCloseDevice_1_0_3911, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_3911), // XInputClose (* unchanged since 3911 *) - { - (OOVPA*)&XInputClose_1_0_3911, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_PATCH(XInputClose_1_0_3911, XTL::EmuXInputClose), // XInputGetCapabilities (* unchanged since 3911 *) - { - (OOVPA*)&XInputGetCapabilities_1_0_3911, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_3911, XTL::EmuXInputGetCapabilities), // GetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&GetThreadPriority_1_0_3911, - - XTL::EmuGetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuGetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetThreadPriority_1_0_3911, XTL::EmuGetThreadPriority), // XInputOpen (* unchanged since 3911 *) - { - (OOVPA*)&XInputOpen_1_0_3911, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_3911, XTL::EmuXInputOpen), // XInputGetState (* unchanged since 3911 *) - { - (OOVPA*)&XInputGetState_1_0_3911, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_3911, XTL::EmuXInputGetState), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl index 7131bbf6c..571eb9e98 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XGetDevices // ****************************************************************** -SOOVPA<14> XGetDevices_1_0_4134 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(XGetDevices_1_0_4134, 14) - XRefNotSaved, - XRefNotUsed, - - { // XGetDevices+0x07 : mov edx, [esp+arg_0] { 0x07, 0x8B }, // (Offset,Value)-Pair #1 { 0x08, 0x54 }, // (Offset,Value)-Pair #2 @@ -67,21 +60,13 @@ SOOVPA<14> XGetDevices_1_0_4134 = // XGetDevices+0x1F : retn 4 { 0x1F, 0xC2 }, // (Offset,Value)-Pair #13 { 0x20, 0x04 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * XInputOpen // ****************************************************************** -SOOVPA<12> XInputOpen_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputOpen_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputOpen+0x13 : jmp +0x18 { 0x13, 0xEB }, // (Offset,Value)-Pair #1 { 0x14, 0x18 }, // (Offset,Value)-Pair #2 @@ -105,21 +90,13 @@ SOOVPA<12> XInputOpen_1_0_4134 = // XInputOpen+0x72 : retn 0x10 { 0x72, 0xC2 }, // (Offset,Value)-Pair #11 { 0x73, 0x10 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -SOOVPA<12> XInputGetState_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetState_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputGetState+0x0E : cmp byte ptr [edx+0xA3], 1 { 0x0E, 0x80 }, // (Offset,Value)-Pair #1 { 0x0F, 0xBA }, // (Offset,Value)-Pair #2 @@ -141,21 +118,13 @@ SOOVPA<12> XInputGetState_1_0_4134 = // XInputGetState+0x6E : retn 8 { 0x6E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x6F, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XMountUtilityDrive // ****************************************************************** -SOOVPA<10> XMountUtilityDrive_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XMountUtilityDrive_1_0_4134, 10) - XRefNotSaved, - XRefNotUsed, - - { // XMountUtilityDrive+0x03 : sub esp, 0x0114 { 0x03, 0x81 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -171,21 +140,13 @@ SOOVPA<10> XMountUtilityDrive_1_0_4134 = { 0xAA, 0x8D }, // (Offset,Value)-Pair #8 { 0xAB, 0x45 }, // (Offset,Value)-Pair #9 { 0xAC, 0xF0 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * QueryPerformanceCounter // ****************************************************************** -SOOVPA<12> QueryPerformanceCounter_1_0_4134 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(QueryPerformanceCounter_1_0_4134, 12) - XRefNotSaved, - XRefNotUsed, - - { // QueryPerformanceCounter+0x04 : rdtsc { 0x04, 0x0F }, // (Offset,Value)-Pair #1 { 0x05, 0x31 }, // (Offset,Value)-Pair #2 @@ -209,21 +170,13 @@ SOOVPA<12> QueryPerformanceCounter_1_0_4134 = // QueryPerformanceCounter+0x0E : retn 0x04 { 0x0E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x0F, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * QueryPerformanceFrequency // ****************************************************************** -SOOVPA<15> QueryPerformanceFrequency_1_0_4134 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_NO_XREF(QueryPerformanceFrequency_1_0_4134, 15) - XRefNotSaved, - XRefNotUsed, - - { // QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x60 }, // (Offset,Value)-Pair #2 @@ -248,21 +201,13 @@ SOOVPA<15> QueryPerformanceFrequency_1_0_4134 = // QueryPerformanceFrequency+0x11 : retn 0x04 { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 { 0x12, 0x04 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * XInputPoll // ****************************************************************** -SOOVPA<10> XInputPoll_1_0_4134 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XInputPoll_1_0_4134, 10) - XRefNotSaved, - 0, // XRef Is Used - - { { 0x16, 0xF6 }, // (Offset,Value)-Pair #1 { 0x17, 0x41 }, // (Offset,Value)-Pair #2 { 0x18, 0x04 }, // (Offset,Value)-Pair #3 @@ -275,21 +220,13 @@ SOOVPA<10> XInputPoll_1_0_4134 = { 0x3A, 0x83 }, // (Offset,Value)-Pair #8 { 0x3B, 0xC0 }, // (Offset,Value)-Pair #9 { 0x3C, 0x52 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * RtlDestroyHeap // ****************************************************************** -SOOVPA<8> RtlDestroyHeap_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(RtlDestroyHeap_1_0_4134, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x10, 0x56 }, { 0x22, 0x75 }, { 0x34, 0xE0 }, @@ -298,21 +235,13 @@ SOOVPA<8> RtlDestroyHeap_1_0_4134 = { 0x6A, 0xE0 }, { 0x7C, 0x06 }, { 0x8E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountMUA // ****************************************************************** -SOOVPA<8> XMountMUA_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XMountMUA_1_0_4134, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x22, 0x8A }, { 0x3E, 0x89 }, { 0x5E, 0x5C }, @@ -321,21 +250,13 @@ SOOVPA<8> XMountMUA_1_0_4134 = { 0xBE, 0xF8 }, { 0xDE, 0x8D }, { 0xFE, 0x09 }, - } -}; +OOVPA_END; // ****************************************************************** // * GetFileAttributesA // ****************************************************************** -SOOVPA<7> GetFileAttributesA_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(GetFileAttributesA_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x08 }, { 0x13, 0x8D }, { 0x1C, 0x50 }, @@ -343,21 +264,13 @@ SOOVPA<7> GetFileAttributesA_1_0_4134 = { 0x30, 0x15 }, { 0x3A, 0x45 }, { 0x44, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * timeSetEvent // ****************************************************************** -SOOVPA<7> timeSetEvent_1_0_4134 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(timeSetEvent_1_0_4134, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x8D }, { 0x3E, 0x89 }, { 0x5E, 0x15 }, @@ -365,21 +278,13 @@ SOOVPA<7> timeSetEvent_1_0_4134 = { 0x9E, 0x03 }, { 0xBE, 0x32 }, { 0xDE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * timeKillEvent // ****************************************************************** -SOOVPA<8> timeKillEvent_1_0_4134 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(timeKillEvent_1_0_4134, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x8B }, { 0x1A, 0xC2 }, { 0x28, 0x8D }, @@ -388,288 +293,69 @@ SOOVPA<8> timeKillEvent_1_0_4134 = { 0x52, 0x00 }, { 0x60, 0x5E }, { 0x6E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_4134 // ****************************************************************** -OOVPATable XAPI_1_0_4134[] = -{ +OOVPATable XAPI_1_0_4134[] = { + // XInitDevices (* unchanged since 3911 *) - { - (OOVPA*)&XInitDevices_1_0_3911, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, - //*/ + OOVPA_TABLE_PATCH(XInitDevices_1_0_3911, XTL::EmuXInitDevices), //*/ // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, - // GetExitCodeThread (* unchanged since 3911 *) - { - (OOVPA*)&GetExitCodeThread_1_0_3911, - - XTL::EmuGetExitCodeThread, - - #ifdef _DEBUG_TRACE - "EmuGetExitCodeThread" - #endif - }, + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), + // GetExitCodeThread (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(GetExitCodeThread_1_0_3911, XTL::EmuGetExitCodeThread), // XGetDevices - { - (OOVPA*)&XGetDevices_1_0_4134, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices), // XInputOpen - { - (OOVPA*)&XInputOpen_1_0_4134, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4134, XTL::EmuXInputOpen), // XInputGetState - { - (OOVPA*)&XInputGetState_1_0_4134, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_4134, XTL::EmuXInputGetState), // XInputSetState (* unchanged since 3911 *) - { - (OOVPA*)&XInputSetState_1_0_3911, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_3911, XTL::EmuXInputSetState), // XMountUtilityDrive - { - (OOVPA*)&XMountUtilityDrive_1_0_4134, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4134, XTL::EmuXMountUtilityDrive), // CreateFiber (* unchanged since 3911 *) - { - (OOVPA*)&CreateFiber_1_0_3911, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_3911, XTL::EmuCreateFiber), // DeleteFiber (* unchanged since 3911 *) - { - (OOVPA*)&DeleteFiber_1_0_3911, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_3911, XTL::EmuDeleteFiber), // GetTimeZoneInformation (* unchanged since 3911 *) - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) - { - (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, - - XTL::EmuXRegisterThreadNotifyRoutine, - - #ifdef _DEBUG_TRACE - "EmuXRegisterThreadNotifyRoutine" - #endif - }, + OOVPA_TABLE_PATCH(XRegisterThreadNotifyRoutine_1_0_3911, XTL::EmuXRegisterThreadNotifyRoutine), // XGetDeviceChanges (* unchanged since 3911 *) - { - (OOVPA*)&XGetDeviceChanges_1_0_3911, - - XTL::EmuXGetDeviceChanges, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceChanges" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceChanges_1_0_3911, XTL::EmuXGetDeviceChanges), // XID_fCloseDevice (* unchanged since 3911 *) - { - (OOVPA*)&XID_fCloseDevice_1_0_3911, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_3911), // XInputClose (* unchanged since 3911 *) - { - (OOVPA*)&XInputClose_1_0_3911, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_PATCH(XInputClose_1_0_3911, XTL::EmuXInputClose), // XInputGetCapabilities (* unchanged since 3911 *) - { - (OOVPA*)&XInputGetCapabilities_1_0_3911, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_3911, XTL::EmuXInputGetCapabilities), // GetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&GetThreadPriority_1_0_3911, - - XTL::EmuGetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuGetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetThreadPriority_1_0_3911, XTL::EmuGetThreadPriority), // QueryPerformanceCounter - { - (OOVPA*)&QueryPerformanceCounter_1_0_4134, - - XTL::EmuQueryPerformanceCounter, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceCounter" - #endif - }, - // QueryPerformanceFrequency - { - (OOVPA*)&QueryPerformanceFrequency_1_0_4134, - - XTL::EmuQueryPerformanceFrequency, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceFrequency" - #endif - }, + OOVPA_TABLE_PATCH(QueryPerformanceCounter_1_0_4134, XTL::EmuQueryPerformanceCounter), + // QueryPerformanceFrequency + OOVPA_TABLE_PATCH(QueryPerformanceFrequency_1_0_4134, XTL::EmuQueryPerformanceFrequency), // XInputPoll - { - (OOVPA*)&XInputPoll_1_0_4134, - - XTL::EmuXInputPoll, - - #ifdef _DEBUG_TRACE - "EmuXInputPoll" - #endif - }, + OOVPA_TABLE_PATCH(XInputPoll_1_0_4134, XTL::EmuXInputPoll), // SetThreadPriorityBoost (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriorityBoost_1_0_3911, - - XTL::EmuSetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriorityBoost" - #endif - }, + OOVPA_TABLE_PATCH(SetThreadPriorityBoost_1_0_3911, XTL::EmuSetThreadPriorityBoost), // SignalObjectAndWait (* unchanged since 3911 *) - { - (OOVPA*)&SignalObjectAndWait_1_0_3911, - - XTL::EmuSignalObjectAndWait, - - #ifdef _DEBUG_TRACE - "EmuSignalObjectAndWait" - #endif - }, + OOVPA_TABLE_PATCH(SignalObjectAndWait_1_0_3911, XTL::EmuSignalObjectAndWait), // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // XMountMUA - { - (OOVPA*)&XMountMUA_1_0_4134, - XTL::EmuXMountMUA, - - #ifdef _DEBUG_TRACE - "EmuXMountMUA" - #endif - }, + OOVPA_TABLE_PATCH(XMountMUA_1_0_4134, XTL::EmuXMountMUA), // GetFileAttributesA - { - (OOVPA*)&GetFileAttributesA_1_0_4134, - XTL::EmuGetFileAttributesA, - - #ifdef _DEBUG_TRACE - "EmuGetFileAttributesA" - #endif - }, + OOVPA_TABLE_PATCH(GetFileAttributesA_1_0_4134, XTL::EmuGetFileAttributesA), // timeSetEvent - { - (OOVPA*)&timeSetEvent_1_0_4134, - XTL::EmutimeSetEvent, - - #ifdef _DEBUG_TRACE - "EmutimeSetEvent" - #endif - }, - // timeKillEvent - { - (OOVPA*)&timeKillEvent_1_0_4134, - XTL::EmutimeKillEvent, - - #ifdef _DEBUG_TRACE - "EmutimeKillEvent" - #endif - }, + OOVPA_TABLE_PATCH(timeSetEvent_1_0_4134, XTL::EmutimeSetEvent), + // timeKillEvent + OOVPA_TABLE_PATCH(timeKillEvent_1_0_4134, XTL::EmutimeKillEvent), // XLaunchNewImageA - { - (OOVPA*)&XLaunchNewImageA_1_0_3911, - XTL::EmuXLaunchNewImage, - - #ifdef _DEBUG_TRACE - "EmuXLaunchNewImageA" - #endif - }, + OOVPA_TABLE_PATCH(XLaunchNewImageA_1_0_3911, XTL::EmuXLaunchNewImage), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl index 56fb14e2f..f63bd437d 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * RtlFreeHeap // ****************************************************************** -SOOVPA<12> RtlFreeHeap_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(RtlFreeHeap_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // RtlFreeHeap+0x1F : test ecx, ecx { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 { 0x20, 0xC9 }, // (Offset,Value)-Pair #2 @@ -65,21 +58,13 @@ SOOVPA<12> RtlFreeHeap_1_0_4361 = // RtlFreeHeap+0xA4 : shl ebx, cl { 0xA4, 0xD3 }, // (Offset,Value)-Pair #11 { 0xA5, 0xE3 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * QueryPerformanceCounter // ****************************************************************** -SOOVPA<12> QueryPerformanceCounter_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(QueryPerformanceCounter_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // QueryPerformanceCounter+0x04 : rdtsc { 0x04, 0x0F }, // (Offset,Value)-Pair #1 { 0x05, 0x31 }, // (Offset,Value)-Pair #2 @@ -103,21 +88,13 @@ SOOVPA<12> QueryPerformanceCounter_1_0_4361 = // QueryPerformanceCounter+0x0E : retn 0x04 { 0x0E, 0xC2 }, // (Offset,Value)-Pair #11 { 0x0F, 0x04 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * QueryPerformanceFrequency // ****************************************************************** -SOOVPA<15> QueryPerformanceFrequency_1_0_4361 = -{ - 0, // Large == 0 - 15, // Count == 15 +OOVPA_NO_XREF(QueryPerformanceFrequency_1_0_4361, 15) - XRefNotSaved, - XRefNotUsed, - - { // QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0 { 0x04, 0x83 }, // (Offset,Value)-Pair #1 { 0x05, 0x60 }, // (Offset,Value)-Pair #2 @@ -142,21 +119,13 @@ SOOVPA<15> QueryPerformanceFrequency_1_0_4361 = // QueryPerformanceFrequency+0x11 : retn 0x04 { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 { 0x12, 0x04 }, // (Offset,Value)-Pair #15 - } -}; +OOVPA_END; // ****************************************************************** // * XInputOpen // ****************************************************************** -SOOVPA<12> XInputOpen_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputOpen_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputOpen+0x14 : push 0x57 { 0x14, 0x6A }, // (Offset,Value)-Pair #1 { 0x15, 0x57 }, // (Offset,Value)-Pair #2 @@ -180,21 +149,12 @@ SOOVPA<12> XInputOpen_1_0_4361 = // XInputOpen+0x53 : retn 0x10 { 0x53, 0xC2 }, // (Offset,Value)-Pair #11 { 0x54, 0x10 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -SOOVPA<11> XID_fCloseDevice_1_0_4361 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XREF_FCLOSEDEVICE, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(XID_fCloseDevice_1_0_4361, 11, XREF_FCLOSEDEVICE, XRefZero) // XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3] { 0x1B, 0x8B }, // (Offset,Value)-Pair #1 { 0x1C, 0x86 }, // (Offset,Value)-Pair #2 @@ -213,21 +173,13 @@ SOOVPA<11> XID_fCloseDevice_1_0_4361 = // XID_fCloseDevice+0x9F : leave; retn { 0x9F, 0xC9 }, // (Offset,Value)-Pair #10 { 0xA0, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -SOOVPA<14> XInputGetCapabilities_1_0_4361 = -{ - 0, // Large == 0 - 14, // Count == 14 +OOVPA_NO_XREF(XInputGetCapabilities_1_0_4361, 14) - XRefNotSaved, - XRefNotUsed, - - { // XInputGetCapabilities+0x03 : sub esp, 0x48 { 0x03, 0x83 }, // (Offset,Value)-Pair #1 { 0x04, 0xEC }, // (Offset,Value)-Pair #2 @@ -251,21 +203,13 @@ SOOVPA<14> XInputGetCapabilities_1_0_4361 = // XInputGetCapabilities+0xEE : cmp [eax], ebx { 0xEE, 0x39 }, // (Offset,Value)-Pair #13 { 0xEF, 0x18 }, // (Offset,Value)-Pair #14 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -SOOVPA<12> XInputGetState_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetState_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputGetState+0x0E : mov ecx, [edx+0x0A3] { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x8A }, // (Offset,Value)-Pair #2 @@ -287,21 +231,13 @@ SOOVPA<12> XInputGetState_1_0_4361 = // XInputGetState+0x6C : retn 8 { 0x6C, 0xC2 }, // (Offset,Value)-Pair #11 { 0x6D, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputSetState // ****************************************************************** -SOOVPA<12> XInputSetState_1_0_4361 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputSetState_1_0_4361, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputSetState+0x04 : lea eax, [ecx+0x0A3] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x81 }, // (Offset,Value)-Pair #2 @@ -323,21 +259,13 @@ SOOVPA<12> XInputSetState_1_0_4361 = // XInputSetState+0x33 : retn 0x08 { 0x33, 0xC2 }, // (Offset,Value)-Pair #11 { 0x34, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputSetState // ****************************************************************** -SOOVPA<12> XInputSetState_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputSetState_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { // XInputSetState+0x04 : lea eax, [ecx+0x0A3] { 0x04, 0x8D }, // (Offset,Value)-Pair #1 { 0x05, 0x81 }, // (Offset,Value)-Pair #2 @@ -359,21 +287,13 @@ SOOVPA<12> XInputSetState_1_0_4928 = // XInputSetState+0x30 : retn 0x08 { 0x30, 0xC2 }, // (Offset,Value)-Pair #11 { 0x31, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * CreateThread // ****************************************************************** -SOOVPA<8> CreateThread_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(CreateThread_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { // CreateThread+0x0A : mov eax, ds:10130h { 0x0A, 0xA1 }, // (Offset,Value)-Pair #1 { 0x0B, 0x30 }, // (Offset,Value)-Pair #2 @@ -387,21 +307,13 @@ SOOVPA<8> CreateThread_1_0_4361 = // CreateThread+0x6B : retn 0x18 { 0x6B, 0xC2 }, // (Offset,Value)-Pair #7 { 0x6C, 0x18 } // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * CloseHandle // ****************************************************************** -SOOVPA<10> CloseHandle_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(CloseHandle_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // CloseHandle+0x00 : push [esp+4] { 0x00, 0xFF }, // (Offset,Value)-Pair #1 { 0x01, 0x74 }, // (Offset,Value)-Pair #2 @@ -419,21 +331,13 @@ SOOVPA<10> CloseHandle_1_0_4361 = // CloseHandle+0x1B : retn 4 { 0x1B, 0xC2 }, // (Offset,Value)-Pair #9 { 0x1C, 0x04 } // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XapiInitProcess // ****************************************************************** -SOOVPA<7> XapiInitProcess_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XapiInitProcess_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { // XapiInitProcess+0x03 : sub esp, 30h { 0x05, 0x30 }, // (Offset,Value)-Pair #1 @@ -448,21 +352,13 @@ SOOVPA<7> XapiInitProcess_1_0_4361 = // XapiInitProcess+0x42 : jnz +0x0B { 0x42, 0x75 }, // (Offset,Value)-Pair #6 { 0x43, 0x0B }, // (Offset,Value)-Pair #7 - } -}; +OOVPA_END; // ****************************************************************** // * XapiThreadStartup // ****************************************************************** -SOOVPA<10> XapiThreadStartup_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XapiThreadStartup_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // XapiThreadStartup+0x00 : push 0x18 { 0x00, 0x6A }, // (Offset,Value)-Pair #1 { 0x01, 0x18 }, // (Offset,Value)-Pair #2 @@ -482,21 +378,13 @@ SOOVPA<10> XapiThreadStartup_1_0_4361 = // XapiThreadStartup+0x86 : retn { 0x86, 0xC3 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XapiSetupPerTitleDriveLetters // ****************************************************************** -SOOVPA<10> XapiSetupPerTitleDriveLetters_1_0_4361 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(XapiSetupPerTitleDriveLetters_1_0_4361, 10) - XRefNotSaved, - XRefNotUsed, - - { // XapiSetupPerTitleDriveLetters+0x09 : lea eax, [ebp-0x0C] { 0x09, 0x8D }, // (Offset,Value)-Pair #1 { 0x0A, 0x45 }, // (Offset,Value)-Pair #2 @@ -514,21 +402,13 @@ SOOVPA<10> XapiSetupPerTitleDriveLetters_1_0_4361 = // XapiSetupPerTitleDriveLetters+0x52 : retn 0x08 { 0x52, 0xC2 }, // (Offset,Value)-Pair #9 { 0x53, 0x08 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XMountMUA // ****************************************************************** -SOOVPA<8> XMountMUA_1_0_4361 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XMountMUA_1_0_4361, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x22, 0x8A }, { 0x3E, 0x89 }, { 0x5E, 0x5C }, @@ -537,21 +417,13 @@ SOOVPA<8> XMountMUA_1_0_4361 = { 0xBE, 0xF8 }, { 0xDE, 0x8D }, { 0xFE, 0x09 }, - } -}; +OOVPA_END; // ****************************************************************** // * CreateWaitableTimerA // ****************************************************************** -SOOVPA<7> CreateWaitableTimerA_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(CreateWaitableTimerA_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x74 }, { 0x16, 0x50 }, { 0x22, 0x39 }, @@ -559,21 +431,13 @@ SOOVPA<7> CreateWaitableTimerA_1_0_4361 = { 0x3A, 0x00 }, { 0x46, 0x6A }, { 0x52, 0x50 }, - } -}; +OOVPA_END; // ****************************************************************** // * SetWaitableTimer // ****************************************************************** -SOOVPA<7> SetWaitableTimer_1_0_4361 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(SetWaitableTimer_1_0_4361, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0x10 }, { 0x10, 0xFF }, { 0x19, 0xFF }, @@ -581,263 +445,67 @@ SOOVPA<7> SetWaitableTimer_1_0_4361 = { 0x2B, 0xEB }, { 0x34, 0x6A }, { 0x3F, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_4361 // ****************************************************************** OOVPATable XAPI_1_0_4361[] = { - // QueryPerformanceCounter - { - (OOVPA*)&QueryPerformanceCounter_1_0_4361, - - XTL::EmuQueryPerformanceCounter, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceCounter" - #endif - }, - // QueryPerformanceFrequency - { - (OOVPA*)&QueryPerformanceFrequency_1_0_4361, - - XTL::EmuQueryPerformanceFrequency, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceFrequency" - #endif - }, + OOVPA_TABLE_PATCH(QueryPerformanceCounter_1_0_4361, XTL::EmuQueryPerformanceCounter), + // QueryPerformanceFrequency + OOVPA_TABLE_PATCH(QueryPerformanceFrequency_1_0_4361, XTL::EmuQueryPerformanceFrequency), // XInitDevices (* unchanged since 1.0.3911 *) - { - (OOVPA*)&XInitDevices_1_0_3911, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, + OOVPA_TABLE_PATCH(XInitDevices_1_0_3911, XTL::EmuXInitDevices), // XGetDevices (* unchanged since 4134 *) - { - (OOVPA*)&XGetDevices_1_0_4134, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices), // XGetDeviceChanges (* unchanged since 3911 *) - { - (OOVPA*)&XGetDeviceChanges_1_0_3911, - - XTL::EmuXGetDeviceChanges, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceChanges" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceChanges_1_0_3911, XTL::EmuXGetDeviceChanges), // XInputOpen - { - (OOVPA*)&XInputOpen_1_0_4361, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4361, XTL::EmuXInputOpen), // XID_fCloseDevice - { - (OOVPA*)&XID_fCloseDevice_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_4361), // XInputClose (* unchanged since 3911 *) - { - (OOVPA*)&XInputClose_1_0_3911, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_PATCH(XInputClose_1_0_3911, XTL::EmuXInputClose), // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_4361, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_4361, XTL::EmuXInputGetCapabilities), // XInputGetState - { - (OOVPA*)&XInputGetState_1_0_4361, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_4361, XTL::EmuXInputGetState), // XInputSetState - { - (OOVPA*)&XInputSetState_1_0_4361, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_4361, XTL::EmuXInputSetState), //*/ /* // XapiThreadStartup - { - (OOVPA*)&XapiThreadStartup_1_0_4361, - - XTL::EmuXapiThreadStartup, - - #ifdef _DEBUG_TRACE - "XapiThreadStartup" - #endif - }, + OOVPA_TABLE_PATCH(XapiThreadStartup_1_0_4361, XTL::EmuXapiThreadStartup), //*/ // XMountUtilityDrive // TODO: This needs to be verified on 4361, not just 4242! - { - (OOVPA*)&XMountUtilityDrive_1_0_4134, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive_4242" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4134, XTL::EmuXMountUtilityDrive), // CreateFiber (* unchanged since 3911 *) - { - (OOVPA*)&CreateFiber_1_0_3911, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_3911, XTL::EmuCreateFiber), // DeleteFiber (* unchanged since 3911 *) - { - (OOVPA*)&DeleteFiber_1_0_3911, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_3911, XTL::EmuDeleteFiber), // GetTimeZoneInformation (* unchanged since 3911 *) - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, - // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), + // SetThreadPriority (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), // GetExitCodeThread (* unchanged since 3911 *) - { - (OOVPA*)&GetExitCodeThread_1_0_3911, - - XTL::EmuGetExitCodeThread, - - #ifdef _DEBUG_TRACE - "EmuGetExitCodeThread" - #endif - }, + OOVPA_TABLE_PATCH(GetExitCodeThread_1_0_3911, XTL::EmuGetExitCodeThread), // SetThreadPriorityBoost (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriorityBoost_1_0_3911, - - XTL::EmuSetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriorityBoost" - #endif - }, + OOVPA_TABLE_PATCH(SetThreadPriorityBoost_1_0_3911, XTL::EmuSetThreadPriorityBoost), // SignalObjectAndWait (* unchanged since 3911 *) - { - (OOVPA*)&SignalObjectAndWait_1_0_3911, - - XTL::EmuSignalObjectAndWait, - - #ifdef _DEBUG_TRACE - "EmuSignalObjectAndWait" - #endif - }, + OOVPA_TABLE_PATCH(SignalObjectAndWait_1_0_3911, XTL::EmuSignalObjectAndWait), // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // GetFileAttributesA (* unchanged since 4134 *) - { - (OOVPA*)&GetFileAttributesA_1_0_4134, - XTL::EmuGetFileAttributesA, - - #ifdef _DEBUG_TRACE - "EmuGetFileAttributesA" - #endif - }, + OOVPA_TABLE_PATCH(GetFileAttributesA_1_0_4134, XTL::EmuGetFileAttributesA), // XMountMUA - { - (OOVPA*)&XMountMUA_1_0_4361, - XTL::EmuXMountMUA, - - #ifdef _DEBUG_TRACE - "EmuXMountMUA" - #endif - }, + OOVPA_TABLE_PATCH(XMountMUA_1_0_4361, XTL::EmuXMountMUA), // CreateWaitableTimerA - { - (OOVPA*)&CreateWaitableTimerA_1_0_4361, - XTL::EmuCreateWaitableTimerA, - - #ifdef _DEBUG_TRACE - "EmuCreateWaitableTimerA" - #endif - }, - // SetWaitableTimer - { - (OOVPA*)&SetWaitableTimer_1_0_4361, - XTL::EmuSetWaitableTimer, - - #ifdef _DEBUG_TRACE - "EmuSetWaitableTimer" - #endif - }, + OOVPA_TABLE_PATCH(CreateWaitableTimerA_1_0_4361, XTL::EmuCreateWaitableTimerA), + // SetWaitableTimer + OOVPA_TABLE_PATCH(SetWaitableTimer_1_0_4361, XTL::EmuSetWaitableTimer), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl index 608bf07e4..2e8b3504c 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * RtlFreeHeap // ****************************************************************** -SOOVPA<9> RtlFreeHeap_1_0_4432 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(RtlFreeHeap_1_0_4432, 9) - XRefNotSaved, - XRefNotUsed, - - { // RtlFreeHeap+0x1F : test ecx, ecx { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 { 0x20, 0xC9 }, // (Offset,Value)-Pair #2 @@ -60,21 +53,13 @@ SOOVPA<9> RtlFreeHeap_1_0_4432 = // RtlFreeHeap+0x6E : cmp ecx, 0x80 { 0x6E, 0x81 }, // (Offset,Value)-Pair #8 { 0x6F, 0xF9 }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * XMountUtilityDrive // ****************************************************************** -SOOVPA<8> XMountUtilityDrive_1_0_4432 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XMountUtilityDrive_1_0_4432, 8) - XRefNotSaved, - XRefNotUsed, - - { // XapiUnknownBad1+0x51 : push 0x0104 { 0x51, 0x68 }, // (Offset,Value)-Pair #1 { 0x52, 0x04 }, // (Offset,Value)-Pair #2 @@ -90,222 +75,56 @@ SOOVPA<8> XMountUtilityDrive_1_0_4432 = { 0xEA, 0xC0 }, // (Offset,Value)-Pair #8 // TODO: Finish signature, toss out function call basically - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_4432 // ****************************************************************** -OOVPATable XAPI_1_0_4432[] = -{ - +OOVPATable XAPI_1_0_4432[] = { // XMountUtilityDrive - { - (OOVPA*)&XMountUtilityDrive_1_0_4432, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4432, XTL::EmuXMountUtilityDrive), // XInitDevices (* unchanged since 1.0.3911 *) - { - (OOVPA*)&XInitDevices_1_0_3911, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, + OOVPA_TABLE_PATCH(XInitDevices_1_0_3911, XTL::EmuXInitDevices), // XGetDevices (* unchanged since 1.0.4134 *) - { - (OOVPA*)&XGetDevices_1_0_4134, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices), // XInputOpen (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputOpen_1_0_4361, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4361, XTL::EmuXInputOpen), // XID_fCloseDevice - { - (OOVPA*)&XID_fCloseDevice_1_0_4361, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_4361), // XInputClose (* unchanged since 1.0.3911 *) - { - (OOVPA*)&XInputClose_1_0_3911, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_PATCH(XInputClose_1_0_3911, XTL::EmuXInputClose), // XInputGetCapabilities (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputGetCapabilities_1_0_4361, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_4361, XTL::EmuXInputGetCapabilities), // XInputGetState (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputGetState_1_0_4361, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_4361, XTL::EmuXInputGetState), // XInputSetState (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputSetState_1_0_4361, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_4361, XTL::EmuXInputSetState), /* // XapiThreadStartup (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XapiThreadStartup_1_0_4361, - - XTL::EmuXapiThreadStartup, - - #ifdef _DEBUG_TRACE - "EmuXapiThreadStartup" - #endif - }, - //*/ + OOVPA_TABLE_PATCH(XapiThreadStartup_1_0_4361, XTL::EmuXapiThreadStartup), //*/ //*/ // GetExitCodeThread (* unchanged since 3911 *) - { - (OOVPA*)&GetExitCodeThread_1_0_3911, - - XTL::EmuGetExitCodeThread, - - #ifdef _DEBUG_TRACE - "EmuGetExitCodeThread" - #endif - }, - // GetTimeZoneInformation (* unchanged since 3911 *) - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, - // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetExitCodeThread_1_0_3911, XTL::EmuGetExitCodeThread), + // GetTimeZoneInformation (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), + // SetThreadPriority (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), // SignalObjectAndWait (* unchanged since 3911 *) - { - (OOVPA*)&SignalObjectAndWait_1_0_3911, - - XTL::EmuSignalObjectAndWait, - - #ifdef _DEBUG_TRACE - "EmuSignalObjectAndWait" - #endif - }, + OOVPA_TABLE_PATCH(SignalObjectAndWait_1_0_3911, XTL::EmuSignalObjectAndWait), // CreateFiber (* unchanged since 3911 *) - { - (OOVPA*)&CreateFiber_1_0_3911, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_3911, XTL::EmuCreateFiber), // DeleteFiber (* unchanged since 3911 *) - { - (OOVPA*)&DeleteFiber_1_0_3911, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_3911, XTL::EmuDeleteFiber), // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // GetFileAttributesA (* unchanged since 4134 *) - { - (OOVPA*)&GetFileAttributesA_1_0_4134, - XTL::EmuGetFileAttributesA, - - #ifdef _DEBUG_TRACE - "EmuGetFileAttributesA" - #endif - }, + OOVPA_TABLE_PATCH(GetFileAttributesA_1_0_4134, XTL::EmuGetFileAttributesA), // timeSetEvent - { - (OOVPA*)&timeSetEvent_1_0_4134, - XTL::EmutimeSetEvent, - - #ifdef _DEBUG_TRACE - "EmutimeSetEvent" - #endif - }, + OOVPA_TABLE_PATCH(timeSetEvent_1_0_4134, XTL::EmutimeSetEvent), // timeKillEvent - { - (OOVPA*)&timeKillEvent_1_0_4134, - XTL::EmutimeKillEvent, - - #ifdef _DEBUG_TRACE - "EmutimeKillEvent" - #endif - }, + OOVPA_TABLE_PATCH(timeKillEvent_1_0_4134, XTL::EmutimeKillEvent), // XLaunchNewImageA - { - (OOVPA*)&XLaunchNewImageA_1_0_3911, - XTL::EmuXLaunchNewImage, - - #ifdef _DEBUG_TRACE - "EmuXLaunchNewImageA" - #endif - }, + OOVPA_TABLE_PATCH(XLaunchNewImageA_1_0_3911, XTL::EmuXLaunchNewImage), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl index 14e355a70..0417c2901 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XFormatUtilityDrive // ****************************************************************** -SOOVPA<7> XFormatUtilityDrive_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XFormatUtilityDrive_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x10, 0x50 }, { 0x23, 0xFF }, { 0x34, 0xC0 }, @@ -51,21 +44,13 @@ SOOVPA<7> XFormatUtilityDrive_1_0_4627 = { 0x58, 0xFF }, { 0x6D, 0x33 }, { 0x7C, 0x40 }, - } -}; +OOVPA_END; // ****************************************************************** // * SetThreadPriorityBoost // ****************************************************************** -SOOVPA<10> SetThreadPriorityBoost_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(SetThreadPriorityBoost_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // SetThreadPriorityBoost+0x0D : push [ebp+0x08] { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 @@ -83,21 +68,13 @@ SOOVPA<10> SetThreadPriorityBoost_1_0_4627 = // SetThreadPriorityBoost+0x2C : mov ecx, [ebp+0x08] { 0x2C, 0x8B }, // (Offset,Value)-Pair #9 { 0x2D, 0x4D }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * GetThreadPriority // ****************************************************************** -SOOVPA<10> GetThreadPriority_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(GetThreadPriority_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // GetThreadPriority+0x0D : push [ebp+0x08] { 0x0D, 0xFF }, // (Offset,Value)-Pair #1 { 0x0E, 0x75 }, // (Offset,Value)-Pair #2 @@ -115,21 +92,13 @@ SOOVPA<10> GetThreadPriority_1_0_4627 = // GetThreadPriority+0x37 : mov ecx, [ebp+0x08] { 0x37, 0x8B }, // (Offset,Value)-Pair #9 { 0x38, 0x4D }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * RtlFreeHeap // ****************************************************************** -SOOVPA<9> RtlFreeHeap_1_0_4627 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(RtlFreeHeap_1_0_4627, 9) - XRefNotSaved, - XRefNotUsed, - - { // RtlFreeHeap+0x1F : test edi, edi { 0x1F, 0x85 }, // (Offset,Value)-Pair #1 { 0x20, 0xFF }, // (Offset,Value)-Pair #2 @@ -146,21 +115,13 @@ SOOVPA<9> RtlFreeHeap_1_0_4627 = // RtlFreeHeap+0x49 : push 0x0B { 0x49, 0x6A }, // (Offset,Value)-Pair #8 { 0x4A, 0x0B }, // (Offset,Value)-Pair #9 - } -}; +OOVPA_END; // ****************************************************************** // * RtlReAllocateHeap // ****************************************************************** -SOOVPA<10> RtlReAllocateHeap_1_0_4627 = -{ - 0, // Large == 0 - 10, // Count == 10 +OOVPA_NO_XREF(RtlReAllocateHeap_1_0_4627, 10) - XRefNotSaved, - XRefNotUsed, - - { // RtlReAllocateHeap+0x1C : test esi, esi { 0x1C, 0x85 }, // (Offset,Value)-Pair #1 { 0x1D, 0xF6 }, // (Offset,Value)-Pair #2 @@ -176,21 +137,12 @@ SOOVPA<10> RtlReAllocateHeap_1_0_4627 = { 0x63, 0x83 }, // (Offset,Value)-Pair #8 { 0x64, 0xC1 }, // (Offset,Value)-Pair #9 { 0x65, 0x10 }, // (Offset,Value)-Pair #10 - } -}; +OOVPA_END; // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -SOOVPA<7> XID_fCloseDevice_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 - - XREF_FCLOSEDEVICE, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(XID_fCloseDevice_1_0_4627, 7, XREF_FCLOSEDEVICE, XRefZero) { 0x13, 0x1E }, { 0x28, 0x75 }, { 0x3D, 0x01 }, @@ -198,21 +150,12 @@ SOOVPA<7> XID_fCloseDevice_1_0_4627 = { 0x67, 0xFF }, { 0x7C, 0x06 }, { 0x91, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -SOOVPA<11> XID_fCloseDevice_1_0_4928 = -{ - 0, // Large == 0 - 11, // Count == 11 - - XREF_FCLOSEDEVICE, // XRef Is Saved - 0, // XRef Not Used - - { +OOVPA_XREF(XID_fCloseDevice_1_0_4928, 11, XREF_FCLOSEDEVICE, XRefZero) { 0x13, 0x8B }, // (Offset,Value)-Pair #1 { 0x14, 0x86 }, // (Offset,Value)-Pair #2 { 0x15, 0xA3 }, // (Offset,Value)-Pair #3 @@ -227,21 +170,16 @@ SOOVPA<11> XID_fCloseDevice_1_0_4928 = { 0x95, 0xC9 }, // (Offset,Value)-Pair #10 { 0x96, 0xC3 }, // (Offset,Value)-Pair #11 - } -}; +OOVPA_END; // ****************************************************************** // * XInputClose // ****************************************************************** -SOOVPA<8> XInputClose_1_0_4928 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_XREF(XInputClose_1_0_4928, 8, - XRefNotSaved, - 1, // XRef Is Used + XRefNoSaveIndex, + XRefOne) - { // XInputClose+0x05 : call [fCloseDevice] { 0x05, XREF_FCLOSEDEVICE }, // (Offset,Value)-Pair #1 @@ -257,21 +195,13 @@ SOOVPA<8> XInputClose_1_0_4928 = // XInputClose+0x09 : retn 0x04 { 0x09, 0xC2 }, // (Offset,Value)-Pair #7 { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -SOOVPA<12> XInputGetState_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetState_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x8B }, // (Offset,Value)-Pair #1 { 0x0F, 0x8A }, // (Offset,Value)-Pair #2 { 0x10, 0xA3 }, // (Offset,Value)-Pair #3 @@ -288,21 +218,13 @@ SOOVPA<12> XInputGetState_1_0_4928 = { 0x69, 0xC2 }, // (Offset,Value)-Pair #11 { 0x6A, 0x08 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -SOOVPA<12> XInputGetCapabilities_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 { 0x0D, 0xAC }, // (Offset,Value)-Pair #3 @@ -318,22 +240,14 @@ SOOVPA<12> XInputGetCapabilities_1_0_4928 = { 0x90, 0xBF }, // (Offset,Value)-Pair #10 { 0x91, 0xE8 }, // (Offset,Value)-Pair #11 { 0x92, 0x7B }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities2 // ****************************************************************** /* Unreal Championship's version is different */ -SOOVPA<12> XInputGetCapabilities2_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities2_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { // mov ebx, ds:KeRaiseIrqlToDpcLevel { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 @@ -353,21 +267,13 @@ SOOVPA<12> XInputGetCapabilities2_1_0_4928 = { 0x90, 0xBF }, // (Offset,Value)-Pair #10 { 0x91, 0xCC }, // (Offset,Value)-Pair #11 { 0x92, 0x5C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities3 // ****************************************************************** -SOOVPA<12> XInputGetCapabilities3_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities3_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 { 0x0D, 0xA4 }, // (Offset,Value)-Pair #3 @@ -383,22 +289,14 @@ SOOVPA<12> XInputGetCapabilities3_1_0_4928 = { 0x90, 0xBF }, // (Offset,Value)-Pair #10 { 0x91, 0x8A }, // (Offset,Value)-Pair #11 { 0x92, 0x2A }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities2 // ****************************************************************** /* Unreal Championship's version is different */ -SOOVPA<12> XInputGetCapabilities4_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities4_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { // mov ebx, ds:KeRaiseIrqlToDpcLevel { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 @@ -418,22 +316,14 @@ SOOVPA<12> XInputGetCapabilities4_1_0_4928 = { 0x90, 0xBF }, // (Offset,Value)-Pair #10 { 0x91, 0x8C }, // (Offset,Value)-Pair #11 { 0x92, 0x8C }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities5 // ****************************************************************** /* DOAV */ -SOOVPA<12> XInputGetCapabilities5_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities5_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { // mov ebx, ds:KeRaiseIrqlToDpcLevel { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 @@ -453,22 +343,14 @@ SOOVPA<12> XInputGetCapabilities5_1_0_4928 = { 0x90, 0xBF }, // (Offset,Value)-Pair #10 { 0x91, 0x17 }, // (Offset,Value)-Pair #11 { 0x92, 0xB7 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities6 // ****************************************************************** /* Defender */ -SOOVPA<12> XInputGetCapabilities6_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities6_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { // mov ebx, ds:KeRaiseIrqlToDpcLevel { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 @@ -488,21 +370,13 @@ SOOVPA<12> XInputGetCapabilities6_1_0_4928 = { 0x90, 0xBF }, // (Offset,Value)-Pair #10 { 0x91, 0xE5 }, // (Offset,Value)-Pair #11 { 0x92, 0xCF }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -SOOVPA<12> XInputGetCapabilities_1_0_4831 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities_1_0_4831, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 { 0x0D, 0x88 }, // (Offset,Value)-Pair #3 @@ -518,21 +392,13 @@ SOOVPA<12> XInputGetCapabilities_1_0_4831 = { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities2 // ****************************************************************** -SOOVPA<12> XInputGetCapabilities2_1_0_4831 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities2_1_0_4831, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 { 0x0D, 0x50 }, // (Offset,Value)-Pair #3 @@ -548,21 +414,13 @@ SOOVPA<12> XInputGetCapabilities2_1_0_4831 = { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities3 // ****************************************************************** -SOOVPA<12> XInputGetCapabilities3_1_0_4831 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities3_1_0_4831, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 { 0x0D, 0x14 }, // (Offset,Value)-Pair #3 @@ -578,21 +436,13 @@ SOOVPA<12> XInputGetCapabilities3_1_0_4831 = { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities4 // ****************************************************************** -SOOVPA<12> XInputGetCapabilities4_1_0_4831 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XInputGetCapabilities4_1_0_4831, 12) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, // (Offset,Value)-Pair #1 { 0x0C, 0x1D }, // (Offset,Value)-Pair #2 { 0x0D, 0x9C }, // (Offset,Value)-Pair #3 @@ -608,21 +458,13 @@ SOOVPA<12> XInputGetCapabilities4_1_0_4831 = { 0xAF, 0xC7 }, // (Offset,Value)-Pair #10 { 0xB0, 0x45 }, // (Offset,Value)-Pair #11 { 0xB1, 0xE2 }, // (Offset,Value)-Pair #12 - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities5 // ****************************************************************** -SOOVPA<12> XInputGetCapabilities5_1_0_4831 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XInputGetCapabilities5_1_0_4831, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x22, 0xF6 }, { 0x23, 0x46 }, { 0x24, 0x04 }, @@ -631,21 +473,13 @@ SOOVPA<12> XInputGetCapabilities5_1_0_4831 = { 0x45, 0x12 }, { 0xF1, 0xC2 }, { 0xF2, 0x08 }, - } -}; +OOVPA_END; // ****************************************************************** // * GetOverlappedResult // ****************************************************************** -SOOVPA<7> GetOverlappedResult_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(GetOverlappedResult_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x75 }, { 0x18, 0xC0 }, { 0x27, 0xEB }, @@ -653,21 +487,13 @@ SOOVPA<7> GetOverlappedResult_1_0_4627 = { 0x3F, 0xEB }, { 0x4C, 0x89 }, { 0x59, 0x56 }, - } -}; +OOVPA_END; // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** -SOOVPA<8> XLaunchNewImageA_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XLaunchNewImageA_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x80 }, { 0x3E, 0xC0 }, { 0x5E, 0xFF }, @@ -676,21 +502,13 @@ SOOVPA<8> XLaunchNewImageA_1_0_4627 = { 0xBE, 0x50 }, { 0xDE, 0x05 }, { 0xFE, 0x85 }, - } -}; +OOVPA_END; // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** -SOOVPA<12> XLaunchNewImageA_1_0_4928 = -{ - 0, // Large == 0 - 12, // Count == 12 +OOVPA_NO_XREF(XLaunchNewImageA_1_0_4928, 12) - XRefNotSaved, - XRefNotUsed, - - { // XLaunchNewImageA+0x03 : sub esp, 0x384 { 0x03, 0x81 }, { 0x04, 0xEC }, @@ -706,21 +524,13 @@ SOOVPA<12> XLaunchNewImageA_1_0_4928 = { 0x42, 0x7E }, { 0x43, 0x02 }, { 0x44, 0x5C }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetLaunchInfo // ****************************************************************** -SOOVPA<7> XGetLaunchInfo_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGetLaunchInfo_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x18, 0x15 }, { 0x25, 0x8B }, @@ -728,21 +538,13 @@ SOOVPA<7> XGetLaunchInfo_1_0_4627 = { 0x3F, 0x00 }, { 0x4C, 0x83 }, { 0x59, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * XSetProcessQuantumLength // ****************************************************************** -SOOVPA<7> XSetProcessQuantumLength_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XSetProcessQuantumLength_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0xA1 }, { 0x04, 0x00 }, { 0x07, 0x4C }, @@ -750,21 +552,13 @@ SOOVPA<7> XSetProcessQuantumLength_1_0_4627 = { 0x0D, 0x8D }, { 0x10, 0x89 }, { 0x13, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * timeSetEvent // ****************************************************************** -SOOVPA<7> timeSetEvent_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(timeSetEvent_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x8D }, { 0x3E, 0x89 }, { 0x5E, 0x15 }, @@ -772,21 +566,13 @@ SOOVPA<7> timeSetEvent_1_0_4627 = { 0x9E, 0x03 }, { 0xBE, 0x32 }, { 0xDE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * timeKillEvent // ****************************************************************** -SOOVPA<8> timeKillEvent_1_0_4627 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(timeKillEvent_1_0_4627, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x8B }, { 0x1A, 0xC2 }, { 0x28, 0x8D }, @@ -795,21 +581,13 @@ SOOVPA<8> timeKillEvent_1_0_4627 = { 0x52, 0x00 }, { 0x60, 0x5E }, { 0x6E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * RaiseException // ****************************************************************** -SOOVPA<7> RaiseException_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(RaiseException_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x83 }, { 0x14, 0x8B }, { 0x1F, 0xC7 }, @@ -817,22 +595,13 @@ SOOVPA<7> RaiseException_1_0_4627 = { 0x35, 0x89 }, { 0x40, 0x5F }, { 0x4B, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * VirtualProtect // ****************************************************************** -SOOVPA<7> VirtualProtect_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 - - 0/*XREF_VirtualProtect*/, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(VirtualProtect_1_0_4627, 7, 0/*XREF_VirtualProtect*/, XRefZero) { 0x04, 0x8D }, { 0x0A, 0x24 }, { 0x10, 0x10 }, @@ -840,21 +609,13 @@ SOOVPA<7> VirtualProtect_1_0_4627 = { 0x1C, 0x33 }, { 0x22, 0xE8 }, { 0x28, 0xC0 }, - } -}; +OOVPA_END; // ****************************************************************** // * CreateSemaphoreA // ****************************************************************** -SOOVPA<7> CreateSemaphoreA_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(CreateSemaphoreA_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x74 }, { 0x16, 0x50 }, { 0x22, 0x10 }, @@ -862,21 +623,13 @@ SOOVPA<7> CreateSemaphoreA_1_0_4627 = { 0x3A, 0x75 }, { 0x4A, 0x8B }, { 0x55, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * ReleaseSemaphore // ****************************************************************** -SOOVPA<7> ReleaseSemaphore_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(ReleaseSemaphore_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x0C }, { 0x08, 0xFF }, { 0x0D, 0x15 }, @@ -884,21 +637,13 @@ SOOVPA<7> ReleaseSemaphore_1_0_4627 = { 0x17, 0xC0 }, { 0x1C, 0xE8 }, { 0x21, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountAlternateTitleA // ****************************************************************** -SOOVPA<7> XMountAlternateTitleA_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XMountAlternateTitleA_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x0F }, { 0x3E, 0x56 }, { 0x5E, 0xFF }, @@ -906,21 +651,13 @@ SOOVPA<7> XMountAlternateTitleA_1_0_4627 = { 0x9E, 0x50 }, { 0xBE, 0x66 }, { 0xDE, 0xF0 }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountAlternateTitleA // ****************************************************************** -SOOVPA<7> XMountAlternateTitleA_1_0_4928 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XMountAlternateTitleA_1_0_4928, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x0F }, { 0x3E, 0x83 }, { 0x5E, 0x03 }, @@ -928,21 +665,13 @@ SOOVPA<7> XMountAlternateTitleA_1_0_4928 = { 0x9E, 0x00 }, { 0xBE, 0x01 }, { 0xDE, 0x45 }, - } -}; +OOVPA_END; // ****************************************************************** // * XUnmountAlternateTitleA // ****************************************************************** -SOOVPA<7> XUnmountAlternateTitleA_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XUnmountAlternateTitleA_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x65 }, { 0x16, 0xFF }, { 0x23, 0x83 }, @@ -950,42 +679,26 @@ SOOVPA<7> XUnmountAlternateTitleA_1_0_4627 = { 0x3A, 0x50 }, { 0x46, 0x0B }, { 0x52, 0x50 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetFileCacheSize // ****************************************************************** -SOOVPA<6> XGetFileCacheSize_1_0_4627 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(XGetFileCacheSize_1_0_4627, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xFF }, { 0x01, 0x15 }, { 0x06, 0xC1 }, { 0x07, 0xE0 }, { 0x08, 0x0C }, { 0x09, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * MoveFileA // ****************************************************************** -SOOVPA<7> MoveFileA_1_0_4627 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(MoveFileA_1_0_4627, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x11, 0x8D }, { 0x24, 0xE8 }, { 0x37, 0x50 }, @@ -993,21 +706,13 @@ SOOVPA<7> MoveFileA_1_0_4627 = { 0x5D, 0xFF }, { 0x74, 0xFF }, { 0x83, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetDeviceDescription // ****************************************************************** -SOOVPA<9> XInputGetDeviceDescription_1_0_4831 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_NO_XREF(XInputGetDeviceDescription_1_0_4831, 9) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x83 }, { 0x04, 0xEC }, { 0x05, 0x48 }, @@ -1017,573 +722,135 @@ SOOVPA<9> XInputGetDeviceDescription_1_0_4831 = { 0x09, 0x00 }, { 0x34, 0x6A }, { 0x35, 0x06 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_4627 // ****************************************************************** -OOVPATable XAPI_1_0_4627[] = -{ +OOVPATable XAPI_1_0_4627[] = { + // XFormatUtilityDrive - { - (OOVPA*)&XFormatUtilityDrive_1_0_4627, - - XTL::EmuXFormatUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXFormatUtilityDrive" - #endif - }, - // SetThreadPriorityBoost - { - (OOVPA*)&SetThreadPriorityBoost_1_0_4627, - - XTL::EmuSetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriorityBoost" - #endif - }, - // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, - // GetThreadPriority - { - (OOVPA*)&GetThreadPriority_1_0_4627, - - XTL::EmuGetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuGetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(XFormatUtilityDrive_1_0_4627, XTL::EmuXFormatUtilityDrive), + // SetThreadPriorityBoost + OOVPA_TABLE_PATCH(SetThreadPriorityBoost_1_0_4627, XTL::EmuSetThreadPriorityBoost), + // SetThreadPriority (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), + // GetThreadPriority + OOVPA_TABLE_PATCH(GetThreadPriority_1_0_4627, XTL::EmuGetThreadPriority), // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) - { - (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, - - XTL::EmuXRegisterThreadNotifyRoutine, - - #ifdef _DEBUG_TRACE - "EmuXRegisterThreadNotifyRoutine" - #endif - }, - // QueryPerformanceCounter (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceCounter_1_0_4361, - - XTL::EmuQueryPerformanceCounter, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceCounter" - #endif - }, - // QueryPerformanceFrequency (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceFrequency_1_0_4361, - - XTL::EmuQueryPerformanceFrequency, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceFrequency" - #endif - }, + OOVPA_TABLE_PATCH(XRegisterThreadNotifyRoutine_1_0_3911, XTL::EmuXRegisterThreadNotifyRoutine), + // QueryPerformanceCounter (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(QueryPerformanceCounter_1_0_4361, XTL::EmuQueryPerformanceCounter), + // QueryPerformanceFrequency (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(QueryPerformanceFrequency_1_0_4361, XTL::EmuQueryPerformanceFrequency), // XMountUtilityDrive (* unchanged since 4432 *) - { - (OOVPA*)&XMountUtilityDrive_1_0_4432, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4432, XTL::EmuXMountUtilityDrive), // XInitDevices (* unchanged since 1.0.3911 *) - { - (OOVPA*)&XInitDevices_1_0_3911, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, + OOVPA_TABLE_PATCH(XInitDevices_1_0_3911, XTL::EmuXInitDevices), // XGetDevices (* unchanged since 1.0.4134 *) - { - (OOVPA*)&XGetDevices_1_0_4134, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices), // XInputOpen (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputOpen_1_0_4361, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4361, XTL::EmuXInputOpen), // XInputPoll (* unchanged since 4134 *) - { - (OOVPA*)&XInputPoll_1_0_4134, - - XTL::EmuXInputPoll, - - #ifdef _DEBUG_TRACE - "EmuXInputPoll" - #endif - }, + OOVPA_TABLE_PATCH(XInputPoll_1_0_4134, XTL::EmuXInputPoll), // XID_fCloseDevice - { - (OOVPA*)&XID_fCloseDevice_1_0_4627, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (4627) (XREF)" - #endif - }, - // XID_fCloseDevice - { - (OOVPA*)&XID_fCloseDevice_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, - // XInputClose - { - (OOVPA*)&XInputClose_1_0_4928, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_4627), + // XID_fCloseDevice + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_4928), + // XInputClose + OOVPA_TABLE_PATCH(XInputClose_1_0_4928, XTL::EmuXInputClose), // XInputGetCapabilities (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputGetCapabilities_1_0_4361, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_4361, XTL::EmuXInputGetCapabilities), // XInputGetState (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputGetState_1_0_4361, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_4361, XTL::EmuXInputGetState), // XInputGetState - { - (OOVPA*)&XInputGetState_1_0_4928, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_4928, XTL::EmuXInputGetState), // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_4928, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_4928, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities2 - { - (OOVPA*)&XInputGetCapabilities2_1_0_4928, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities2" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities2_1_0_4928, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities3 - { - (OOVPA*)&XInputGetCapabilities3_1_0_4928, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities3" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities3_1_0_4928, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities4 - { - (OOVPA*)&XInputGetCapabilities4_1_0_4928, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities4" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities4_1_0_4928, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities5 - { - (OOVPA*)&XInputGetCapabilities5_1_0_4928, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities(5)" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities5_1_0_4928, XTL::EmuXInputGetCapabilities), // XInputSetState (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputSetState_1_0_4361, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_4361, XTL::EmuXInputSetState), // XInputSetState - { - (OOVPA*)&XInputSetState_1_0_4928, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState (4928)" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_4928, XTL::EmuXInputSetState), /* obsolete? // XapiThreadStartup (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XapiThreadStartup_1_0_4361, - - XTL::EmuXapiThreadStartup, - - #ifdef _DEBUG_TRACE - "EmuXapiThreadStartup" - #endif - }, + OOVPA_TABLE_PATCH(XapiThreadStartup_1_0_4361, XTL::EmuXapiThreadStartup), //*/ //*/ // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_4831, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities_4831" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_4831, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities2 - { - (OOVPA*)&XInputGetCapabilities2_1_0_4831, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities2_4831" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities2_1_0_4831, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities3 - { - (OOVPA*)&XInputGetCapabilities3_1_0_4831, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities3_4831" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities3_1_0_4831, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities4 - { - (OOVPA*)&XInputGetCapabilities4_1_0_4831, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities4_4831" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities4_1_0_4831, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities5 - { - (OOVPA*)&XInputGetCapabilities5_1_0_4831, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities5_4831" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities5_1_0_4831, XTL::EmuXInputGetCapabilities), // XInputGetCapabilities6 - { - (OOVPA*)&XInputGetCapabilities6_1_0_4928, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities6_4928" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities6_1_0_4928, XTL::EmuXInputGetCapabilities), // +s /* not necessary? // XCalculateSignatureBeginEx - { - (OOVPA*)&XCalculateSignatureBeginEx_1_0_4627, - - XTL::EmuXCalculateSignatureBeginEx, - - #ifdef _DEBUG_TRACE - "EmuXCalculateSignatureBeginEx (XREF&FUNC)" - #endif - }, + OOVPA_TABLE_PATCH(XCalculateSignatureBeginEx_1_0_4627, XTL::EmuXCalculateSignatureBeginEx), // XCalculateSignatureBegin - { - (OOVPA*)&XCalculateSignatureBegin_1_0_4627, - - XTL::EmuXCalculateSignatureBegin, - - #ifdef _DEBUG_TRACE - "EmuXCalculateSignatureBegin" - #endif - }, + OOVPA_TABLE_PATCH(XCalculateSignatureBegin_1_0_4627, XTL::EmuXCalculateSignatureBegin), // XCalculateSignatureUpdate - { - (OOVPA*)&XCalculateSignatureUpdate_1_0_4627, - - XTL::EmuXCalculateSignatureUpdate, - - #ifdef _DEBUG_TRACE - "EmuXCalculateSignatureUpdate" - #endif - }, + OOVPA_TABLE_PATCH(XCalculateSignatureUpdate_1_0_4627, XTL::EmuXCalculateSignatureUpdate), // XCalculateSignatureEnd - { - (OOVPA*)&XCalculateSignatureEnd_1_0_4627, - - XTL::EmuXCalculateSignatureEnd, - - #ifdef _DEBUG_TRACE - "EmuXCalculateSignatureEnd" - #endif - }, - //*/ + OOVPA_TABLE_PATCH(XCalculateSignatureEnd_1_0_4627, XTL::EmuXCalculateSignatureEnd), //*/ // s+ // CreateFiber (* unchanged since 3911 *) - { - (OOVPA*)&CreateFiber_1_0_3911, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_3911, XTL::EmuCreateFiber), // DeleteFiber (* unchanged since 3911 *) - { - (OOVPA*)&DeleteFiber_1_0_3911, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_3911, XTL::EmuDeleteFiber), // GetTimeZoneInformation (* unchanged since 3911 *) - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), // GetExitCodeThread (* unchanged since 3911 *) - { - (OOVPA*)&GetExitCodeThread_1_0_3911, - - XTL::EmuGetExitCodeThread, - - #ifdef _DEBUG_TRACE - "EmuGetExitCodeThread" - #endif - }, + OOVPA_TABLE_PATCH(GetExitCodeThread_1_0_3911, XTL::EmuGetExitCodeThread), // GetOverlappedResult - { - (OOVPA*)&GetOverlappedResult_1_0_4627, - - XTL::EmuGetOverlappedResult, - - #ifdef _DEBUG_TRACE - "EmuGetOverlappedResult" - #endif - }, + OOVPA_TABLE_PATCH(GetOverlappedResult_1_0_4627, XTL::EmuGetOverlappedResult), // XLaunchNewImageA - { - (OOVPA*)&XLaunchNewImageA_1_0_4627, - XTL::EmuXLaunchNewImage, - - #ifdef _DEBUG_TRACE - "EmuXLaunchNewImageA" - #endif - }, + OOVPA_TABLE_PATCH(XLaunchNewImageA_1_0_4627, XTL::EmuXLaunchNewImage), // XLaunchNewImageA - { - (OOVPA*)&XLaunchNewImageA_1_0_4928, - XTL::EmuXLaunchNewImage, - - #ifdef _DEBUG_TRACE - "EmuXLaunchNewImageA" - #endif - }, + OOVPA_TABLE_PATCH(XLaunchNewImageA_1_0_4928, XTL::EmuXLaunchNewImage), // XGetLaunchInfo - { - (OOVPA*)&XGetLaunchInfo_1_0_4627, - XTL::EmuXGetLaunchInfo, - - #ifdef _DEBUG_TRACE - "EmuXGetLaunchInfo" - #endif - }, + OOVPA_TABLE_PATCH(XGetLaunchInfo_1_0_4627, XTL::EmuXGetLaunchInfo), // XSetProcessQuantumLength - { - (OOVPA*)&XSetProcessQuantumLength_1_0_4627, - XTL::EmuXSetProcessQuantumLength, - - #ifdef _DEBUG_TRACE - "EmuXSetProcessQuantumLength" - #endif - }, + OOVPA_TABLE_PATCH(XSetProcessQuantumLength_1_0_4627, XTL::EmuXSetProcessQuantumLength), // SignalObjectAndWait (* unchanged since 3911 *) - { - (OOVPA*)&SignalObjectAndWait_1_0_3911, - - XTL::EmuSignalObjectAndWait, - - #ifdef _DEBUG_TRACE - "EmuSignalObjectAndWait" - #endif - }, + OOVPA_TABLE_PATCH(SignalObjectAndWait_1_0_3911, XTL::EmuSignalObjectAndWait), // timeSetEvent - { - (OOVPA*)&timeSetEvent_1_0_4627, - XTL::EmutimeSetEvent, - - #ifdef _DEBUG_TRACE - "EmutimeSetEvent" - #endif - }, - // timeKillEvent - { - (OOVPA*)&timeKillEvent_1_0_4627, - XTL::EmutimeKillEvent, - - #ifdef _DEBUG_TRACE - "EmutimeKillEvent" - #endif - }, + OOVPA_TABLE_PATCH(timeSetEvent_1_0_4627, XTL::EmutimeSetEvent), + // timeKillEvent + OOVPA_TABLE_PATCH(timeKillEvent_1_0_4627, XTL::EmutimeKillEvent), // RaiseException - { - (OOVPA*)&RaiseException_1_0_4627, - XTL::EmuRaiseException, - - #ifdef _DEBUG_TRACE - "EmuRaiseException" - #endif - }, + OOVPA_TABLE_PATCH(RaiseException_1_0_4627, XTL::EmuRaiseException), // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // XMountAlternateTitleA - { - (OOVPA*)&XMountAlternateTitleA_1_0_4627, - XTL::EmuXMountAlternateTitle, - - #ifdef _DEBUG_TRACE - "XMountAlternateTitleA" - #endif - }, + OOVPA_TABLE_PATCH(XMountAlternateTitleA_1_0_4627, XTL::EmuXMountAlternateTitle), // XMountAlternateTitleA - { - (OOVPA*)&XMountAlternateTitleA_1_0_4928, - XTL::EmuXMountAlternateTitle, - - #ifdef _DEBUG_TRACE - "XMountAlternateTitleA (4928)" - #endif - }, + OOVPA_TABLE_PATCH(XMountAlternateTitleA_1_0_4928, XTL::EmuXMountAlternateTitle), // XUnmountAlternateTitleA - { - (OOVPA*)&XUnmountAlternateTitleA_1_0_4627, - XTL::EmuXUnmountAlternateTitle, - - #ifdef _DEBUG_TRACE - "XUnmountAlternateTitleA" - #endif - }, + OOVPA_TABLE_PATCH(XUnmountAlternateTitleA_1_0_4627, XTL::EmuXUnmountAlternateTitle), // GetFileAttributesA (* unchanged since 4134 *) - { - (OOVPA*)&GetFileAttributesA_1_0_4134, - XTL::EmuGetFileAttributesA, - - #ifdef _DEBUG_TRACE - "EmuGetFileAttributesA" - #endif - }, + OOVPA_TABLE_PATCH(GetFileAttributesA_1_0_4134, XTL::EmuGetFileAttributesA), // XGetFileCacheSize - { - (OOVPA*)&XGetFileCacheSize_1_0_4627, - XTL::EmuXGetFileCacheSize, - - #ifdef _DEBUG_TRACE - "XGetFileCacheSize" - #endif - }, + OOVPA_TABLE_PATCH(XGetFileCacheSize_1_0_4627, XTL::EmuXGetFileCacheSize), // XInputGetDeviceDescription - { - (OOVPA*)&XInputGetDeviceDescription_1_0_4831, - XTL::EmuXInputGetDeviceDescription, - - #ifdef _DEBUG_TRACE - "XInputGetDeviceDescription_4831" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetDeviceDescription_1_0_4831, XTL::EmuXInputGetDeviceDescription), // MoveFileA - /*{ - (OOVPA*)&MoveFileA_1_0_4627, - XTL::EmuMoveFileA, - - #ifdef _DEBUG_TRACE - "MoveFileA" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(MoveFileA_1_0_4627, XTL::EmuMoveFileA), + */ }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl index 8f5991584..2829b7eb0 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl @@ -39,15 +39,8 @@ // * NOTE: We are actually intercepting USBD_Init, because // * XInitDevices Simply redirects to that function // ****************************************************************** -SOOVPA<7> XInitDevices_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XInitDevices_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0E, 0x75 }, { 0x20, 0xBE }, { 0x2E, 0xC0 }, @@ -55,21 +48,13 @@ SOOVPA<7> XInitDevices_1_0_5233 = { 0x50, 0x0F }, { 0x5F, 0xE8 }, { 0x70, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -SOOVPA<8> XInputGetCapabilities_1_0_5233 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XInputGetCapabilities_1_0_5233, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x85 }, { 0x3C, 0x8A }, { 0x5B, 0x00 }, @@ -78,21 +63,13 @@ SOOVPA<8> XInputGetCapabilities_1_0_5233 = { 0xBB, 0x02 }, { 0xDA, 0x8D }, { 0xF9, 0x46 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetDeviceChanges // ****************************************************************** -SOOVPA<7> XGetDeviceChanges_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGetDeviceChanges_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0C, 0x75 }, { 0x1A, 0x53 }, { 0x28, 0xF7 }, @@ -100,21 +77,13 @@ SOOVPA<7> XGetDeviceChanges_1_0_5233 = { 0x44, 0x89 }, { 0x52, 0xC8 }, { 0x60, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * XInputSetState // ****************************************************************** -SOOVPA<7> XInputSetState_1_0_5233 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XInputSetState_1_0_5233, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x81 }, { 0x0C, 0xF6 }, { 0x13, 0x57 }, @@ -122,232 +91,66 @@ SOOVPA<7> XInputSetState_1_0_5233 = { 0x21, 0x8B }, { 0x28, 0x88 }, { 0x30, 0xC2 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetFileCacheSize // ****************************************************************** -SOOVPA<6> XGetFileCacheSize_1_0_5344 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(XGetFileCacheSize_1_0_5344, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0xFF }, { 0x01, 0x15 }, { 0x06, 0xC1 }, { 0x07, 0xE0 }, { 0x08, 0x0C }, { 0x09, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_5233 // ****************************************************************** -OOVPATable XAPI_1_0_5233[] = -{ +OOVPATable XAPI_1_0_5233[] = { + // GetTimeZoneInformation (* unchanged since 3911 *) - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, - // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, - // SetThreadPriorityBoost (* unchanged since 4627 *) - { - (OOVPA*)&SetThreadPriorityBoost_1_0_4627, - - XTL::EmuSetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriorityBoost" - #endif - }, + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), + // SetThreadPriority (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), + // SetThreadPriorityBoost (* unchanged since 4627 *) + OOVPA_TABLE_PATCH(SetThreadPriorityBoost_1_0_4627, XTL::EmuSetThreadPriorityBoost), // GetThreadPriority (* unchanged since 4627 *) - { - (OOVPA*)&GetThreadPriority_1_0_4627, - - XTL::EmuGetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuGetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetThreadPriority_1_0_4627, XTL::EmuGetThreadPriority), // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) - { - (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, - - XTL::EmuXRegisterThreadNotifyRoutine, - - #ifdef _DEBUG_TRACE - "EmuXRegisterThreadNotifyRoutine" - #endif - }, - - // QueryPerformanceCounter (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceCounter_1_0_4361, - - XTL::EmuQueryPerformanceCounter, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceCounter" - #endif - }, - // QueryPerformanceFrequency (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceFrequency_1_0_4361, - - XTL::EmuQueryPerformanceFrequency, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceFrequency" - #endif - }, + OOVPA_TABLE_PATCH(XRegisterThreadNotifyRoutine_1_0_3911, XTL::EmuXRegisterThreadNotifyRoutine), + // QueryPerformanceCounter (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(QueryPerformanceCounter_1_0_4361, XTL::EmuQueryPerformanceCounter), + // QueryPerformanceFrequency (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(QueryPerformanceFrequency_1_0_4361, XTL::EmuQueryPerformanceFrequency), // XMountUtilityDrive (* unchanged since 4432 *) - { - (OOVPA*)&XMountUtilityDrive_1_0_4432, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4432, XTL::EmuXMountUtilityDrive), // XInitDevices - { - (OOVPA*)&XInitDevices_1_0_5233, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, + OOVPA_TABLE_PATCH(XInitDevices_1_0_5233, XTL::EmuXInitDevices), // XGetDevices (* unchanged since 1.0.4134 *) - { - (OOVPA*)&XGetDevices_1_0_4134, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices), // XGetDeviceChanges - { - (OOVPA*)&XGetDeviceChanges_1_0_5233, - - XTL::EmuXGetDeviceChanges, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceChanges" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceChanges_1_0_5233, XTL::EmuXGetDeviceChanges), // XInputOpen (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputOpen_1_0_4361, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4361, XTL::EmuXInputOpen), // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_5233, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_5233, XTL::EmuXInputGetCapabilities), // XID_fCloseDevice (* unchanged since 1.0.4928 *) - { - (OOVPA*)&XID_fCloseDevice_1_0_4928, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_4928), // XInputClose (* unchanged since 1.0.4928 *) - { - (OOVPA*)&XInputClose_1_0_4928, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_PATCH(XInputClose_1_0_4928, XTL::EmuXInputClose), // XInputGetState (* unchanged since 1.0.4928 *) - { - (OOVPA*)&XInputGetState_1_0_4928, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_4928, XTL::EmuXInputGetState), // XInputSetState - { - (OOVPA*)&XInputSetState_1_0_5233, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_5233, XTL::EmuXInputSetState), // XGetFileCacheSize - { - (OOVPA*)&XGetFileCacheSize_1_0_5344, - XTL::EmuXGetFileCacheSize, - - #ifdef _DEBUG_TRACE - "XGetFileCacheSize" - #endif - }, + OOVPA_TABLE_PATCH(XGetFileCacheSize_1_0_5344, XTL::EmuXGetFileCacheSize), // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // GetFileAttributesA (* unchanged since 4134 *) - { - (OOVPA*)&GetFileAttributesA_1_0_4134, - XTL::EmuGetFileAttributesA, - - #ifdef _DEBUG_TRACE - "EmuGetFileAttributesA" - #endif - }, + OOVPA_TABLE_PATCH(GetFileAttributesA_1_0_4134, XTL::EmuGetFileAttributesA), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl index 14dab7131..202ef336f 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * RtlCreateHeap // ****************************************************************** -SOOVPA<8> RtlCreateHeap_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(RtlCreateHeap_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x45 }, { 0x3E, 0xFF }, { 0x5E, 0x8C }, @@ -52,21 +45,13 @@ SOOVPA<8> RtlCreateHeap_1_0_5558 = { 0xBE, 0xC7 }, { 0xDE, 0x00 }, { 0xFE, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * RtlAllocateHeap // ****************************************************************** -SOOVPA<8> RtlAllocateHeap_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(RtlAllocateHeap_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1E, 0x8B }, { 0x3E, 0x7D }, { 0x5E, 0x00 }, @@ -75,21 +60,13 @@ SOOVPA<8> RtlAllocateHeap_1_0_5558 = { 0xBE, 0x8D }, { 0xDE, 0x45 }, { 0xFE, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * RtlSizeHeap // ****************************************************************** -SOOVPA<8> RtlSizeHeap_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(RtlSizeHeap_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x8A }, { 0x0A, 0x05 }, { 0x10, 0xA8 }, @@ -98,21 +75,13 @@ SOOVPA<8> RtlSizeHeap_1_0_5558 = { 0x22, 0xF0 }, { 0x28, 0xE0 }, { 0x2E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -SOOVPA<8> XInputGetCapabilities_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XInputGetCapabilities_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x1D, 0x85 }, { 0x3C, 0x8A }, { 0x5B, 0x00 }, @@ -121,21 +90,13 @@ SOOVPA<8> XInputGetCapabilities_1_0_5558 = { 0xB8, 0x02 }, { 0xD7, 0x8D }, { 0xF6, 0x46 }, - } -}; +OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -SOOVPA<7> XInputGetState_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XInputGetState_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0x0C }, { 0x1C, 0x5E }, { 0x2B, 0xBB }, @@ -143,21 +104,13 @@ SOOVPA<7> XInputGetState_1_0_5558 = { 0x49, 0x08 }, { 0x58, 0xF3 }, { 0x67, 0x15 }, - } -}; +OOVPA_END; // ****************************************************************** // * XapiInitProcess // ****************************************************************** -SOOVPA<8> XapiInitProcess_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XapiInitProcess_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x22, 0x6A }, { 0x3E, 0x01 }, { 0x5E, 0x7D }, @@ -166,21 +119,13 @@ SOOVPA<8> XapiInitProcess_1_0_5558 = { 0xBE, 0x01 }, { 0xDE, 0x6A }, { 0xFE, 0x02 }, - } -}; +OOVPA_END; // ****************************************************************** // * XapiInitProcess // ****************************************************************** -SOOVPA<8> XapiInitProcess_1_0_5659 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XapiInitProcess_1_0_5659, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x22, 0x6A }, { 0x3E, 0x01 }, { 0x5E, 0xEB }, @@ -189,21 +134,13 @@ SOOVPA<8> XapiInitProcess_1_0_5659 = { 0xBE, 0x01 }, { 0xDE, 0x6A }, { 0xFE, 0x02 }, - } -}; +OOVPA_END; // ****************************************************************** // * CreateSemaphoreA // ****************************************************************** -SOOVPA<7> CreateSemaphoreA_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(CreateSemaphoreA_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0A, 0x74 }, { 0x16, 0x50 }, { 0x22, 0x10 }, @@ -211,21 +148,13 @@ SOOVPA<7> CreateSemaphoreA_1_0_5558 = { 0x3A, 0x75 }, { 0x4A, 0x8B }, { 0x55, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * ReleaseSemaphore // ****************************************************************** -SOOVPA<7> ReleaseSemaphore_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(ReleaseSemaphore_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x03, 0x0C }, { 0x08, 0xFF }, { 0x0D, 0x15 }, @@ -233,21 +162,13 @@ SOOVPA<7> ReleaseSemaphore_1_0_5558 = { 0x17, 0xC0 }, { 0x1C, 0xE8 }, { 0x21, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** -SOOVPA<7> XLaunchNewImageA_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XLaunchNewImageA_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0xF0 }, { 0x10, 0xD2 }, { 0x19, 0x19 }, @@ -255,21 +176,13 @@ SOOVPA<7> XLaunchNewImageA_1_0_5558 = { 0x2B, 0xE8 }, { 0x34, 0x6A }, { 0x3D, 0x10 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetLaunchInfo // ****************************************************************** -SOOVPA<7> XGetLaunchInfo_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGetLaunchInfo_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0B, 0x8B }, { 0x18, 0x15 }, { 0x25, 0x8B }, @@ -277,21 +190,13 @@ SOOVPA<7> XGetLaunchInfo_1_0_5558 = { 0x3F, 0x00 }, { 0x4C, 0x83 }, { 0x59, 0x5E }, - } -}; +OOVPA_END; // ****************************************************************** // * GetFileAttributesA // ****************************************************************** -SOOVPA<7> GetFileAttributesA_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(GetFileAttributesA_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x08, 0x08 }, { 0x13, 0x8D }, { 0x1C, 0x50 }, @@ -299,21 +204,13 @@ SOOVPA<7> GetFileAttributesA_1_0_5558 = { 0x30, 0x15 }, { 0x3A, 0x45 }, { 0x44, 0x83 }, - } -}; +OOVPA_END; // ****************************************************************** // * XMountMUA // ****************************************************************** -SOOVPA<8> XMountMUA_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XMountMUA_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x22, 0x8A }, { 0x3E, 0x89 }, { 0x5E, 0x5C }, @@ -322,21 +219,13 @@ SOOVPA<8> XMountMUA_1_0_5558 = { 0xBE, 0xF8 }, { 0xDE, 0x8D }, { 0xFE, 0x09 }, - } -}; +OOVPA_END; // ****************************************************************** // * CreateFiber // ****************************************************************** -SOOVPA<7> CreateFiber_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(CreateFiber_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x10, 0x00 }, { 0x22, 0x57 }, { 0x34, 0x75 }, @@ -344,42 +233,26 @@ SOOVPA<7> CreateFiber_1_0_5558 = { 0x58, 0xFC }, { 0x6A, 0x39 }, { 0x7C, 0xCE }, - } -}; +OOVPA_END; // ****************************************************************** // * DeleteFiber // ****************************************************************** -SOOVPA<6> DeleteFiber_1_0_5558 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(DeleteFiber_1_0_5558, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x44 }, { 0x04, 0xFF }, { 0x07, 0xFF }, { 0x0A, 0xFF }, { 0x10, 0xC2 }, { 0x11, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * SwitchToFiber // ****************************************************************** -SOOVPA<8> SwitchToFiber_1_0_5558 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(SwitchToFiber_1_0_5558, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x06, 0x64 }, { 0x0E, 0x44 }, { 0x16, 0xFF }, @@ -388,21 +261,13 @@ SOOVPA<8> SwitchToFiber_1_0_5558 = { 0x31, 0x64 }, { 0x36, 0x00 }, { 0x3E, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * ConvertThreadToFiber // ****************************************************************** -SOOVPA<7> ConvertThreadToFiber_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(ConvertThreadToFiber_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x05, 0x64 }, { 0x0C, 0x8B }, { 0x13, 0x8D }, @@ -410,21 +275,13 @@ SOOVPA<7> ConvertThreadToFiber_1_0_5558 = { 0x21, 0x8B }, { 0x28, 0x89 }, { 0x31, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * XapiFiberStartup // ****************************************************************** -SOOVPA<7> XapiFiberStartup_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XapiFiberStartup_1_0_5558, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0xE8 }, { 0x10, 0xA1 }, { 0x1C, 0x8B }, @@ -432,21 +289,12 @@ SOOVPA<7> XapiFiberStartup_1_0_5558 = { 0x2B, 0x0C }, { 0x34, 0xC3 }, { 0x3D, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -SOOVPA<7> XID_fCloseDevice_1_0_5558 = -{ - 0, // Large == 0 - 7, // Count == 7 - - XREF_FCLOSEDEVICE, // Xref Is Saved - XRefNotUsed, - - { +OOVPA_XREF(XID_fCloseDevice_1_0_5558, 7, XREF_FCLOSEDEVICE, XRefZero) { 0x11, 0x45 }, { 0x24, 0xFF }, { 0x37, 0x89 }, @@ -454,21 +302,16 @@ SOOVPA<7> XID_fCloseDevice_1_0_5558 = { 0x5D, 0x53 }, { 0x70, 0xFF }, { 0x84, 0x89 }, - } -}; +OOVPA_END; // ****************************************************************** // * XInputClose // ****************************************************************** -SOOVPA<9> XInputClose_1_0_5558 = -{ - 0, // Large == 0 - 9, // Count == 9 +OOVPA_XREF(XInputClose_1_0_5558, 9, - XRefNotSaved, - 1, // Xref Is Used + XRefNoSaveIndex, + XRefOne) - { { 0x05, XREF_FCLOSEDEVICE }, { 0x00, 0x8B }, @@ -479,299 +322,73 @@ SOOVPA<9> XInputClose_1_0_5558 = { 0x09, 0xC2 }, { 0x0A, 0x04 }, { 0x0B, 0x00 }, - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_5558 // ****************************************************************** -OOVPATable XAPI_1_0_5558[] = -{ +OOVPATable XAPI_1_0_5558[] = { + // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), // XRegisterThreadNotifyRoutine (* unchanged since 3911 *) - { - (OOVPA*)&XRegisterThreadNotifyRoutine_1_0_3911, - - XTL::EmuXRegisterThreadNotifyRoutine, - - #ifdef _DEBUG_TRACE - "EmuXRegisterThreadNotifyRoutine" - #endif - }, + OOVPA_TABLE_PATCH(XRegisterThreadNotifyRoutine_1_0_3911, XTL::EmuXRegisterThreadNotifyRoutine), // QueryPerformanceCounter (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceCounter_1_0_4361, - - XTL::EmuQueryPerformanceCounter, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceCounter" - #endif - }, - // QueryPerformanceFrequency (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceFrequency_1_0_4361, - - XTL::EmuQueryPerformanceFrequency, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceFrequency" - #endif - }, + OOVPA_TABLE_PATCH(QueryPerformanceCounter_1_0_4361, XTL::EmuQueryPerformanceCounter), + // QueryPerformanceFrequency (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(QueryPerformanceFrequency_1_0_4361, XTL::EmuQueryPerformanceFrequency), // XMountUtilityDrive (* unchanged since 4432 *) - { - (OOVPA*)&XMountUtilityDrive_1_0_4432, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4432, XTL::EmuXMountUtilityDrive), // XInitDevices (* unchanged since 5233 *) - { - (OOVPA*)&XInitDevices_1_0_5233, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, + OOVPA_TABLE_PATCH(XInitDevices_1_0_5233, XTL::EmuXInitDevices), // XGetDevices (* unchanged since 1.0.4134 *) - { - (OOVPA*)&XGetDevices_1_0_4134, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices), // XGetDeviceChanges (* unchanged since 5233 *) - { - (OOVPA*)&XGetDeviceChanges_1_0_5233, - - XTL::EmuXGetDeviceChanges, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceChanges" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceChanges_1_0_5233, XTL::EmuXGetDeviceChanges), // XInputOpen (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputOpen_1_0_4361, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4361, XTL::EmuXInputOpen), // XInputGetCapabilities - { - (OOVPA*)&XInputGetCapabilities_1_0_5558, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_5558, XTL::EmuXInputGetCapabilities), // XInputGetState - { - (OOVPA*)&XInputGetState_1_0_5558, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_5558, XTL::EmuXInputGetState), // XInputSetState (* unchanged since 5233 *) - { - (OOVPA*)&XInputSetState_1_0_5233, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_5233, XTL::EmuXInputSetState), /* obsolete? // XapiThreadStartup (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XapiThreadStartup_1_0_4361, - - XTL::EmuXapiThreadStartup, - - #ifdef _DEBUG_TRACE - "EmuXapiThreadStartup" - #endif - }, + OOVPA_TABLE_PATCH(XapiThreadStartup_1_0_4361, XTL::EmuXapiThreadStartup), //*/ // XLaunchNewImageA - { - (OOVPA*)&XLaunchNewImageA_1_0_5558, - XTL::EmuXLaunchNewImage, - - #ifdef _DEBUG_TRACE - "XLaunchNewImageA" - #endif - }, + OOVPA_TABLE_PATCH(XLaunchNewImageA_1_0_5558, XTL::EmuXLaunchNewImage), // XGetLaunchInfo - { - (OOVPA*)&XGetLaunchInfo_1_0_5558, - XTL::EmuXGetLaunchInfo, - - #ifdef _DEBUG_TRACE - "XGetLaunchInfo" - #endif - }, + OOVPA_TABLE_PATCH(XGetLaunchInfo_1_0_5558, XTL::EmuXGetLaunchInfo), // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // GetFileAttributesA - { - (OOVPA*)&GetFileAttributesA_1_0_5558, - XTL::EmuGetFileAttributesA, - - #ifdef _DEBUG_TRACE - "GetFileAttributesA" - #endif - }, + OOVPA_TABLE_PATCH(GetFileAttributesA_1_0_5558, XTL::EmuGetFileAttributesA), // SetThreadPriorityBoost (* unchanged since 4627 *) - { - (OOVPA*)&SetThreadPriorityBoost_1_0_4627, - - XTL::EmuSetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriorityBoost" - #endif - }, + OOVPA_TABLE_PATCH(SetThreadPriorityBoost_1_0_4627, XTL::EmuSetThreadPriorityBoost), // GetThreadPriority (* unchanged since 4627 *) - { - (OOVPA*)&GetThreadPriority_1_0_4627, - - XTL::EmuGetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuGetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetThreadPriority_1_0_4627, XTL::EmuGetThreadPriority), // GetTimeZoneInformation (* unchanged since 3911 *) - { - (OOVPA*)&GetTimeZoneInformation_1_0_3911, - - XTL::EmuGetTimeZoneInformation, - - #ifdef _DEBUG_TRACE - "GetTimeZoneInformation" - #endif - }, - // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, + OOVPA_TABLE_PATCH(GetTimeZoneInformation_1_0_3911, XTL::EmuGetTimeZoneInformation), + // SetThreadPriority (* unchanged since 3911 *) + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), // XMountMUA - { - (OOVPA*)&XMountMUA_1_0_5558, - XTL::EmuXMountMUA, - - #ifdef _DEBUG_TRACE - "EmuXMountMUA" - #endif - }, + OOVPA_TABLE_PATCH(XMountMUA_1_0_5558, XTL::EmuXMountMUA), // CreateFiber - { - (OOVPA*)&CreateFiber_1_0_5558, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_5558, XTL::EmuCreateFiber), // DeleteFiber - { - (OOVPA*)&DeleteFiber_1_0_5558, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_5558, XTL::EmuDeleteFiber), // SwitchToFiber - { - (OOVPA*)&SwitchToFiber_1_0_5558, - - XTL::EmuSwitchToFiber, - - #ifdef _DEBUG_TRACE - "EmuSwitchToFiber" - #endif - }, + OOVPA_TABLE_PATCH(SwitchToFiber_1_0_5558, XTL::EmuSwitchToFiber), // ConvertThreadToFiber - { - (OOVPA*)&ConvertThreadToFiber_1_0_5558, - - XTL::EmuConvertThreadToFiber, - - #ifdef _DEBUG_TRACE - "EmuConvertThreadToFiber" - #endif - }, + OOVPA_TABLE_PATCH(ConvertThreadToFiber_1_0_5558, XTL::EmuConvertThreadToFiber), //// XapiFiberStartup - //{ - // (OOVPA*)&XapiFiberStartup_1_0_5558, - // XTL::EmuXapiFiberStartup, - - // #ifdef _DEBUG_TRACE - // "XapiFiberStartup" - // #endif - //}, + //OOVPA_TABLE_PATCH(XapiFiberStartup_1_0_5558, XTL::EmuXapiFiberStartup), // XID_fCloseDevice - { - (OOVPA*)&XID_fCloseDevice_1_0_5558, 0, - - #ifdef _DEBUG_TRACE - "XID_fCloseDevice (XREF)" - #endif - }, + OOVPA_TABLE_XREF(XID_fCloseDevice_1_0_5558), // XInputClose - { - (OOVPA*)&XInputClose_1_0_5558, - - XTL::EmuXInputClose, - - #ifdef _DEBUG_TRACE - "EmuXInputClose" - #endif - }, + OOVPA_TABLE_PATCH(XInputClose_1_0_5558, XTL::EmuXInputClose), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl index f82cfed9b..512d1431f 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl @@ -35,15 +35,8 @@ // ****************************************************************** // * XapiInitProcess // ****************************************************************** -SOOVPA<8> XapiInitProcess_1_0_5849 = -{ - 0, // Large == 0 - 8, // Count == 8 +OOVPA_NO_XREF(XapiInitProcess_1_0_5849, 8) - XRefNotSaved, - XRefNotUsed, - - { { 0x22, 0x6A }, { 0x3E, 0x01 }, { 0x5E, 0x75 }, @@ -52,21 +45,13 @@ SOOVPA<8> XapiInitProcess_1_0_5849 = { 0xBE, 0x51 }, { 0xDE, 0x00 }, { 0xFE, 0x53 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetDeviceChanges // ****************************************************************** -SOOVPA<7> XGetDeviceChanges_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGetDeviceChanges_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0C, 0x75 }, { 0x1A, 0x53 }, { 0x28, 0xF7 }, @@ -74,21 +59,13 @@ SOOVPA<7> XGetDeviceChanges_1_0_5849 = { 0x44, 0x89 }, { 0x52, 0xC8 }, { 0x60, 0x5F }, - } -}; +OOVPA_END; // ****************************************************************** // * GetThreadPriority // ****************************************************************** -SOOVPA<7> GetThreadPriority_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(GetThreadPriority_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x0D, 0xFF }, { 0x16, 0x85 }, { 0x1F, 0x15 }, @@ -96,21 +73,13 @@ SOOVPA<7> GetThreadPriority_1_0_5849 = { 0x35, 0xF1 }, { 0x40, 0x8B }, { 0x4B, 0xB8 }, - } -}; +OOVPA_END; // ****************************************************************** // * SetThreadPriorityBoost // ****************************************************************** -SOOVPA<7> SetThreadPriorityBoost_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(SetThreadPriorityBoost_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x07, 0xFF }, { 0x10, 0xFF }, { 0x19, 0x20 }, @@ -118,41 +87,25 @@ SOOVPA<7> SetThreadPriorityBoost_1_0_5849 = { 0x2C, 0x8B }, { 0x35, 0x33 }, { 0x40, 0x33 }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetSectionSize // ****************************************************************** -SOOVPA<5> XGetSectionSize_1_0_5849 = -{ - 0, // Large == 0 - 5, // Count == 5 +OOVPA_NO_XREF(XGetSectionSize_1_0_5849, 5) - XRefNotSaved, - XRefNotUsed, - - { { 0x00, 0x8B }, { 0x02, 0x24 }, { 0x04, 0x8B }, { 0x06, 0x08 }, { 0x08, 0x04 }, - } -}; +OOVPA_END; // ****************************************************************** // * RaiseException // ****************************************************************** -SOOVPA<7> RaiseException_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(RaiseException_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x09, 0x83 }, { 0x14, 0x8B }, { 0x1F, 0xC7 }, @@ -160,21 +113,13 @@ SOOVPA<7> RaiseException_1_0_5849 = { 0x35, 0x89 }, { 0x40, 0x5F }, { 0x4B, 0xFF }, - } -}; +OOVPA_END; // ****************************************************************** // * XGetDeviceEnumerationStatus // ****************************************************************** -SOOVPA<7> XGetDeviceEnumerationStatus_1_0_5849 = -{ - 0, // Large == 0 - 7, // Count == 7 +OOVPA_NO_XREF(XGetDeviceEnumerationStatus_1_0_5849, 7) - XRefNotSaved, - XRefNotUsed, - - { { 0x04, 0x15 }, { 0x0A, 0x35 }, { 0x10, 0x09 }, @@ -182,280 +127,80 @@ SOOVPA<7> XGetDeviceEnumerationStatus_1_0_5849 = { 0x1C, 0x46 }, { 0x25, 0x8B }, { 0x28, 0xC3 }, - } -}; +OOVPA_END; // ****************************************************************** // * SwitchToThread // ****************************************************************** -SOOVPA<6> SwitchToThread_1_0_5849 = -{ - 0, // Large == 0 - 6, // Count == 6 +OOVPA_NO_XREF(SwitchToThread_1_0_5849, 6) - XRefNotSaved, - XRefNotUsed, - - { { 0x01, 0x15 }, { 0x06, 0x33 }, { 0x07, 0xC9 }, { 0x0A, 0x00 }, { 0x0D, 0x0F }, { 0x10, 0x8B }, - } -}; +OOVPA_END; // ****************************************************************** // * XAPI_1_0_5849 // ****************************************************************** -OOVPATable XAPI_1_0_5849[] = -{ +OOVPATable XAPI_1_0_5849[] = { + // SetThreadPriority (* unchanged since 3911 *) - { - (OOVPA*)&SetThreadPriority_1_0_3911, - - XTL::EmuSetThreadPriority, - - #ifdef _DEBUG_TRACE - "EmuSetThreadPriority" - #endif - }, - // QueryPerformanceCounter (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceCounter_1_0_4361, - - XTL::EmuQueryPerformanceCounter, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceCounter" - #endif - }, - // QueryPerformanceFrequency (* unchanged since 4361 *) - { - (OOVPA*)&QueryPerformanceFrequency_1_0_4361, - - XTL::EmuQueryPerformanceFrequency, - - #ifdef _DEBUG_TRACE - "EmuQueryPerformanceFrequency" - #endif - }, + OOVPA_TABLE_PATCH(SetThreadPriority_1_0_3911, XTL::EmuSetThreadPriority), + // QueryPerformanceCounter (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(QueryPerformanceCounter_1_0_4361, XTL::EmuQueryPerformanceCounter), + // QueryPerformanceFrequency (* unchanged since 4361 *) + OOVPA_TABLE_PATCH(QueryPerformanceFrequency_1_0_4361, XTL::EmuQueryPerformanceFrequency), // XMountUtilityDrive (* unchanged since 4432 *) - { - (OOVPA*)&XMountUtilityDrive_1_0_4432, - - XTL::EmuXMountUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXMountUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XMountUtilityDrive_1_0_4432, XTL::EmuXMountUtilityDrive), // XInitDevices (* unchanged since 5233 *) - { - (OOVPA*)&XInitDevices_1_0_5233, - - XTL::EmuXInitDevices, - - #ifdef _DEBUG_TRACE - "EmuXInitDevices" - #endif - }, + OOVPA_TABLE_PATCH(XInitDevices_1_0_5233, XTL::EmuXInitDevices), // XGetDevices (* unchanged since 1.0.4134 *) - { - (OOVPA*)&XGetDevices_1_0_4134, - - XTL::EmuXGetDevices, - - #ifdef _DEBUG_TRACE - "EmuXGetDevices" - #endif - }, + OOVPA_TABLE_PATCH(XGetDevices_1_0_4134, XTL::EmuXGetDevices), // XInputOpen (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XInputOpen_1_0_4361, - - XTL::EmuXInputOpen, - - #ifdef _DEBUG_TRACE - "EmuXInputOpen" - #endif - }, + OOVPA_TABLE_PATCH(XInputOpen_1_0_4361, XTL::EmuXInputOpen), // XInputGetCapabilities (* unchanged since 5558 *) - { - (OOVPA*)&XInputGetCapabilities_1_0_5558, - - XTL::EmuXInputGetCapabilities, - - #ifdef _DEBUG_TRACE - "EmuXInputGetCapabilities" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetCapabilities_1_0_5558, XTL::EmuXInputGetCapabilities), // XInputGetState (* unchanged since 5558 *) - { - (OOVPA*)&XInputGetState_1_0_5558, - - XTL::EmuXInputGetState, - - #ifdef _DEBUG_TRACE - "EmuXInputGetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputGetState_1_0_5558, XTL::EmuXInputGetState), // XGetDeviceChanges - { - (OOVPA*)&XGetDeviceChanges_1_0_5849, - - XTL::EmuXGetDeviceChanges, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceChanges" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceChanges_1_0_5849, XTL::EmuXGetDeviceChanges), /* obsolete? // XapiThreadStartup (* unchanged since 1.0.4361 *) - { - (OOVPA*)&XapiThreadStartup_1_0_4361, - - XTL::EmuXapiThreadStartup, - - #ifdef _DEBUG_TRACE - "EmuXapiThreadStartup" - #endif - }, - //*/ + OOVPA_TABLE_PATCH(XapiThreadStartup_1_0_4361, XTL::EmuXapiThreadStartup), //*/ // QueueUserAPC (* unchanged since 3911 *) - { - (OOVPA*)&QueueUserAPC_1_0_3911, - - XTL::EmuQueueUserAPC, - - #ifdef _DEBUG_TRACE - "EmuQueueUserAPC" - #endif - }, + OOVPA_TABLE_PATCH(QueueUserAPC_1_0_3911, XTL::EmuQueueUserAPC), // GetThreadPriority - { - (OOVPA*)&GetThreadPriority_1_0_5849, - XTL::EmuGetThreadPriority, - - #ifdef _DEBUG_TRACE - "GetThreadPriority" - #endif - }, - // SetThreadPriorityBoost - { - (OOVPA*)&SetThreadPriorityBoost_1_0_5849, - XTL::EmuSetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "SetThreadPriorityBoost" - #endif - }, - // GetThreadPriorityBoost + OOVPA_TABLE_PATCH(GetThreadPriority_1_0_5849, XTL::EmuGetThreadPriority), + // SetThreadPriorityBoost + OOVPA_TABLE_PATCH(SetThreadPriorityBoost_1_0_5849, XTL::EmuSetThreadPriorityBoost), + // GetThreadPriorityBoost /*{ - (OOVPA*)&GetThreadPriorityBoost_1_0_5849, - XTL::EmuGetThreadPriorityBoost, - - #ifdef _DEBUG_TRACE - "GetThreadPriorityBoost" - #endif - },*/ + OOVPA_TABLE_PATCH(GetThreadPriorityBoost_1_0_5849, XTL::EmuGetThreadPriorityBoost),*/ // RaiseException - { - (OOVPA*)&RaiseException_1_0_5849, - XTL::EmuRaiseException, - - #ifdef _DEBUG_TRACE - "RaiseException" - #endif - }, + OOVPA_TABLE_PATCH(RaiseException_1_0_5849, XTL::EmuRaiseException), // XLaunchNewImageA (* unchanged since 5558 *) - { - (OOVPA*)&XLaunchNewImageA_1_0_5558, - XTL::EmuXLaunchNewImage, - - #ifdef _DEBUG_TRACE - "XLaunchNewImageA" - #endif - }, + OOVPA_TABLE_PATCH(XLaunchNewImageA_1_0_5558, XTL::EmuXLaunchNewImage), // XInputSetState (* unchanged since 5233 *) - { - (OOVPA*)&XInputSetState_1_0_5233, - - XTL::EmuXInputSetState, - - #ifdef _DEBUG_TRACE - "EmuXInputSetState" - #endif - }, + OOVPA_TABLE_PATCH(XInputSetState_1_0_5233, XTL::EmuXInputSetState), // XGetDeviceEnumerationStatus - { - (OOVPA*)&XGetDeviceEnumerationStatus_1_0_5849, - XTL::EmuXGetDeviceEnumerationStatus, - - #ifdef _DEBUG_TRACE - "EmuXGetDeviceEnumerationStatus" - #endif - }, + OOVPA_TABLE_PATCH(XGetDeviceEnumerationStatus_1_0_5849, XTL::EmuXGetDeviceEnumerationStatus), // SwitchToThread - /*{ - (OOVPA*)&SwitchToThread_1_0_5849, - XTL::EmuSwitchToThread, - - #ifdef _DEBUG_TRACE - "EmuSwitchToThread" - #endif - },*/ + /* + OOVPA_TABLE_PATCH(SwitchToThread_1_0_5849, XTL::EmuSwitchToThread), + */ // XFormatUtilityDrive (* unchanged since 4627 *) - { - (OOVPA*)&XFormatUtilityDrive_1_0_4627, - - XTL::EmuXFormatUtilityDrive, - - #ifdef _DEBUG_TRACE - "EmuXFormatUtilityDrive" - #endif - }, + OOVPA_TABLE_PATCH(XFormatUtilityDrive_1_0_4627, XTL::EmuXFormatUtilityDrive), // CreateFiber - { - (OOVPA*)&CreateFiber_1_0_5558, - - XTL::EmuCreateFiber, - - #ifdef _DEBUG_TRACE - "EmuCreateFiber" - #endif - }, + OOVPA_TABLE_PATCH(CreateFiber_1_0_5558, XTL::EmuCreateFiber), // DeleteFiber - { - (OOVPA*)&DeleteFiber_1_0_5558, - - XTL::EmuDeleteFiber, - - #ifdef _DEBUG_TRACE - "EmuDeleteFiber" - #endif - }, + OOVPA_TABLE_PATCH(DeleteFiber_1_0_5558, XTL::EmuDeleteFiber), // SwitchToFiber - { - (OOVPA*)&SwitchToFiber_1_0_5558, - - XTL::EmuSwitchToFiber, - - #ifdef _DEBUG_TRACE - "EmuSwitchToFiber" - #endif - }, + OOVPA_TABLE_PATCH(SwitchToFiber_1_0_5558, XTL::EmuSwitchToFiber), // ConvertThreadToFiber - { - (OOVPA*)&ConvertThreadToFiber_1_0_5558, - - XTL::EmuConvertThreadToFiber, - - #ifdef _DEBUG_TRACE - "EmuConvertThreadToFiber" - #endif - }, + OOVPA_TABLE_PATCH(ConvertThreadToFiber_1_0_5558, XTL::EmuConvertThreadToFiber), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 27d59bb94..b371de69d 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -590,11 +590,11 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper) uint32 count = Oovpa->Count; // Skip out if this is an unnecessary search - if(!bXRefFirstPass && Oovpa->XRefCount == 0 && Oovpa->XRefSaveIndex == XRefNotSaved) + if(!bXRefFirstPass && Oovpa->XRefCount == XRefZero && Oovpa->XRefSaveIndex == XRefNoSaveIndex) return 0; // large - if(Oovpa->Large == 1) + if(Oovpa->Type == Large) { LOOVPA<1> *Loovpa = (LOOVPA<1>*)Oovpa; @@ -606,7 +606,7 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper) uint32 v; // check all cross references - for(v=0;vXRefCount;v++) + for(v=0;vXRefCount;v++) { uint32 Offset = Loovpa->Lovp[v].Offset; uint32 Value = Loovpa->Lovp[v].Value; @@ -614,39 +614,45 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper) uint32 RealValue = *(uint32*)(cur + Offset); if(XRefDataBase[Value] == -1) - goto skipout_L; // unsatisfied Xref is not acceptable + goto skipout_L; // Unsatisfied XRef is not acceptable if((RealValue + cur + Offset+4 != XRefDataBase[Value]) && (RealValue != XRefDataBase[Value])) break; } - // check all pairs, moving on if any do not match - for(v=0;vLovp[v].Offset; - uint32 Value = Loovpa->Lovp[v].Value; + // TODO : Should we do the following (to could prevent false positives), like the small case does? + // TODO : Even better would be to merge both paths into one, as this is the only difference... + // check OV pairs if all xrefs matched + // if (v == Oovpa->XRefCount) + { + // check all pairs, moving on if any do not match + for (v = 0; v < count; v++) + { + uint32 Offset = Loovpa->Lovp[v].Offset; + uint32 Value = Loovpa->Lovp[v].Value; - uint08 RealValue = *(uint08*)(cur + Offset); + uint08 RealValue = *(uint08*)(cur + Offset); - if(RealValue != Value) - break; - } + if (RealValue != Value) + break; + } + } // success if we found all pairs if(v == count) { - if(Loovpa->XRefSaveIndex != XRefNotSaved) + if(Oovpa->XRefSaveIndex != XRefNoSaveIndex) { - if(XRefDataBase[Loovpa->XRefSaveIndex] == -1) + if(XRefDataBase[Oovpa->XRefSaveIndex] == -1) { UnResolvedXRefs--; - XRefDataBase[Loovpa->XRefSaveIndex] = cur; + XRefDataBase[Oovpa->XRefSaveIndex] = cur; return (void*)cur; } else { - return (void*)XRefDataBase[Loovpa->XRefSaveIndex]; // already Found, no bother patching again + return (void*)XRefDataBase[Oovpa->XRefSaveIndex]; // already Found, no bother patching again } } @@ -669,7 +675,7 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper) uint32 v; // check all cross references - for(v=0;vXRefCount;v++) + for(v=0;vXRefCount;v++) { uint32 Offset = Soovpa->Sovp[v].Offset; uint32 Value = Soovpa->Sovp[v].Value; @@ -684,9 +690,10 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper) } // check OV pairs if all xrefs matched - if(v == Soovpa->XRefCount) + if(v == Oovpa->XRefCount) { // check all pairs, moving on if any do not match + // TODO : Why does this loop use v=Oovpa->XRefCount instead of starting with v=0 (like in large)? for(;vSovp[v].Offset; @@ -702,18 +709,18 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper) // success if we found all pairs if(v == count) { - if(Soovpa->XRefSaveIndex != XRefNotSaved) + if(Oovpa->XRefSaveIndex != XRefNoSaveIndex) { - if(XRefDataBase[Soovpa->XRefSaveIndex] == -1) + if(XRefDataBase[Oovpa->XRefSaveIndex] == -1) { UnResolvedXRefs--; - XRefDataBase[Soovpa->XRefSaveIndex] = cur; + XRefDataBase[Oovpa->XRefSaveIndex] = cur; return (void*)cur; } else { - return (void*)XRefDataBase[Soovpa->XRefSaveIndex]; // already Found, no bother patching again + return (void*)XRefDataBase[Oovpa->XRefSaveIndex]; // already Found, no bother patching again } } diff --git a/src/CxbxKrnl/OOVPA.h b/src/CxbxKrnl/OOVPA.h index 9b3dfc121..c53591029 100644 --- a/src/CxbxKrnl/OOVPA.h +++ b/src/CxbxKrnl/OOVPA.h @@ -55,39 +55,90 @@ template inline void *MFPtoFP( MFT pMemFunc) #pragma pack(1) +enum OOVPAType : uint16 { + Small, + Large, +}; + // ****************************************************************** -// * Optimized (Order,Value)-Pair Array +// * Optimized (Offset, Value)-Pair Array // ****************************************************************** struct OOVPA { - uint16 Large : 1; - uint16 Count : 15; + // This OOVPA field (OOVPAType Type) indicates weither + // this struct needs to be cast to SOOVPA or LOOVPA, + // for OOVPATYPE.Small vs .Large + // SOOVPA uses bytes for offset in the {Offset, Value}-pairs. + // LOOVPA uses words for offset in the {Offset, Value}-pairs. + // The value field in the {Offset, Value}-pairs is of type byte. + OOVPAType Type : 1; - uint08 XRefSaveIndex; - uint08 XRefCount; + // This OOVPA field (uint16 Count) indicates the number of + // {Offset, Value}-pairs present in the Sovp or Lovp array, + // available after casting this OOVPA to SOOVPA or LOOVPA. + // (This Count INCLUDES optional leading {Offset, XREF_*-enum}- + // pairs - see comment at XRefCount.) + uint16 Count : 15; + + // This OOVPA field (uint08 XRefSaveIndex) contains either an + // XREF_* enum value, or the XRefNoSaveIndex marker when there's + // no XREF_* enum defined for this OOVPA. + uint08 XRefSaveIndex; + + // This OOVPA field (uint08 XRefCount) contains the number of + // {Offset, XREF_*-enum}-pairs that come before all other + // {Offset, Value}-pairs. + // (The {Offset, XREF_*-enum}-pairs are INCLUDED in OOVPA.Count) + // (Also, see comments at XRefZero and XRefOne.) + uint08 XRefCount; + + // Define SOVP and LOVP here to reduce type definition complexity. + // (Otherwise, if defined in the template classes, that would mean + // that for each template instance, the type is redefined. Let's + // avoid that.) + + // Small (Offset,Value)-Pair(s) + struct SOVP + { + uint08 Offset; + uint08 Value; + }; + + // Large (Offset,Value)-Pair(s) + struct LOVP + { + uint16 Offset; + uint08 Value; + }; }; -const uint08 XRefNotSaved = (uint08)-1; -const uint08 XRefNotUsed = (uint08)0; +// This XRefNoSaveIndex constant, when set in the OOVPA.XRefSaveIndex +// field, functions as a marker indicating there's no XREF_* enum +// defined for the OOVPA. +const uint08 XRefNoSaveIndex = (uint08)-1; + +// This XRefZero constant, when set in the OOVPA.XRefSaveIndex field, +// indicates there are no {offset, XREF_*-enum} present in the OOVPA. +const uint08 XRefZero = (uint08)0; + +// This XRefOne constant, when set in the OOVPA.XRefSaveIndex field, +// indicates the OOVPA contains one (1) {offset, XREF_* enum} pair. +const uint08 XRefOne = (uint08)1; + +// Note : Theoretically, there can be more than one {offset, XREF_*-enum} +// pair at the start of the OOVPA's, but there are no examples of that yet. +// (Also, EmuLocateFunction might not cater for this well enough?) + // ****************************************************************** // * Large Optimized (Offset,Value)-Pair Array // ****************************************************************** template struct LOOVPA { - uint16 Large : 1; - uint16 Count : 15; + OOVPA Header; - uint08 XRefSaveIndex; - uint08 XRefCount; - - // Large (Offset,Value)-Pair(s) - struct LOVP - { - uint16 Offset; - uint08 Value; - } - Lovp[COUNT]; + // Large (Offset,Value)-Pair(s) + OOVPA::LOVP Lovp[COUNT]; }; // ****************************************************************** @@ -95,19 +146,10 @@ template struct LOOVPA // ****************************************************************** template struct SOOVPA { - uint16 Large : 1; - uint16 Count : 15; + OOVPA Header; - uint08 XRefSaveIndex; - uint08 XRefCount; - - // Small (Offset,Value)-Pair(s) - struct SOVP - { - uint08 Offset; - uint08 Value; - } - Sovp[COUNT]; + // Small (Offset,Value)-Pair(s) + OOVPA::SOVP Sovp[COUNT]; }; // ****************************************************************** @@ -124,6 +166,36 @@ struct OOVPATable #endif }; +#define OOVPA_XREF_LARGE(Name, Count, XRefSaveIndex, XRefCount) \ +LOOVPA Name = { { /*OOVPAType*/Large, Count, XRefSaveIndex, XRefCount }, { + +#define OOVPA_XREF(Name, Count, XRefSaveIndex, XRefCount) \ +SOOVPA Name = { { /*OOVPAType*/Small, Count, XRefSaveIndex, XRefCount }, { + +#define OOVPA_NO_XREF_LARGE(Name, Count) \ +OOVPA_XREF_LARGE(Name, Count, XRefNoSaveIndex, XRefZero) + +#define OOVPA_NO_XREF(Name, Count) \ +OOVPA_XREF(Name, Count, XRefNoSaveIndex, XRefZero) + +#define OOVPA_ENTRY(Offset, Value) { Offset, Value }, +#define OOVPA_END } } + + +#if _DEBUG_TRACE +#define OOVPA_TABLE_PATCH(Oovpa, Patch) \ + {&Oovpa.Header, Patch, #Patch} +// TODO : _DEBUG_TRACE OOVPA_TABLE_* macro's : +// Cut Version off of Oovpa, and log separatly as "("#Version")" +#define OOVPA_TABLE_XREF(Oovpa) \ + {&Oovpa.Header, 0, #Oovpa" (XRef)"} +#else +#define OOVPA_TABLE_PATCH(Oovpa, Patch) \ + {&Oovpa.Header, Patch} +#define OOVPA_TABLE_XREF(Oovpa) \ + {&Oovpa.Header, 0} +#endif + #pragma pack() #endif From 4eba2e31e3b982bbc03d48e362c48a8fdc9788ea Mon Sep 17 00:00:00 2001 From: Ivan Roberto de Oliveira Date: Thu, 22 Dec 2016 20:25:22 -0200 Subject: [PATCH 3/3] File information struct conversions (#53) * Selectively merging fs-experimental into master In particular, I'm not merging the automatic parent folder creation stuff because I'm not convinced it's the right thing to do * Implemented more FileInfo converters This should take care of all types used by NtSet/QueryInformationFile. The remaining types are used by NtQueryDirectoryFile. * FileName probably needs to be converted * Fix compilation errors * Restore string conversion * Revert NtDeviceIoControlFile Panzer Dragoon failed the initial XapiVerifyMediaInDrive check due to the changes made to this function. We need proper low level I/O device emulation for this to work. * Fix XeImageFileName Helps with Avalaunch initialization. It still crashes further down the road. * Comment on XBE location * Implemented conversions for NtQueryInformationFile and NtQueryFullAttributesFile --- import/OpenXDK/include/xboxkrnl/nt.h | 4 +- import/OpenXDK/include/xboxkrnl/xboxkrnl.h | 307 ++++++++++++- src/CxbxKrnl/CxbxKrnl.cpp | 24 +- src/CxbxKrnl/CxbxKrnl.h | 4 + src/CxbxKrnl/EmuFile.cpp | 500 +++++++++++++++++---- src/CxbxKrnl/EmuFile.h | 173 +++++-- src/CxbxKrnl/EmuKrnlIo.cpp | 6 +- src/CxbxKrnl/EmuKrnlLogging.h | 1 + src/CxbxKrnl/EmuKrnlNt.cpp | 196 ++++---- src/CxbxKrnl/EmuKrnlOb.cpp | 33 +- src/CxbxKrnl/EmuNtDll.h | 238 +++++++--- 11 files changed, 1175 insertions(+), 311 deletions(-) diff --git a/import/OpenXDK/include/xboxkrnl/nt.h b/import/OpenXDK/include/xboxkrnl/nt.h index 154a14259..4c8f6b493 100644 --- a/import/OpenXDK/include/xboxkrnl/nt.h +++ b/import/OpenXDK/include/xboxkrnl/nt.h @@ -270,8 +270,8 @@ XBSYSAPI VOID *NtQueryEvent; // ****************************************************************** XBSYSAPI EXPORTNUM(210) NTSTATUS NTAPI NtQueryFullAttributesFile ( - IN POBJECT_ATTRIBUTES ObjectAttributes, - OUT PVOID Attributes + IN POBJECT_ATTRIBUTES ObjectAttributes, + OUT PFILE_NETWORK_OPEN_INFORMATION Attributes ); // ****************************************************************** diff --git a/import/OpenXDK/include/xboxkrnl/xboxkrnl.h b/import/OpenXDK/include/xboxkrnl/xboxkrnl.h index 638ae69de..c5d1ae740 100644 --- a/import/OpenXDK/include/xboxkrnl/xboxkrnl.h +++ b/import/OpenXDK/include/xboxkrnl/xboxkrnl.h @@ -512,6 +512,30 @@ FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; #define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032 #define FILE_VALID_SET_FLAGS 0x00000036 +// ****************************************************************** +// * File attribute flags +// ****************************************************************** +#define FILE_ATTRIBUTE_READONLY 0x00000001 +#define FILE_ATTRIBUTE_HIDDEN 0x00000002 +#define FILE_ATTRIBUTE_SYSTEM 0x00000004 +#define FILE_ATTRIBUTE_DIRECTORY 0x00000010 +#define FILE_ATTRIBUTE_ARCHIVE 0x00000020 +#define FILE_ATTRIBUTE_DEVICE 0x00000040 +#define FILE_ATTRIBUTE_NORMAL 0x00000080 +#define FILE_ATTRIBUTE_TEMPORARY 0x00000100 +#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 +#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 +#define FILE_ATTRIBUTE_COMPRESSED 0x00000800 +#define FILE_ATTRIBUTE_OFFLINE 0x00001000 +#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 +#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 + +#define FILE_ATTRIBUTE_CONTENT_INDEXED FILE_ATTRIBUTE_NOT_CONTENT_INDEXED + +#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7 +#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7 + + // ****************************************************************** // * OBJECT_ATTRIBUTES // ****************************************************************** @@ -597,20 +621,281 @@ FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; // ****************************************************************** typedef struct _FILE_DIRECTORY_INFORMATION { - ULONG NextEntryOffset; - ULONG FileIndex; - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - LARGE_INTEGER EndOfFile; - LARGE_INTEGER AllocationSize; - ULONG FileAttributes; - ULONG FileNameLength; - CHAR FileName[1]; // Offset: 0x40 + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + CHAR FileName[1]; // Offset: 0x40 } FILE_DIRECTORY_INFORMATION; +// ****************************************************************** +// * FILE_RENAME_INFORMATION +// ****************************************************************** +typedef struct _FILE_RENAME_INFORMATION +{ + BOOLEAN ReplaceIfExists; + HANDLE RootDirectory; + OBJECT_STRING FileName; +} +FILE_RENAME_INFORMATION; + +// ****************************************************************** +// * FILE_LINK_INFORMATION +// ****************************************************************** +typedef struct _FILE_LINK_INFORMATION { + BOOLEAN ReplaceIfExists; + HANDLE RootDirectory; + ULONG FileNameLength; + CHAR FileName[1]; +} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION; + +// ****************************************************************** +// * FILE_NETWORK_OPEN_INFORMATION +// ****************************************************************** +typedef struct _FILE_NETWORK_OPEN_INFORMATION { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG FileAttributes; +} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION; + +// ****************************************************************** +// * FILE_FULL_EA_INFORMATION +// ****************************************************************** +typedef struct _FILE_FULL_EA_INFORMATION { + ULONG NextEntryOffset; + UCHAR Flags; + UCHAR EaNameLength; + USHORT EaValueLength; + CHAR EaName[1]; +} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION; + +// ****************************************************************** +// * FILE_BASIC_INFORMATION +// ****************************************************************** +typedef struct _FILE_BASIC_INFORMATION { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + ULONG FileAttributes; +} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION; + +// ****************************************************************** +// * FILE_STANDARD_INFORMATION +// ****************************************************************** +typedef struct _FILE_STANDARD_INFORMATION { + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG NumberOfLinks; + BOOLEAN DeletePending; + BOOLEAN Directory; +} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION; + +// ****************************************************************** +// * FILE_INTERNAL_INFORMATION +// ****************************************************************** +typedef struct _FILE_INTERNAL_INFORMATION { + LARGE_INTEGER IndexNumber; +} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION; + +// ****************************************************************** +// * FILE_EA_INFORMATION +// ****************************************************************** +typedef struct _FILE_EA_INFORMATION { + ULONG EaSize; +} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION; + +// ****************************************************************** +// * FILE_ACCESS_INFORMATION +// ****************************************************************** +typedef struct _FILE_ACCESS_INFORMATION { + ACCESS_MASK AccessFlags; +} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION; + +// ****************************************************************** +// * FILE_POSITION_INFORMATION +// ****************************************************************** +typedef struct _FILE_POSITION_INFORMATION { + LARGE_INTEGER CurrentByteOffset; +} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION; + +// ****************************************************************** +// * FILE_MODE_INFORMATION +// ****************************************************************** +typedef struct _FILE_MODE_INFORMATION { + ULONG Mode; +} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION; + +// ****************************************************************** +// * FILE_ALIGNMENT_INFORMATION +// ****************************************************************** +typedef struct _FILE_ALIGNMENT_INFORMATION { + ULONG AlignmentRequirement; +} FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION; + +// ****************************************************************** +// * FILE_NAME_INFORMATION +// ****************************************************************** +typedef struct _FILE_NAME_INFORMATION { + ULONG FileNameLength; + CHAR FileName[1]; +} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION; + +// ****************************************************************** +// * FILE_ALL_INFORMATION +// ****************************************************************** +typedef struct _FILE_ALL_INFORMATION { + FILE_BASIC_INFORMATION BasicInformation; + FILE_STANDARD_INFORMATION StandardInformation; + FILE_INTERNAL_INFORMATION InternalInformation; + FILE_EA_INFORMATION EaInformation; + FILE_ACCESS_INFORMATION AccessInformation; + FILE_POSITION_INFORMATION PositionInformation; + FILE_MODE_INFORMATION ModeInformation; + FILE_ALIGNMENT_INFORMATION AlignmentInformation; + FILE_NAME_INFORMATION NameInformation; +} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION; + +// ****************************************************************** +// * FILE_DISPOSITION_INFORMATION +// ****************************************************************** +typedef struct _FILE_DISPOSITION_INFORMATION { + BOOLEAN DeleteFile; +} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION; + +// ****************************************************************** +// * FILE_ALLOCATION_INFORMATION +// ****************************************************************** +typedef struct _FILE_ALLOCATION_INFORMATION { + LARGE_INTEGER AllocationSize; +} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION; + +// ****************************************************************** +// * FILE_COMPRESSION_INFORMATION +// ****************************************************************** +typedef struct _FILE_COMPRESSION_INFORMATION { + LARGE_INTEGER CompressedFileSize; + USHORT CompressionFormat; + UCHAR CompressionUnitShift; + UCHAR ChunkShift; + UCHAR ClusterShift; + UCHAR Reserved[3]; +} FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION; + +// ****************************************************************** +// * FILE_END_OF_FILE_INFORMATION +// ****************************************************************** +typedef struct _FILE_END_OF_FILE_INFORMATION { + LARGE_INTEGER EndOfFile; +} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION; + +// ****************************************************************** +// * FILE_MOVE_CLUSTER_INFORMATION +// ****************************************************************** +typedef struct _FILE_MOVE_CLUSTER_INFORMATION { + ULONG ClusterCount; + HANDLE RootDirectory; + ULONG FileNameLength; + CHAR FileName[1]; +} FILE_MOVE_CLUSTER_INFORMATION, *PFILE_MOVE_CLUSTER_INFORMATION; + +// ****************************************************************** +// * FILE_STREAM_INFORMATION +// ****************************************************************** +typedef struct _FILE_STREAM_INFORMATION { + ULONG NextEntryOffset; + ULONG StreamNameLength; + LARGE_INTEGER StreamSize; + LARGE_INTEGER StreamAllocationSize; + CHAR StreamName[1]; +} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION; + +// ****************************************************************** +// * FILE_TRACKING_INFORMATION +// ****************************************************************** +typedef struct _FILE_TRACKING_INFORMATION { + HANDLE DestinationFile; + ULONG ObjectInformationLength; + CHAR ObjectInformation[1]; +} FILE_TRACKING_INFORMATION, *PFILE_TRACKING_INFORMATION; + +// ****************************************************************** +// * FILE_COMPLETION_INFORMATION +// ****************************************************************** +typedef struct _FILE_COMPLETION_INFORMATION { + HANDLE Port; + PVOID Key; +} FILE_COMPLETION_INFORMATION, *PFILE_COMPLETION_INFORMATION; + +// ****************************************************************** +// * FILE_PIPE_INFORMATION +// ****************************************************************** +typedef struct _FILE_PIPE_INFORMATION { + ULONG ReadMode; + ULONG CompletionMode; +} FILE_PIPE_INFORMATION, *PFILE_PIPE_INFORMATION; + +// ****************************************************************** +// * FILE_PIPE_LOCAL_INFORMATION +// ****************************************************************** +typedef struct _FILE_PIPE_LOCAL_INFORMATION { + ULONG NamedPipeType; + ULONG NamedPipeConfiguration; + ULONG MaximumInstances; + ULONG CurrentInstances; + ULONG InboundQuota; + ULONG ReadDataAvailable; + ULONG OutboundQuota; + ULONG WriteQuotaAvailable; + ULONG NamedPipeState; + ULONG NamedPipeEnd; +} FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION; + +// ****************************************************************** +// * FILE_PIPE_REMOTE_INFORMATION +// ****************************************************************** +typedef struct _FILE_PIPE_REMOTE_INFORMATION { + LARGE_INTEGER CollectDataTime; + ULONG MaximumCollectionCount; +} FILE_PIPE_REMOTE_INFORMATION, *PFILE_PIPE_REMOTE_INFORMATION; + +// ****************************************************************** +// * FILE_MAILSLOT_QUERY_INFORMATION +// ****************************************************************** +typedef struct _FILE_MAILSLOT_QUERY_INFORMATION { + ULONG MaximumMessageSize; + ULONG MailslotQuota; + ULONG NextMessageSize; + ULONG MessagesAvailable; + LARGE_INTEGER ReadTimeout; +} FILE_MAILSLOT_QUERY_INFORMATION, *PFILE_MAILSLOT_QUERY_INFORMATION; + +// ****************************************************************** +// * FILE_MAILSLOT_SET_INFORMATION +// ****************************************************************** +typedef struct _FILE_MAILSLOT_SET_INFORMATION { + PLARGE_INTEGER ReadTimeout; +} FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION; + +// ****************************************************************** +// * FILE_REPARSE_POINT_INFORMATION +// ****************************************************************** +typedef struct _FILE_REPARSE_POINT_INFORMATION { + LONGLONG FileReference; + ULONG Tag; +} FILE_REPARSE_POINT_INFORMATION, *PFILE_REPARSE_POINT_INFORMATION; + // ****************************************************************** // * KSYSTEM_TIME // ****************************************************************** diff --git a/src/CxbxKrnl/CxbxKrnl.cpp b/src/CxbxKrnl/CxbxKrnl.cpp index f99076360..36dd02e3e 100644 --- a/src/CxbxKrnl/CxbxKrnl.cpp +++ b/src/CxbxKrnl/CxbxKrnl.cpp @@ -444,9 +444,6 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit IMAGE_SECTION_HEADER SectionHeader; } *PDUMMY_KERNEL; -#define XBOX_KERNEL_BASE 0x80010000 -#define XBOX_NV2A_INIT_VECTOR 0xFF000008 - PDUMMY_KERNEL DummyKernel = (PDUMMY_KERNEL)VirtualAlloc( (PVOID)XBOX_KERNEL_BASE, sizeof(DUMMY_KERNEL), MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE @@ -491,7 +488,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit CxbxRegisterDeviceNativePath(DeviceCdrom0, xbeDirectory); // Partition 0 contains configuration data, and is accessed as a native file, instead as a folder : - CxbxRegisterDeviceNativePath(DeviceHarddisk0Partition0, CxbxBasePath + "Partition0", true); /*IsFile=*/ + CxbxRegisterDeviceNativePath(DeviceHarddisk0Partition0, CxbxBasePath + "Partition0", /*IsFile=*/true); // The first two partitions are for Data and Shell files, respectively : CxbxRegisterDeviceNativePath(DeviceHarddisk0Partition1, CxbxBasePath + "Partition1"); CxbxRegisterDeviceNativePath(DeviceHarddisk0Partition2, CxbxBasePath + "Partition2"); @@ -514,10 +511,19 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit // Determine Xbox path to XBE and place it in XeImageFileName std::string fileName(xbePath); + + // Strip out the path, leaving only the XBE file name + // NOTE: we assume that the XBE is always on the root of the C: drive + if (fileName.rfind('\\') >= 0) + fileName = fileName.substr(fileName.rfind('\\') + 1); + + if (xboxkrnl::XeImageFileName.Buffer != NULL) + free(xboxkrnl::XeImageFileName.Buffer); + + xboxkrnl::XeImageFileName.MaximumLength = MAX_PATH; xboxkrnl::XeImageFileName.Buffer = (PCHAR)malloc(MAX_PATH); sprintf(xboxkrnl::XeImageFileName.Buffer, "%c:\\%s", CxbxDefaultXbeVolumeLetter, fileName.c_str()); xboxkrnl::XeImageFileName.Length = (USHORT)strlen(xboxkrnl::XeImageFileName.Buffer); - xboxkrnl::XeImageFileName.MaximumLength = MAX_PATH; DbgPrintf("EmuMain : XeImageFileName = %s\n", xboxkrnl::XeImageFileName.Buffer); @@ -531,7 +537,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit // Mount the Utility drive (Z:) conditionally : if (CxbxKrnl_XbeHeader->dwInitFlags.bMountUtilityDrive) - CxbxMountUtilityDrive(CxbxKrnl_XbeHeader->dwInitFlags.bFormatUtilityDrive);/*fFormatClean=*/ + CxbxMountUtilityDrive(/*formatClean=*/CxbxKrnl_XbeHeader->dwInitFlags.bFormatUtilityDrive); } // @@ -587,9 +593,9 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit g_CPUOthers = g_CPUXbox; } - // Make sure Xbox1 code runs on one core : - SetThreadAffinityMask(GetCurrentThread(), g_CPUXbox); -} + // Make sure Xbox1 code runs on one core : + SetThreadAffinityMask(GetCurrentThread(), g_CPUXbox); + } DbgPrintf("EmuMain (0x%X): Initial thread starting.\n", GetCurrentThreadId()); diff --git a/src/CxbxKrnl/CxbxKrnl.h b/src/CxbxKrnl/CxbxKrnl.h index 89cbfe579..cedf156e7 100644 --- a/src/CxbxKrnl/CxbxKrnl.h +++ b/src/CxbxKrnl/CxbxKrnl.h @@ -48,6 +48,10 @@ extern "C" { #define XBOX_MEMORY_SIZE 128 * 1024 * 1024 +#define XBOX_KERNEL_BASE 0x80010000 +#define XBOX_NV2A_INIT_VECTOR 0xFF000008 + + /*! validate version string match */ CXBXKRNL_API bool CxbxKrnlVerifyVersion(const char *szVersion); diff --git a/src/CxbxKrnl/EmuFile.cpp b/src/CxbxKrnl/EmuFile.cpp index 7715ff7fe..c46ae1dbf 100644 --- a/src/CxbxKrnl/EmuFile.cpp +++ b/src/CxbxKrnl/EmuFile.cpp @@ -37,54 +37,60 @@ #include "EmuFile.h" #include #include +#include #include #include #pragma warning(disable:4005) // Ignore redefined status values #include #pragma warning(default:4005) #include "CxbxKrnl.h" +#include "EmuAlloc.h" //#include "Logging.h" // For hex4() -std::string DriveSerial = "\\??\\serial:"; -std::string DriveCdRom0 = "\\??\\CdRom0:"; // CD-ROM device -std::string DriveMbfs = "\\??\\mbfs:"; // media board's file system area device -std::string DriveMbcom = "\\??\\mbcom:"; // media board's communication area device -std::string DriveMbrom = "\\??\\mbrom:"; // media board's boot ROM device -std::string DriveC = "\\??\\C:"; // C: is HDD0 -std::string DriveD = "\\??\\D:"; // D: is DVD Player -std::string DriveE = "\\??\\E:"; -std::string DriveF = "\\??\\F:"; -std::string DriveT = "\\??\\T:"; // T: is Title persistent data region -std::string DriveU = "\\??\\U:"; // U: is User persistent data region -std::string DriveV = "\\??\\V:"; -std::string DriveW = "\\??\\W:"; -std::string DriveX = "\\??\\X:"; -std::string DriveY = "\\??\\Y:"; // Y: is Dashboard volume (contains "xboxdash.xbe" and "XDASH" folder + contents) -std::string DriveZ = "\\??\\Z:"; // Z: is Title utility data region -std::string DeviceCdrom0 = "\\Device\\CdRom0"; -std::string DeviceHarddisk0 = "\\Device\\Harddisk0"; -std::string DeviceHarddisk0Partition0 = "\\Device\\Harddisk0\\partition0"; // Contains raw config sectors (like XBOX_REFURB_INFO) + entire hard disk -std::string DeviceHarddisk0Partition1 = "\\Device\\Harddisk0\\partition1"; // Data partition. Contains TDATA and UDATA folders. -std::string DeviceHarddisk0Partition2 = "\\Device\\Harddisk0\\partition2"; // Shell partition. Contains Dashboard (cpxdash.xbe, evoxdash.xbe or xboxdash.xbe) -std::string DeviceHarddisk0Partition3 = "\\Device\\Harddisk0\\partition3"; // First cache partition. Contains cache data (from here up to largest number) -std::string DeviceHarddisk0Partition4 = "\\Device\\Harddisk0\\partition4"; -std::string DeviceHarddisk0Partition5 = "\\Device\\Harddisk0\\partition5"; -std::string DeviceHarddisk0Partition6 = "\\Device\\Harddisk0\\partition6"; -std::string DeviceHarddisk0Partition7 = "\\Device\\Harddisk0\\partition7"; -std::string DeviceHarddisk0Partition8 = "\\Device\\Harddisk0\\partition8"; -std::string DeviceHarddisk0Partition9 = "\\Device\\Harddisk0\\partition9"; -std::string DeviceHarddisk0Partition10 = "\\Device\\Harddisk0\\partition10"; -std::string DeviceHarddisk0Partition11 = "\\Device\\Harddisk0\\partition11"; -std::string DeviceHarddisk0Partition12 = "\\Device\\Harddisk0\\partition12"; -std::string DeviceHarddisk0Partition13 = "\\Device\\Harddisk0\\partition13"; -std::string DeviceHarddisk0Partition14 = "\\Device\\Harddisk0\\partition14"; -std::string DeviceHarddisk0Partition15 = "\\Device\\Harddisk0\\partition15"; -std::string DeviceHarddisk0Partition16 = "\\Device\\Harddisk0\\partition16"; -std::string DeviceHarddisk0Partition17 = "\\Device\\Harddisk0\\partition17"; -std::string DeviceHarddisk0Partition18 = "\\Device\\Harddisk0\\partition18"; -std::string DeviceHarddisk0Partition19 = "\\Device\\Harddisk0\\partition19"; -std::string DeviceHarddisk0Partition20 = "\\Device\\Harddisk0\\partition20"; // 20 = Largest possible partition number -char CxbxDefaultXbeVolumeLetter = 'C'; + +const std::string DrivePrefix = "\\??\\"; +const std::string DriveSerial = DrivePrefix + "serial:"; +const std::string DriveCdRom0 = DrivePrefix + "CdRom0:"; // CD-ROM device +const std::string DriveMbfs = DrivePrefix + "mbfs:"; // media board's file system area device +const std::string DriveMbcom = DrivePrefix + "mbcom:"; // media board's communication area device +const std::string DriveMbrom = DrivePrefix + "mbrom:"; // media board's boot ROM device +const std::string DriveC = DrivePrefix + "C:"; // C: is HDD0 +const std::string DriveD = DrivePrefix + "D:"; // D: is DVD Player +const std::string DriveE = DrivePrefix + "E:"; +const std::string DriveF = DrivePrefix + "F:"; +const std::string DriveT = DrivePrefix + "T:"; // T: is Title persistent data region +const std::string DriveU = DrivePrefix + "U:"; // U: is User persistent data region +const std::string DriveV = DrivePrefix + "V:"; +const std::string DriveW = DrivePrefix + "W:"; +const std::string DriveX = DrivePrefix + "X:"; +const std::string DriveY = DrivePrefix + "Y:"; // Y: is Dashboard volume (contains "xboxdash.xbe" and "XDASH" folder + contents) +const std::string DriveZ = DrivePrefix + "Z:"; // Z: is Title utility data region +const std::string DevicePrefix = "\\Device"; +const std::string DeviceCdrom0 = DevicePrefix + "\\CdRom0"; +const std::string DeviceHarddisk0 = DevicePrefix + "\\Harddisk0"; +const std::string DeviceHarddisk0PartitionPrefix = DevicePrefix + "\\Harddisk0\\partition"; +const std::string DeviceHarddisk0Partition0 = DeviceHarddisk0PartitionPrefix + "0"; // Contains raw config sectors (like XBOX_REFURB_INFO) + entire hard disk +const std::string DeviceHarddisk0Partition1 = DeviceHarddisk0PartitionPrefix + "1"; // Data partition. Contains TDATA and UDATA folders. +const std::string DeviceHarddisk0Partition2 = DeviceHarddisk0PartitionPrefix + "2"; // Shell partition. Contains Dashboard (cpxdash.xbe, evoxdash.xbe or xboxdash.xbe) +const std::string DeviceHarddisk0Partition3 = DeviceHarddisk0PartitionPrefix + "3"; // First cache partition. Contains cache data (from here up to largest number) +const std::string DeviceHarddisk0Partition4 = DeviceHarddisk0PartitionPrefix + "4"; +const std::string DeviceHarddisk0Partition5 = DeviceHarddisk0PartitionPrefix + "5"; +const std::string DeviceHarddisk0Partition6 = DeviceHarddisk0PartitionPrefix + "6"; +const std::string DeviceHarddisk0Partition7 = DeviceHarddisk0PartitionPrefix + "7"; +const std::string DeviceHarddisk0Partition8 = DeviceHarddisk0PartitionPrefix + "8"; +const std::string DeviceHarddisk0Partition9 = DeviceHarddisk0PartitionPrefix + "9"; +const std::string DeviceHarddisk0Partition10 = DeviceHarddisk0PartitionPrefix + "10"; +const std::string DeviceHarddisk0Partition11 = DeviceHarddisk0PartitionPrefix + "11"; +const std::string DeviceHarddisk0Partition12 = DeviceHarddisk0PartitionPrefix + "12"; +const std::string DeviceHarddisk0Partition13 = DeviceHarddisk0PartitionPrefix + "13"; +const std::string DeviceHarddisk0Partition14 = DeviceHarddisk0PartitionPrefix + "14"; +const std::string DeviceHarddisk0Partition15 = DeviceHarddisk0PartitionPrefix + "15"; +const std::string DeviceHarddisk0Partition16 = DeviceHarddisk0PartitionPrefix + "16"; +const std::string DeviceHarddisk0Partition17 = DeviceHarddisk0PartitionPrefix + "17"; +const std::string DeviceHarddisk0Partition18 = DeviceHarddisk0PartitionPrefix + "18"; +const std::string DeviceHarddisk0Partition19 = DeviceHarddisk0PartitionPrefix + "19"; +const std::string DeviceHarddisk0Partition20 = DeviceHarddisk0PartitionPrefix + "20"; // 20 = Largest possible partition number +const char CxbxDefaultXbeVolumeLetter = 'C'; EmuNtSymbolicLinkObject* NtSymbolicLinkObjects[26]; struct XboxDevice { @@ -123,9 +129,7 @@ HANDLE EmuNtObject::NewHandle() NTSTATUS EmuNtObject::NtClose() { - RefCount--; - - if (RefCount <= 0) { + if (--RefCount <= 0) { delete this; } @@ -153,36 +157,52 @@ HANDLE EmuHandleToHandle(EmuHandle* emuHandle) return (HANDLE)((uint32_t)emuHandle | 0x80000000); } -NTSTATUS CxbxObjectAttributesToNT(xboxkrnl::POBJECT_ATTRIBUTES ObjectAttributes, NativeObjectAttributes& nativeObjectAttributes, std::string aFileAPIName) +bool CxbxIsUtilityDrive(NtDll::HANDLE RootDirectory) { - NTSTATUS result = 0; - std::string OriginalPath; - std::string RelativePath; + EmuNtSymbolicLinkObject* SymbolicLinkObject = FindNtSymbolicLinkObjectByName(DriveZ); + if (SymbolicLinkObject) + return (SymbolicLinkObject->RootDirectoryHandle == RootDirectory); + else + return false; +} + +std::wstring string_to_wstring(std::string const & src) +{ + std::wstring result = std::wstring(src.length(), L' '); + std::copy(src.begin(), src.end(), result.begin()); + return result; +} + +std::wstring PUNICODE_STRING_to_wstring(NtDll::PUNICODE_STRING const & src) +{ + return std::wstring(src->Buffer, src->Length / sizeof(NtDll::WCHAR)); +} + +std::string PSTRING_to_string(xboxkrnl::PSTRING const & src) +{ + return std::string(src->Buffer, src->Length); +} + +void copy_string_to_PSTRING_to(std::string const & src, const xboxkrnl::PSTRING & dest) +{ + memcpy(dest->Buffer, src.c_str(), dest->Length); +} + +NTSTATUS _CxbxConvertFilePath(std::string RelativeXboxPath, std::wstring &RelativeNativePath, NtDll::HANDLE *RootDirectory, std::string aFileAPIName) +{ + std::string OriginalPath = RelativeXboxPath; + std::string RelativePath = RelativeXboxPath; std::string XboxFullPath; std::string NativePath; EmuNtSymbolicLinkObject* NtSymbolicLinkObject = NULL; - result = STATUS_SUCCESS; - if (ObjectAttributes == NULL) - { - // When the pointer is nil, make sure we pass nil to Windows too : - nativeObjectAttributes.NtObjAttrPtr = NULL; - return result; - } - - // ObjectAttributes are given, so make sure the pointer we're going to pass to Windows is assigned : - nativeObjectAttributes.NtObjAttrPtr = &nativeObjectAttributes.NtObjAttr; - - RelativePath = std::string(ObjectAttributes->ObjectName->Buffer, ObjectAttributes->ObjectName->Length); - OriginalPath = RelativePath; - + // Always trim '\??\' off : - if ((RelativePath.length() >= 4) && (RelativePath[0] == '\\') && (RelativePath[1] == '?') && (RelativePath[2] == '?') && (RelativePath[3] == '\\')) + if (RelativePath.compare(0, DrivePrefix.length(), DrivePrefix.c_str()) == 0) RelativePath.erase(0, 4); // Check if we where called from a File-handling API : if (!aFileAPIName.empty()) { - NtSymbolicLinkObject = NULL; // Check if the path starts with a volume indicator : if ((RelativePath.length() >= 2) && (RelativePath[1] == ':')) { @@ -234,23 +254,22 @@ NTSTATUS CxbxObjectAttributesToNT(xboxkrnl::POBJECT_ATTRIBUTES ObjectAttributes, } XboxFullPath = NtSymbolicLinkObject->XboxFullPath; - ObjectAttributes->RootDirectory = NtSymbolicLinkObject->RootDirectoryHandle; + *RootDirectory = NtSymbolicLinkObject->RootDirectoryHandle; } else { // No symbolic link - as last resort, check if the path accesses a partition from Harddisk0 : - if (_strnicmp(RelativePath.c_str(), (DeviceHarddisk0 + "\\partition").c_str(), (DeviceHarddisk0 + "\\partition").length()) != 0) + if (_strnicmp(RelativePath.c_str(), DeviceHarddisk0PartitionPrefix.c_str(), DeviceHarddisk0PartitionPrefix.length()) != 0) { - result = STATUS_UNRECOGNIZED_VOLUME; // TODO : Is this the correct error? EmuWarning((("Path not available : ") + OriginalPath).c_str()); - return result; + return STATUS_UNRECOGNIZED_VOLUME; // TODO : Is this the correct error? } XboxFullPath = RelativePath; // Remove Harddisk0 prefix, in the hope that the remaining path might work : RelativePath.erase(0, DeviceHarddisk0.length() + 1); // And set Root to the folder containing the partition-folders : - ObjectAttributes->RootDirectory = CxbxBasePathHandle; + *RootDirectory = CxbxBasePathHandle; NativePath = CxbxBasePath; } @@ -277,16 +296,45 @@ NTSTATUS CxbxObjectAttributesToNT(xboxkrnl::POBJECT_ATTRIBUTES ObjectAttributes, else { // For non-file API calls, prefix with '\??\' again : - RelativePath = "\\??\\" + RelativePath; - ObjectAttributes->RootDirectory = 0; + RelativePath = DrivePrefix + RelativePath; + *RootDirectory = 0; } - // Convert Ansi to Unicode : - mbstowcs(nativeObjectAttributes.wszObjectName, RelativePath.c_str(), 160); + // Convert the relative path to unicode + RelativeNativePath = string_to_wstring(RelativePath); + + return STATUS_SUCCESS; +} + +NTSTATUS CxbxObjectAttributesToNT( + xboxkrnl::POBJECT_ATTRIBUTES ObjectAttributes, + NativeObjectAttributes& nativeObjectAttributes, + const std::string aFileAPIName) +{ + NTSTATUS result = STATUS_SUCCESS; + std::string RelativeXboxPath; + std::wstring RelativeNativePath; + NtDll::HANDLE RootDirectory; + + if (ObjectAttributes == NULL) + { + // When the pointer is nil, make sure we pass nil to Windows too : + nativeObjectAttributes.NtObjAttrPtr = NULL; + return result; + } + + // ObjectAttributes are given, so make sure the pointer we're going to pass to Windows is assigned : + nativeObjectAttributes.NtObjAttrPtr = &nativeObjectAttributes.NtObjAttr; + + RelativeXboxPath = PSTRING_to_string(ObjectAttributes->ObjectName); + result = _CxbxConvertFilePath(RelativeXboxPath, RelativeNativePath, &RootDirectory, aFileAPIName); + + // Copy relative path string to the unicode string + wcscpy_s(nativeObjectAttributes.wszObjectName, RelativeNativePath.c_str()); NtDll::RtlInitUnicodeString(&nativeObjectAttributes.NtUnicodeString, nativeObjectAttributes.wszObjectName); - // Initialize the NT ObjectAttributes : - InitializeObjectAttributes(&nativeObjectAttributes.NtObjAttr, &nativeObjectAttributes.NtUnicodeString, ObjectAttributes->Attributes, ObjectAttributes->RootDirectory, NULL); + // Initialize the NT ObjectAttributes + InitializeObjectAttributes(&nativeObjectAttributes.NtObjAttr, &nativeObjectAttributes.NtUnicodeString, ObjectAttributes->Attributes, RootDirectory, NULL); return result; } @@ -294,9 +342,11 @@ NTSTATUS CxbxObjectAttributesToNT(xboxkrnl::POBJECT_ATTRIBUTES ObjectAttributes, bool CxbxRegisterDeviceNativePath(std::string XboxFullPath, std::string NativePath, bool IsFile) { bool result; + if (IsFile) { if (!PathFileExists(NativePath.c_str())) { HANDLE hf = CreateFile(NativePath.c_str(), GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0); + SetFilePointer(hf, 512 * 1024, 0, FILE_BEGIN); SetEndOfFile(hf); CloseHandle(hf); @@ -313,6 +363,7 @@ bool CxbxRegisterDeviceNativePath(std::string XboxFullPath, std::string NativePa if (result) { XboxDevice newDevice; + newDevice.XboxFullPath = XboxFullPath; newDevice.NativePath = NativePath; Devices.push_back(newDevice); @@ -345,12 +396,12 @@ NTSTATUS CxbxCreateSymbolicLink(std::string SymbolicLinkName, std::string FullPa NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::string aFullPath) { - NTSTATUS result = 0; + NTSTATUS result = STATUS_OBJECT_NAME_INVALID; bool IsNativePath = false; int i = 0; std::string ExtraPath; int DeviceIndex = 0; - result = STATUS_OBJECT_NAME_INVALID; + DriveLetter = SymbolicLinkToDriveLetter(aSymbolicLinkName); if (DriveLetter >= 'A' && DriveLetter <= 'Z') { @@ -360,9 +411,8 @@ NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::strin // Look up the partition in the list of pre-registered devices : result = STATUS_DEVICE_DOES_NOT_EXIST; // TODO : Is this the correct error? - // Make a distinction between Xbox paths (starting with '\Device'...) and Native paths : - std::string deviceString = "\\Device"; - IsNativePath = _strnicmp(aFullPath.c_str(), deviceString.c_str(), deviceString.length()) != 0; + // Make a distinction between Xbox paths (starting with '\Device'...) and Native paths : + IsNativePath = _strnicmp(aFullPath.c_str(), DevicePrefix.c_str(), DevicePrefix.length()) != 0; if (IsNativePath) DeviceIndex = 0; else @@ -376,6 +426,7 @@ NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::strin } } } + if (DeviceIndex >= 0) { result = STATUS_SUCCESS; @@ -392,11 +443,11 @@ NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::strin // Handle the case where a sub folder of the partition is mounted (instead of it's root) : ExtraPath = aFullPath.substr(Devices[DeviceIndex].XboxFullPath.length(), std::string::npos); } + if (!ExtraPath.empty()) NativePath = NativePath + ExtraPath; SHCreateDirectoryEx(NULL, NativePath.c_str(), NULL); - RootDirectoryHandle = CreateFile(NativePath.c_str(), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); if (RootDirectoryHandle == INVALID_HANDLE_VALUE) { @@ -411,6 +462,7 @@ NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::strin } } } + return result; } @@ -455,7 +507,6 @@ char SymbolicLinkToDriveLetter(std::string SymbolicLinkName) EmuNtSymbolicLinkObject* FindNtSymbolicLinkObjectByVolumeLetter(const char VolumeLetter) { - EmuNtSymbolicLinkObject* result = NULL; if (VolumeLetter >= 'A' && VolumeLetter <= 'Z') return NtSymbolicLinkObjects[VolumeLetter - 'A']; @@ -480,7 +531,6 @@ EmuNtSymbolicLinkObject* FindNtSymbolicLinkObjectByDevice(std::string DeviceName return result; } - return NULL; } @@ -490,7 +540,6 @@ EmuNtSymbolicLinkObject* FindNtSymbolicLinkObjectByRootHandle(const HANDLE Handl for (char VolumeLetter = 'A'; VolumeLetter <= 'Z'; VolumeLetter++) { EmuNtSymbolicLinkObject* result = NtSymbolicLinkObjects[VolumeLetter - 'A']; - result = NtSymbolicLinkObjects[VolumeLetter - 'A']; if ((result != NULL) && (Handle == result->RootDirectoryHandle)) return result; } @@ -498,6 +547,291 @@ EmuNtSymbolicLinkObject* FindNtSymbolicLinkObjectByRootHandle(const HANDLE Handl return NULL; } + +void _CxbxPVOIDDeleter(PVOID *ptr) +{ + if (*ptr) + CxbxFree(*ptr); +} + +// ---------------------------------------------------------------------------- +// Xbox to NT converters +// ---------------------------------------------------------------------------- + +NtDll::FILE_LINK_INFORMATION * _XboxToNTLinkInfo(xboxkrnl::FILE_LINK_INFORMATION *xboxLinkInfo, ULONG *Length) +{ + // Convert the path from Xbox to native + std::string originalFileName(xboxLinkInfo->FileName, xboxLinkInfo->FileNameLength); + std::wstring convertedFileName; + NtDll::HANDLE RootDirectory; + _CxbxConvertFilePath(originalFileName, convertedFileName, &RootDirectory, "NtSetInformationFile"); + + // Build the native FILE_LINK_INFORMATION struct + *Length = sizeof(NtDll::FILE_LINK_INFORMATION) + convertedFileName.size() * sizeof(wchar_t); + NtDll::FILE_LINK_INFORMATION *ntLinkInfo = (NtDll::FILE_LINK_INFORMATION *) CxbxMalloc(*Length); + ZeroMemory(ntLinkInfo, *Length); + ntLinkInfo->ReplaceIfExists = xboxLinkInfo->ReplaceIfExists; + ntLinkInfo->RootDirectory = RootDirectory; + ntLinkInfo->FileNameLength = convertedFileName.size() * sizeof(wchar_t); + wmemcpy_s(ntLinkInfo->FileName, convertedFileName.size(), convertedFileName.c_str(), convertedFileName.size()); + + return ntLinkInfo; +} + +NtDll::FILE_RENAME_INFORMATION * _XboxToNTRenameInfo(xboxkrnl::FILE_RENAME_INFORMATION *xboxRenameInfo, ULONG *Length) +{ + // Convert the path from Xbox to native + std::string originalFileName(xboxRenameInfo->FileName.Buffer, xboxRenameInfo->FileName.Length); + std::wstring convertedFileName; + NtDll::HANDLE RootDirectory; + _CxbxConvertFilePath(originalFileName, convertedFileName, &RootDirectory, "NtSetInformationFile"); + + // Build the native FILE_RENAME_INFORMATION struct + *Length = sizeof(NtDll::FILE_RENAME_INFORMATION) + convertedFileName.size() * sizeof(wchar_t); + NtDll::FILE_RENAME_INFORMATION *ntRenameInfo = (NtDll::FILE_RENAME_INFORMATION *) CxbxMalloc(*Length); + ZeroMemory(ntRenameInfo, *Length); + ntRenameInfo->ReplaceIfExists = xboxRenameInfo->ReplaceIfExists; + ntRenameInfo->RootDirectory = RootDirectory; + ntRenameInfo->FileNameLength = convertedFileName.size() * sizeof(wchar_t); + wmemcpy_s(ntRenameInfo->FileName, convertedFileName.size(), convertedFileName.c_str(), convertedFileName.size()); + + return ntRenameInfo; +} + +// ---------------------------------------------------------------------------- +// NT to Xbox converters - common functions +// ---------------------------------------------------------------------------- + +void _ConvertXboxBasicInfo(xboxkrnl::FILE_BASIC_INFORMATION *xboxBasicInfo) +{ + // Fix up attributes + xboxBasicInfo->FileAttributes &= FILE_ATTRIBUTE_VALID_FLAGS; +} + +NTSTATUS _ConvertXboxNameInfo(NtDll::FILE_NAME_INFORMATION *ntNameInfo, xboxkrnl::FILE_NAME_INFORMATION *xboxNameInfo, int convertedFileNameLength, ULONG Length) +{ + // Convert the file name to ANSI in-place + xboxNameInfo->FileNameLength = convertedFileNameLength; + + // Check if the new file name fits within the given struct size and copy as many chars as possible if not + int maxFileNameLength = Length - sizeof(xboxkrnl::FILE_NAME_INFORMATION); + size_t convertedChars; + wcstombs_s(&convertedChars, xboxNameInfo->FileName, maxFileNameLength, ntNameInfo->FileName, ntNameInfo->FileNameLength); + + // Return the appropriate result depending on whether the string was fully copied + return convertedChars == ntNameInfo->FileNameLength / sizeof(NtDll::WCHAR) + ? STATUS_SUCCESS + : STATUS_BUFFER_OVERFLOW; +} + +// ---------------------------------------------------------------------------- +// NT to Xbox converters +// ---------------------------------------------------------------------------- + +NTSTATUS _NTToXboxNetOpenInfo(NtDll::FILE_NETWORK_OPEN_INFORMATION *ntNetOpenInfo, xboxkrnl::FILE_NETWORK_OPEN_INFORMATION *xboxNetOpenInfo, ULONG Length) +{ + // Copy everything from the NT struct + memcpy_s(xboxNetOpenInfo, Length, ntNetOpenInfo, sizeof(NtDll::FILE_NETWORK_OPEN_INFORMATION)); + + // Fix up attributes + xboxNetOpenInfo->FileAttributes &= FILE_ATTRIBUTE_VALID_FLAGS; + + return STATUS_SUCCESS; +} + +NTSTATUS _NTToXboxBasicInfo(NtDll::FILE_BASIC_INFORMATION *ntBasicInfo, xboxkrnl::FILE_BASIC_INFORMATION *xboxBasicInfo, ULONG Length) +{ + // Copy everything from the NT struct + memcpy_s(xboxBasicInfo, sizeof(xboxkrnl::FILE_BASIC_INFORMATION), ntBasicInfo, sizeof(NtDll::FILE_BASIC_INFORMATION)); + + _ConvertXboxBasicInfo(xboxBasicInfo); + + return STATUS_SUCCESS; +} + +NTSTATUS _NTToXboxNameInfo(NtDll::FILE_NAME_INFORMATION *ntNameInfo, xboxkrnl::FILE_NAME_INFORMATION *xboxNameInfo, ULONG Length) +{ + // TODO: the FileName probably needs to be converted back to an Xbox path in some cases + // Determine new file name length + size_t convertedFileNameLength = ntNameInfo->FileNameLength / sizeof(NtDll::WCHAR); + + // Clean up the Xbox FILE_NAME_INFORMATION struct + ZeroMemory(xboxNameInfo, Length); + + // Convert file name and return the result + return _ConvertXboxNameInfo(ntNameInfo, xboxNameInfo, convertedFileNameLength, Length); +} + +NTSTATUS _NTToXboxAllInfo(NtDll::FILE_ALL_INFORMATION *ntAllInfo, xboxkrnl::FILE_ALL_INFORMATION *xboxAllInfo, ULONG Length) +{ + // TODO: the FileName probably needs to be converted back to an Xbox path in some cases + // Determine new file name length + size_t convertedFileNameLength = ntAllInfo->NameInformation.FileNameLength / sizeof(NtDll::WCHAR); + + // Copy everything from the NT struct + memcpy_s(xboxAllInfo, Length, ntAllInfo, sizeof(NtDll::FILE_ALL_INFORMATION)); + + // Convert NT structs to Xbox where needed and return the result + _ConvertXboxBasicInfo(&xboxAllInfo->BasicInformation); + return _ConvertXboxNameInfo(&ntAllInfo->NameInformation, &xboxAllInfo->NameInformation, convertedFileNameLength, Length); +} + +// ---------------------------------------------------------------------------- +// File information struct converters +// ---------------------------------------------------------------------------- + +PVOID _XboxToNTFileInformation +( + IN PVOID xboxFileInformation, + IN ULONG FileInformationClass, + OUT ULONG *Length +) +{ + // The following classes of file information structs are identical between platforms: + // FileBasicInformation + // FileDispositionInformation + // FileEndOfFileInformation + // FileLinkInformation + // FilePositionInformation + + PVOID result = NULL; + + switch (FileInformationClass) + { + case xboxkrnl::FileLinkInformation: + { + xboxkrnl::FILE_LINK_INFORMATION *xboxLinkInfo = reinterpret_cast(xboxFileInformation); + result = _XboxToNTLinkInfo(xboxLinkInfo, Length); + break; + } + case xboxkrnl::FileRenameInformation: + { + xboxkrnl::FILE_RENAME_INFORMATION *xboxRenameInfo = reinterpret_cast(xboxFileInformation); + result = _XboxToNTRenameInfo(xboxRenameInfo, Length); + break; + } + default: + { + result = NULL; + break; + } + } + + return result; +} + +NTSTATUS NTToXboxFileInformation +( + IN PVOID nativeFileInformation, + OUT PVOID xboxFileInformation, + IN ULONG FileInformationClass, + IN ULONG Length +) +{ + // The following classes of file information structs are identical between platforms: + // FileAccessInformation + // FileAlignmentInformation + // FileEaInformation + // FileInternalInformation + // FileModeInformation + // FilePositionInformation + // FileStandardInformation + // FileReparsePointInformation + + NTSTATUS result = STATUS_SUCCESS; + + switch (FileInformationClass) + { + case NtDll::FileAllInformation: + { + NtDll::FILE_ALL_INFORMATION *ntAllInfo = reinterpret_cast(nativeFileInformation); + xboxkrnl::FILE_ALL_INFORMATION *xboxAllInfo = reinterpret_cast(xboxFileInformation); + result = _NTToXboxAllInfo(ntAllInfo, xboxAllInfo, Length); + break; + } + case NtDll::FileBasicInformation: + { + NtDll::FILE_BASIC_INFORMATION *ntBasicInfo = reinterpret_cast(nativeFileInformation); + xboxkrnl::FILE_BASIC_INFORMATION *xboxBasicInfo = reinterpret_cast(xboxFileInformation); + result = _NTToXboxBasicInfo(ntBasicInfo, xboxBasicInfo, Length); + break; + } + case NtDll::FileNameInformation: + { + NtDll::FILE_NAME_INFORMATION *ntNameInfo = reinterpret_cast(nativeFileInformation); + xboxkrnl::FILE_NAME_INFORMATION *xboxNameInfo = reinterpret_cast(xboxFileInformation); + result = _NTToXboxNameInfo(ntNameInfo, xboxNameInfo, Length); + break; + } + case NtDll::FileNetworkOpenInformation: + { + NtDll::FILE_NETWORK_OPEN_INFORMATION *ntNetOpenInfo = reinterpret_cast(nativeFileInformation); + xboxkrnl::FILE_NETWORK_OPEN_INFORMATION *xboxNetOpenInfo = reinterpret_cast(xboxFileInformation); + result = _NTToXboxNetOpenInfo(ntNetOpenInfo, xboxNetOpenInfo, Length); + break; + } + case NtDll::FileBothDirectoryInformation: + { + // TODO: handle differences + // - Xbox reuses the FILE_DIRECTORY_INFORMATION struct, which is mostly identical to FILE_BOTH_DIR_INFORMATION + // - NextEntryOffset might be a problem + // - NT has extra fields before FileName: + // - ULONG EaSize + // - CCHAR ShortNameLength + // - WCHAR ShortName[12] + // - FileName on Xbox uses single-byte chars, NT uses wide chars + + //break; + } + case NtDll::FileDirectoryInformation: + { + // TODO: handle differences + // - NextEntryOffset might be a problem + // - FileName on Xbox uses single-byte chars, NT uses wide chars + + //break; + } + case NtDll::FileFullDirectoryInformation: + { + // TODO: handle differences + // - Xbox reuses the FILE_DIRECTORY_INFORMATION struct, which is mostly identical to FILE_FULL_DIR_INFORMATION + // - NextEntryOffset might be a problem + // - NT has one extra field before FileName: + // - ULONG EaSize + // - FileName on Xbox uses single-byte chars, NT uses wide chars + + //break; + } + case NtDll::FileNamesInformation: + { + // TODO: handle differences + // - NextEntryOffset might be a problem + // - FileName on Xbox uses single-byte chars, NT uses wide chars + + //break; + } + case NtDll::FileObjectIdInformation: + { + // TODO: handle differences + // - The LONGLONG FileReference field from NT can be ignored + // - ExtendedInfo is an union on NT, but is otherwise identical + + //break; + } + default: + { + // No differences between structs; a simple copy should suffice + memcpy_s(xboxFileInformation, Length, nativeFileInformation, Length); + result = STATUS_SUCCESS; + break; + } + } + + return result; +} + +// TODO: FS_INFORMATION_CLASS and its related structs most likely need to be converted too + // TODO : Move to a better suited file /* TODO : Also, fix C2593: "'operator <<' is ambiguous" for this std::ostream& operator<<(std::ostream& os, const NtDll::NTSTATUS& value) diff --git a/src/CxbxKrnl/EmuFile.h b/src/CxbxKrnl/EmuFile.h index cf33b65f8..5403373c4 100644 --- a/src/CxbxKrnl/EmuFile.h +++ b/src/CxbxKrnl/EmuFile.h @@ -44,6 +44,7 @@ namespace xboxkrnl #include #include +#include // ****************************************************************** // * prevent name collisions @@ -58,50 +59,98 @@ namespace NtDll // TODO : Move to a better suited file //std::ostream& operator<<(std::ostream& os, const NtDll::NTSTATUS& value); -extern std::string DriveSerial; -extern std::string DriveCdRom0; -extern std::string DriveMbfs; -extern std::string DriveMbcom; -extern std::string DriveMbrom; -extern std::string DriveC; -extern std::string DriveD; -extern std::string DriveE; -extern std::string DriveF; -extern std::string DriveT; -extern std::string DriveU; -extern std::string DriveV; -extern std::string DriveW; -extern std::string DriveX; -extern std::string DriveY; -extern std::string DriveZ; -extern std::string DeviceCdrom0; -extern std::string DeviceHarddisk0; -extern std::string DeviceHarddisk0Partition0; -extern std::string DeviceHarddisk0Partition1; -extern std::string DeviceHarddisk0Partition2; -extern std::string DeviceHarddisk0Partition3; -extern std::string DeviceHarddisk0Partition4; -extern std::string DeviceHarddisk0Partition5; -extern std::string DeviceHarddisk0Partition6; -extern std::string DeviceHarddisk0Partition7; -extern std::string DeviceHarddisk0Partition8; -extern std::string DeviceHarddisk0Partition9; -extern std::string DeviceHarddisk0Partition10; -extern std::string DeviceHarddisk0Partition11; -extern std::string DeviceHarddisk0Partition12; -extern std::string DeviceHarddisk0Partition13; -extern std::string DeviceHarddisk0Partition14; -extern std::string DeviceHarddisk0Partition15; -extern std::string DeviceHarddisk0Partition16; -extern std::string DeviceHarddisk0Partition17; -extern std::string DeviceHarddisk0Partition18; -extern std::string DeviceHarddisk0Partition19; -extern std::string DeviceHarddisk0Partition20; -extern char CxbxDefaultXbeVolumeLetter; +extern const std::string DrivePrefix; +extern const std::string DriveSerial; +extern const std::string DriveCdRom0; +extern const std::string DriveMbfs; +extern const std::string DriveMbcom; +extern const std::string DriveMbrom; +extern const std::string DriveC; +extern const std::string DriveD; +extern const std::string DriveE; +extern const std::string DriveF; +extern const std::string DriveT; +extern const std::string DriveU; +extern const std::string DriveV; +extern const std::string DriveW; +extern const std::string DriveX; +extern const std::string DriveY; +extern const std::string DriveZ; +extern const std::string DevicePrefix; +extern const std::string DeviceCdrom0; +extern const std::string DeviceHarddisk0; +extern const std::string DeviceHarddisk0PartitionPrefix; +extern const std::string DeviceHarddisk0Partition0; +extern const std::string DeviceHarddisk0Partition1; +extern const std::string DeviceHarddisk0Partition2; +extern const std::string DeviceHarddisk0Partition3; +extern const std::string DeviceHarddisk0Partition4; +extern const std::string DeviceHarddisk0Partition5; +extern const std::string DeviceHarddisk0Partition6; +extern const std::string DeviceHarddisk0Partition7; +extern const std::string DeviceHarddisk0Partition8; +extern const std::string DeviceHarddisk0Partition9; +extern const std::string DeviceHarddisk0Partition10; +extern const std::string DeviceHarddisk0Partition11; +extern const std::string DeviceHarddisk0Partition12; +extern const std::string DeviceHarddisk0Partition13; +extern const std::string DeviceHarddisk0Partition14; +extern const std::string DeviceHarddisk0Partition15; +extern const std::string DeviceHarddisk0Partition16; +extern const std::string DeviceHarddisk0Partition17; +extern const std::string DeviceHarddisk0Partition18; +extern const std::string DeviceHarddisk0Partition19; +extern const std::string DeviceHarddisk0Partition20; +extern const char CxbxDefaultXbeVolumeLetter; extern std::string CxbxBasePath; extern HANDLE CxbxBasePathHandle; +const size_t XboxFileInfoStructSizes[xboxkrnl::FileMaximumInformation] = { + 0, // (index 0) + sizeof(xboxkrnl::FILE_DIRECTORY_INFORMATION), // FileDirectoryInformation + sizeof(xboxkrnl::FILE_DIRECTORY_INFORMATION), // FileFullDirectoryInformation + sizeof(xboxkrnl::FILE_DIRECTORY_INFORMATION), // FileBothDirectoryInformation + sizeof(xboxkrnl::FILE_BASIC_INFORMATION), // FileBasicInformation + sizeof(xboxkrnl::FILE_STANDARD_INFORMATION), // FileStandardInformation + sizeof(xboxkrnl::FILE_INTERNAL_INFORMATION), // FileInternalInformation + sizeof(xboxkrnl::FILE_EA_INFORMATION), // FileEaInformation + sizeof(xboxkrnl::FILE_ACCESS_INFORMATION), // FileAccessInformation + sizeof(xboxkrnl::FILE_NAME_INFORMATION), // FileNameInformation + sizeof(xboxkrnl::FILE_RENAME_INFORMATION), // FileRenameInformation + sizeof(xboxkrnl::FILE_LINK_INFORMATION), // FileLinkInformation + sizeof(xboxkrnl::FILE_DIRECTORY_INFORMATION), // FileNamesInformation + sizeof(xboxkrnl::FILE_DISPOSITION_INFORMATION), // FileDispositionInformation + sizeof(xboxkrnl::FILE_POSITION_INFORMATION), // FilePositionInformation + sizeof(xboxkrnl::FILE_FULL_EA_INFORMATION), // FileFullEaInformation + sizeof(xboxkrnl::FILE_MODE_INFORMATION), // FileModeInformation + sizeof(xboxkrnl::FILE_ALIGNMENT_INFORMATION), // FileAlignmentInformation + sizeof(xboxkrnl::FILE_ALL_INFORMATION), // FileAllInformation + sizeof(xboxkrnl::FILE_ALLOCATION_INFORMATION), // FileAllocationInformation + sizeof(xboxkrnl::FILE_END_OF_FILE_INFORMATION), // FileEndOfFileInformation + sizeof(xboxkrnl::FILE_NAME_INFORMATION), // FileAlternateNameInformation + sizeof(xboxkrnl::FILE_STREAM_INFORMATION), // FileStreamInformation + sizeof(xboxkrnl::FILE_PIPE_INFORMATION), // FilePipeInformation + sizeof(xboxkrnl::FILE_PIPE_LOCAL_INFORMATION), // FilePipeLocalInformation + sizeof(xboxkrnl::FILE_PIPE_REMOTE_INFORMATION), // FilePipeRemoteInformation + sizeof(xboxkrnl::FILE_MAILSLOT_QUERY_INFORMATION), // FileMailslotQueryInformation + sizeof(xboxkrnl::FILE_MAILSLOT_SET_INFORMATION), // FileMailslotSetInformation + sizeof(xboxkrnl::FILE_COMPRESSION_INFORMATION), // FileCompressionInformation + 0, // FileCopyOnWriteInformation + sizeof(xboxkrnl::FILE_COMPLETION_INFORMATION), // FileCompletionInformation + sizeof(xboxkrnl::FILE_MOVE_CLUSTER_INFORMATION), // FileMoveClusterInformation + 0, // FileQuotaInformation + sizeof(xboxkrnl::FILE_REPARSE_POINT_INFORMATION), // FileReparsePointInformation + sizeof(xboxkrnl::FILE_NETWORK_OPEN_INFORMATION), // FileNetworkOpenInformation + sizeof(xboxkrnl::FILE_DIRECTORY_INFORMATION), // FileObjectIdInformation + sizeof(xboxkrnl::FILE_TRACKING_INFORMATION), // FileTrackingInformation + 0, // FileOleDirectoryInformation + 0, // FileContentIndexInformation + 0, // FileInheritContentIndexInformation + 0 // FileOleInformation +}; + + class EmuNtObject; struct NativeObjectAttributes { @@ -177,5 +226,49 @@ bool CxbxRegisterDeviceNativePath(std::string XboxFullPath, std::string NativePa HANDLE CxbxGetDeviceNativeRootHandle(std::string XboxFullPath); NTSTATUS CxbxCreateSymbolicLink(std::string SymbolicLinkName, std::string FullPath); bool CxbxMountUtilityDrive(bool formatClean); +bool CxbxIsUtilityDrive(NtDll::HANDLE RootDirectory); +std::wstring string_to_wstring(std::string const & src); +std::wstring PUNICODE_STRING_to_wstring(NtDll::PUNICODE_STRING const & src); +std::string PSTRING_to_string(xboxkrnl::PSTRING const & src); +void copy_string_to_PSTRING_to(std::string const & src, const xboxkrnl::PSTRING & dest); + +static int NtFileDirectoryInformationSize = sizeof(NtDll::FILE_DIRECTORY_INFORMATION) - 1; +static int NtPathBufferSize = MAX_PATH * sizeof(wchar_t); + +// Deletes structs created by the converters +void _CxbxPVOIDDeleter(PVOID *ptr); + +// Creates a PVOID variable named var which takes the given value +// and is automatically deleted when it goes out of scope +#define SMART_PVOID(var, value, orig) \ + PVOID var = value; \ + std::shared_ptr __var_shared_ptr; \ + if (NULL == var) \ + { \ + __var_shared_ptr = NULL; \ + var = orig; \ + } \ + else \ + __var_shared_ptr = std::shared_ptr(&var, _CxbxPVOIDDeleter); + +// Converts an Xbox FileInformation struct to the NT equivalent. +// Used by NtSetInformationFile. +#define XboxToNTFileInformation(var, i, c, l) SMART_PVOID(var, _XboxToNTFileInformation(i, c, l), i) +PVOID _XboxToNTFileInformation +( + IN PVOID xboxFileInformation, + IN ULONG FileInformationClass, + OUT ULONG *Length +); + +// Converts an NT FileInformation struct to the Xbox equivalent. +// Used by NtQueryInformationFile and NtQueryDirectoryFile +NTSTATUS NTToXboxFileInformation +( + IN PVOID nativeFileInformation, + OUT PVOID xboxFileInformation, + IN ULONG FileInformationClass, + IN ULONG Length +); #endif diff --git a/src/CxbxKrnl/EmuKrnlIo.cpp b/src/CxbxKrnl/EmuKrnlIo.cpp index 9e5ea3b8b..9816270ff 100644 --- a/src/CxbxKrnl/EmuKrnlIo.cpp +++ b/src/CxbxKrnl/EmuKrnlIo.cpp @@ -164,7 +164,7 @@ XBSYSAPI EXPORTNUM(67) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoCreateSymbolicLink LOG_FUNC_ARG(DeviceName) LOG_FUNC_END; - NTSTATUS ret = CxbxCreateSymbolicLink(std::string(SymbolicLinkName->Buffer, SymbolicLinkName->Length), std::string(DeviceName->Buffer, DeviceName->Length)); + NTSTATUS ret = CxbxCreateSymbolicLink(PSTRING_to_string(SymbolicLinkName), PSTRING_to_string(DeviceName)); RETURN(ret); } @@ -179,11 +179,11 @@ XBSYSAPI EXPORTNUM(69) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoDeleteSymbolicLink { LOG_FUNC_ONE_ARG(SymbolicLinkName); - EmuNtSymbolicLinkObject* symbolicLink = FindNtSymbolicLinkObjectByName(std::string(SymbolicLinkName->Buffer, SymbolicLinkName->Length)); + EmuNtSymbolicLinkObject* symbolicLink = FindNtSymbolicLinkObjectByName(PSTRING_to_string(SymbolicLinkName)); NTSTATUS ret = STATUS_OBJECT_NAME_NOT_FOUND; - if ((symbolicLink != NULL)) + if (symbolicLink != NULL) ret = symbolicLink->NtClose(); RETURN(ret); diff --git a/src/CxbxKrnl/EmuKrnlLogging.h b/src/CxbxKrnl/EmuKrnlLogging.h index 39663bb50..477705a8a 100644 --- a/src/CxbxKrnl/EmuKrnlLogging.h +++ b/src/CxbxKrnl/EmuKrnlLogging.h @@ -51,6 +51,7 @@ enum CREATE_OPTION; #include // for std::ostream //?#include "Logging.h" + // Headers for rendering non-Xbox types : std::ostream& operator<<(std::ostream& os, const PULONG& value); diff --git a/src/CxbxKrnl/EmuKrnlNt.cpp b/src/CxbxKrnl/EmuKrnlNt.cpp index 6a9e4be5b..15c2f8374 100644 --- a/src/CxbxKrnl/EmuKrnlNt.cpp +++ b/src/CxbxKrnl/EmuKrnlNt.cpp @@ -305,21 +305,21 @@ XBSYSAPI EXPORTNUM(192) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtCreateMutant LOG_FUNC_ARG(InitialOwner) LOG_FUNC_END; - char *szBuffer = (ObjectAttributes != 0) ? ObjectAttributes->ObjectName->Buffer : 0; - wchar_t wszObjectName[160]; + char *szBuffer = (ObjectAttributes != NULL) ? ObjectAttributes->ObjectName->Buffer : nullptr; + wchar_t wszObjectName[MAX_PATH]; NtDll::UNICODE_STRING NtUnicodeString; NtDll::OBJECT_ATTRIBUTES NtObjAttr; // initialize object attributes - if (szBuffer != 0) + if (szBuffer != nullptr) { - mbstowcs(wszObjectName, "\\??\\", 4); - mbstowcs(wszObjectName + 4, szBuffer, 160); + mbstowcs(/*Dest=*/wszObjectName, /*Source=*/DrivePrefix.c_str(), /*MaxCount=*/DrivePrefix.length()); + mbstowcs(/*Dest=*/wszObjectName + DrivePrefix.length(), /*Source=*/szBuffer, /*MaxCount=*/MAX_PATH); NtDll::RtlInitUnicodeString(&NtUnicodeString, wszObjectName); - InitializeObjectAttributes(&NtObjAttr, &NtUnicodeString, ObjectAttributes->Attributes, ObjectAttributes->RootDirectory, NULL); + InitializeObjectAttributes(&NtObjAttr, &NtUnicodeString, ObjectAttributes->Attributes, ObjectAttributes->RootDirectory, nullptr); } NtObjAttr.RootDirectory = 0; @@ -448,37 +448,22 @@ XBSYSAPI EXPORTNUM(196) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtDeviceIoControlFile NTSTATUS ret = STATUS_SUCCESS; - if (IsEmuHandle(FileHandle)) + switch (IoControlCode) { - switch (IoControlCode) - { - case 0x4D014: // IOCTL_SCSI_PASS_THROUGH_DIRECT - { - PSCSI_PASS_THROUGH_DIRECT PassThrough = (PSCSI_PASS_THROUGH_DIRECT)InputBuffer; - PDVDX2_AUTHENTICATION Authentication = (PDVDX2_AUTHENTICATION)PassThrough->DataBuffer; + case 0x4D014: // IOCTL_SCSI_PASS_THROUGH_DIRECT + { + PSCSI_PASS_THROUGH_DIRECT PassThrough = (PSCSI_PASS_THROUGH_DIRECT)InputBuffer; + PDVDX2_AUTHENTICATION Authentication = (PDVDX2_AUTHENTICATION)PassThrough->DataBuffer; - // Should be just enough info to pass XapiVerifyMediaInDrive - Authentication->AuthenticationPage.CDFValid = 1; - Authentication->AuthenticationPage.PartitionArea = 1; - Authentication->AuthenticationPage.Authentication = 1; - break; - } - default: - LOG_UNIMPLEMENTED(); - } + // Should be just enough info to pass XapiVerifyMediaInDrive + Authentication->AuthenticationPage.CDFValid = 1; + Authentication->AuthenticationPage.PartitionArea = 1; + Authentication->AuthenticationPage.Authentication = 1; + break; + } + default: + LOG_UNIMPLEMENTED(); } - else - ret = NtDll::NtDeviceIoControlFile( - FileHandle, - Event, - (NtDll::PIO_APC_ROUTINE)ApcRoutine, - ApcContext, - (NtDll::IO_STATUS_BLOCK*)IoStatusBlock, - IoControlCode, - InputBuffer, - InputBufferLength, - OutputBuffer, - OutputBufferLength); RETURN(ret); } @@ -686,21 +671,21 @@ XBSYSAPI EXPORTNUM(203) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtOpenSymbolicLinkObj LOG_FUNC_ARG(ObjectAttributes) LOG_FUNC_END; - NTSTATUS ret = 0; - EmuNtSymbolicLinkObject* symbolicLinkObject = NULL; + NTSTATUS ret = STATUS_OBJECT_PATH_NOT_FOUND; + EmuNtSymbolicLinkObject* symbolicLinkObject = + FindNtSymbolicLinkObjectByName(PSTRING_to_string(ObjectAttributes->ObjectName)); - symbolicLinkObject = FindNtSymbolicLinkObjectByName(std::string(ObjectAttributes->ObjectName->Buffer, ObjectAttributes->ObjectName->Length)); if (symbolicLinkObject != NULL) { - // Return a new handle (which is an EmuHandle, actually) : + // Return a new handle (which is an EmuHandle, actually) : *LinkHandle = symbolicLinkObject->NewHandle(); ret = STATUS_SUCCESS; } + + if (ret != STATUS_SUCCESS) + EmuWarning("NtOpenSymbolicLinkObject failed! (%s)", NtStatusToString(ret)); else - if (ret != STATUS_SUCCESS) - EmuWarning("NtOpenSymbolicLinkObject failed! (%s)", NtStatusToString(ret)); - else - DbgPrintf("EmuKrnl : NtOpenSymbolicLinkObject LinkHandle^ = 0x%.08X", *LinkHandle); + DbgPrintf("EmuKrnl : NtOpenSymbolicLinkObject LinkHandle^ = 0x%.08X", *LinkHandle); RETURN(ret); } @@ -821,46 +806,48 @@ XBSYSAPI EXPORTNUM(207) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryDirectoryFile NTSTATUS ret; - if (FileInformationClass != 1) // Due to unicode->string conversion + if (FileInformationClass != FileDirectoryInformation) // Due to unicode->string conversion CxbxKrnlCleanup("Unsupported FileInformationClass"); NtDll::UNICODE_STRING NtFileMask; - wchar_t wszObjectName[160]; + wchar_t wszObjectName[MAX_PATH]; // initialize FileMask { if (FileMask != 0) - mbstowcs(wszObjectName, FileMask->Buffer, 160); + mbstowcs(/*Dest=*/wszObjectName, /*Source=*/FileMask->Buffer, /*MaxCount=*/MAX_PATH); else - mbstowcs(wszObjectName, "", 160); + mbstowcs(/*Dest=*/wszObjectName, /*Source=*/"", /*MaxCount=*/MAX_PATH); NtDll::RtlInitUnicodeString(&NtFileMask, wszObjectName); } NtDll::FILE_DIRECTORY_INFORMATION *NtFileDirInfo = - (NtDll::FILE_DIRECTORY_INFORMATION*)CxbxMalloc(0x40 + 160 * 2); + (NtDll::FILE_DIRECTORY_INFORMATION *) CxbxMalloc(NtFileDirectoryInformationSize + NtPathBufferSize); // Short-hand pointer to Nt filename : wchar_t *wcstr = NtFileDirInfo->FileName; + char *mbstr = FileInformation->FileName; // Go, query that directory : do { - ZeroMemory(wcstr, 160 * 2); + ZeroMemory(wcstr, MAX_PATH * sizeof(wchar_t)); ret = NtDll::NtQueryDirectoryFile( - FileHandle, - Event, - (NtDll::PIO_APC_ROUTINE)ApcRoutine, - ApcContext, - (NtDll::IO_STATUS_BLOCK*)IoStatusBlock, - NtFileDirInfo, - /*Length=*/0x40 + 160 * 2, - (NtDll::FILE_INFORMATION_CLASS)FileInformationClass, + FileHandle, + Event, + (NtDll::PIO_APC_ROUTINE)ApcRoutine, + ApcContext, + (NtDll::IO_STATUS_BLOCK*)IoStatusBlock, + /*FileInformation=*/NtFileDirInfo, + NtFileDirectoryInformationSize + NtPathBufferSize, + (NtDll::FILE_INFORMATION_CLASS)FileInformationClass, /*ReturnSingleEntry=*/TRUE, &NtFileMask, - RestartScan); + RestartScan + ); RestartScan = FALSE; } @@ -869,9 +856,10 @@ XBSYSAPI EXPORTNUM(207) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryDirectoryFile // convert from PC to Xbox { - memcpy(FileInformation, NtFileDirInfo, 0x40); - wcstombs(/*Dest=*/FileInformation->FileName, /*Source=*/wcstr, /*MaxCount=*/160); - FileInformation->FileNameLength /= 2; + // TODO : assert that NtDll::FILE_DIRECTORY_INFORMATION has same members and size as xboxkrnl::FILE_DIRECTORY_INFORMATION + memcpy(/*Dst=*/FileInformation, /*Src=*/NtFileDirInfo, /*Size=*/NtFileDirectoryInformationSize); + wcstombs(/*Dest=*/mbstr, /*Source=*/wcstr, MAX_PATH); + FileInformation->FileNameLength /= sizeof(wchar_t); } // TODO: Cache the last search result for quicker access with CreateFile (xbox does this internally!) @@ -886,7 +874,7 @@ XBSYSAPI EXPORTNUM(207) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryDirectoryFile XBSYSAPI EXPORTNUM(210) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryFullAttributesFile ( IN POBJECT_ATTRIBUTES ObjectAttributes, - OUT PVOID Attributes + OUT xboxkrnl::PFILE_NETWORK_OPEN_INFORMATION Attributes ) { LOG_FUNC_BEGIN @@ -896,6 +884,8 @@ XBSYSAPI EXPORTNUM(210) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryFullAttributes // __asm int 3; NativeObjectAttributes nativeObjectAttributes; + NtDll::FILE_NETWORK_OPEN_INFORMATION nativeNetOpenInfo; + NTSTATUS ret = CxbxObjectAttributesToNT( ObjectAttributes, /*var*/nativeObjectAttributes, @@ -904,7 +894,10 @@ XBSYSAPI EXPORTNUM(210) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryFullAttributes if (ret == STATUS_SUCCESS) ret = NtDll::NtQueryFullAttributesFile( nativeObjectAttributes.NtObjAttrPtr, - Attributes); + &nativeNetOpenInfo); + + // Convert Attributes to Xbox + NTToXboxFileInformation(&nativeNetOpenInfo, Attributes, FileNetworkOpenInformation, sizeof(xboxkrnl::FILE_NETWORK_OPEN_INFORMATION)); if (FAILED(ret)) EmuWarning("NtQueryFullAttributesFile failed! (0x%.08X)\n", ret); @@ -921,7 +914,7 @@ XBSYSAPI EXPORTNUM(211) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryInformationFil OUT PIO_STATUS_BLOCK IoStatusBlock, OUT PVOID FileInformation, IN ULONG Length, - IN FILE_INFORMATION_CLASS FileInfo + IN FILE_INFORMATION_CLASS FileInformationClass ) { LOG_FUNC_BEGIN @@ -929,46 +922,55 @@ XBSYSAPI EXPORTNUM(211) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryInformationFil LOG_FUNC_ARG_OUT(IoStatusBlock) LOG_FUNC_ARG_OUT(FileInformation) LOG_FUNC_ARG(Length) - LOG_FUNC_ARG(FileInfo) + LOG_FUNC_ARG(FileInformationClass) LOG_FUNC_END; - // TODO: IIRC, this function is deprecated. Maybe we should just use - // ZwQueryInformationFile instead? + NTSTATUS ret; + PVOID ntFileInfo; - // if(FileInfo != FilePositionInformation && FileInfo != FileNetworkOpenInformation) - // CxbxKrnlCleanup("Unknown FILE_INFORMATION_CLASS 0x%.08X", FileInfo); + // Start with sizeof(corresponding struct) + size_t bufferSize = XboxFileInfoStructSizes[FileInformationClass]; - NTSTATUS ret = NtDll::NtQueryInformationFile( - FileHandle, - (NtDll::PIO_STATUS_BLOCK)IoStatusBlock, - (NtDll::PFILE_FS_SIZE_INFORMATION)FileInformation, - Length, - (NtDll::FILE_INFORMATION_CLASS)FileInfo); - - // - // DEBUGGING! - // + // We need to retry the operation in case the buffer is too small to fit the data + do { - /* - _asm int 3; - NtDll::FILE_NETWORK_OPEN_INFORMATION *pInfo = (NtDll::FILE_NETWORK_OPEN_INFORMATION*)FileInformation; + ntFileInfo = CxbxMalloc(bufferSize); - if(FileInfo == FileNetworkOpenInformation && (pInfo->AllocationSize.LowPart == 57344)) + ret = NtDll::NtQueryInformationFile( + FileHandle, + (NtDll::PIO_STATUS_BLOCK)IoStatusBlock, + ntFileInfo, + bufferSize, + (NtDll::FILE_INFORMATION_CLASS)FileInformationClass); + + // Buffer is too small; make a larger one + if (ret == STATUS_BUFFER_OVERFLOW) { - DbgPrintf("pInfo->AllocationSize : %d\n", pInfo->AllocationSize.LowPart); - DbgPrintf("pInfo->EndOfFile : %d\n", pInfo->EndOfFile.LowPart); + CxbxFree(ntFileInfo); - pInfo->EndOfFile.LowPart = 0x1000; - pInfo->AllocationSize.LowPart = 0x1000; - - fflush(stdout); + bufferSize *= 2; + // Bail out if the buffer gets too big + if (bufferSize > 65536) + return STATUS_INVALID_PARAMETER; // TODO: what's the appropriate error code to return here? + + ntFileInfo = CxbxMalloc(bufferSize); } - */ - } + } while (ret == STATUS_BUFFER_OVERFLOW); + + // Convert and copy NT data to the given Xbox struct + NTSTATUS convRet = NTToXboxFileInformation(ntFileInfo, FileInformation, FileInformationClass, Length); + + // Make sure to free the memory first + CxbxFree(ntFileInfo); if (FAILED(ret)) EmuWarning("NtQueryInformationFile failed! (0x%.08X)", ret); + // Prioritize the buffer overflow over real return code, + // in case the Xbox program decides to follow the same procedure above + if (convRet == STATUS_BUFFER_OVERFLOW) + return convRet; + RETURN(ret); } @@ -1006,7 +1008,7 @@ XBSYSAPI EXPORTNUM(215) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQuerySymbolicLinkOb LinkTarget->Length = LinkTarget->MaximumLength; } - memcpy(LinkTarget->Buffer, symbolicLinkObject->XboxFullPath.c_str(), LinkTarget->Length); + copy_string_to_PSTRING_to(symbolicLinkObject->XboxFullPath, LinkTarget); } if (ReturnedLength != NULL) @@ -1295,10 +1297,10 @@ XBSYSAPI EXPORTNUM(225) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtSetEvent // ****************************************************************** XBSYSAPI EXPORTNUM(226) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtSetInformationFile ( - IN HANDLE FileHandle, // TODO: correct paramters - OUT PIO_STATUS_BLOCK IoStatusBlock, - IN PVOID FileInformation, - IN ULONG Length, + IN HANDLE FileHandle, + OUT PIO_STATUS_BLOCK IoStatusBlock, + IN PVOID FileInformation, + IN ULONG Length, IN FILE_INFORMATION_CLASS FileInformationClass ) { @@ -1309,11 +1311,13 @@ XBSYSAPI EXPORTNUM(226) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtSetInformationFile LOG_FUNC_ARG(Length) LOG_FUNC_ARG(FileInformationClass) LOG_FUNC_END; + + XboxToNTFileInformation(convertedFileInfo, FileInformation, FileInformationClass, &Length); NTSTATUS ret = NtDll::NtSetInformationFile( FileHandle, IoStatusBlock, - FileInformation, + convertedFileInfo, Length, FileInformationClass); diff --git a/src/CxbxKrnl/EmuKrnlOb.cpp b/src/CxbxKrnl/EmuKrnlOb.cpp index 137d6cbac..1fee68a91 100644 --- a/src/CxbxKrnl/EmuKrnlOb.cpp +++ b/src/CxbxKrnl/EmuKrnlOb.cpp @@ -50,8 +50,14 @@ namespace NtDll #include "EmuNtDll.h" }; +#include "CxbxKrnl.h" // For CxbxKrnlCleanup +#include "EmuFile.h" // For EmuNtSymbolicLinkObject, NtStatusToString(), etc. #include "Emu.h" // For EmuWarning() +#pragma warning(disable:4005) // Ignore redefined status values +#include +#pragma warning(default:4005) + // ****************************************************************** // * 0x00F0 - ObDirectoryObjectType // ****************************************************************** @@ -86,9 +92,32 @@ XBSYSAPI EXPORTNUM(243) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ObOpenObjectByName LOG_FUNC_ARG_OUT(Handle) LOG_FUNC_END; - LOG_UNIMPLEMENTED(); + NTSTATUS ret = STATUS_OBJECT_PATH_NOT_FOUND; - RETURN(STATUS_SUCCESS); + if (ObjectType == &xboxkrnl::ObSymbolicLinkObjectType) + { + EmuNtSymbolicLinkObject* symbolicLinkObject = + FindNtSymbolicLinkObjectByName(PSTRING_to_string(ObjectAttributes->ObjectName)); + + if (symbolicLinkObject != NULL) + { + // Return a new handle (which is an EmuHandle, actually) : + *Handle = symbolicLinkObject->NewHandle(); + ret = STATUS_SUCCESS; + } + } + else + if (ObjectType == &xboxkrnl::ObDirectoryObjectType) + LOG_UNIMPLEMENTED(); + else + LOG_UNIMPLEMENTED(); + + if (ret == STATUS_SUCCESS) + DbgPrintf("EmuKrnl : ObOpenObjectByName Handle^ = 0x%.08X", *Handle); + else + EmuWarning("ObOpenObjectByName failed! (%s)", NtStatusToString(ret)); + + RETURN(ret); } // ****************************************************************** diff --git a/src/CxbxKrnl/EmuNtDll.h b/src/CxbxKrnl/EmuNtDll.h index 8a16fb611..1c869afb1 100644 --- a/src/CxbxKrnl/EmuNtDll.h +++ b/src/CxbxKrnl/EmuNtDll.h @@ -506,47 +506,47 @@ FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION; // ****************************************************************** typedef enum _FILE_INFORMATION_CLASS { - FileDirectoryInformation=1, - FileFullDirectoryInformation, - FileBothDirectoryInformation, - FileBasicInformation, - FileStandardInformation, - FileInternalInformation, - FileEaInformation, - FileAccessInformation, - FileNameInformation, - FileRenameInformation, - FileLinkInformation, - FileNamesInformation, - FileDispositionInformation, - FilePositionInformation, - FileFullEaInformation, - FileModeInformation, - FileAlignmentInformation, - FileAllInformation, - FileAllocationInformation, - FileEndOfFileInformation, - FileAlternateNameInformation, - FileStreamInformation, - FilePipeInformation, - FilePipeLocalInformation, - FilePipeRemoteInformation, - FileMailslotQueryInformation, - FileMailslotSetInformation, - FileCompressionInformation, - FileCopyOnWriteInformation, - FileCompletionInformation, - FileMoveClusterInformation, - FileQuotaInformation, - FileReparsePointInformation, - FileNetworkOpenInformation, - FileObjectIdInformation, - FileTrackingInformation, - FileOleDirectoryInformation, - FileContentIndexInformation, - FileInheritContentIndexInformation, - FileOleInformation, - FileMaximumInformation + FileDirectoryInformation=1, + FileFullDirectoryInformation, + FileBothDirectoryInformation, + FileBasicInformation, + FileStandardInformation, + FileInternalInformation, + FileEaInformation, + FileAccessInformation, + FileNameInformation, + FileRenameInformation, + FileLinkInformation, + FileNamesInformation, + FileDispositionInformation, + FilePositionInformation, + FileFullEaInformation, + FileModeInformation, + FileAlignmentInformation, + FileAllInformation, + FileAllocationInformation, + FileEndOfFileInformation, + FileAlternateNameInformation, + FileStreamInformation, + FilePipeInformation, + FilePipeLocalInformation, + FilePipeRemoteInformation, + FileMailslotQueryInformation, + FileMailslotSetInformation, + FileCompressionInformation, + FileCopyOnWriteInformation, + FileCompletionInformation, + FileMoveClusterInformation, + FileQuotaInformation, + FileReparsePointInformation, + FileNetworkOpenInformation, + FileObjectIdInformation, + FileTrackingInformation, + FileOleDirectoryInformation, + FileContentIndexInformation, + FileInheritContentIndexInformation, + FileOleInformation, + FileMaximumInformation } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; @@ -572,34 +572,142 @@ FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; // ****************************************************************** typedef struct _FILE_DIRECTORY_INFORMATION { - ULONG NextEntryOffset; - ULONG FileIndex; - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - LARGE_INTEGER EndOfFile; - LARGE_INTEGER AllocationSize; - ULONG FileAttributes; - ULONG FileNameLength; - WCHAR FileName[1]; // Offset: 0x40 + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + WCHAR FileName[1]; // Offset: 0x40 } FILE_DIRECTORY_INFORMATION; +// ****************************************************************** +// * FILE_RENAME_INFORMATION +// ****************************************************************** +typedef struct _FILE_RENAME_INFORMATION +{ + BOOLEAN ReplaceIfExists; + HANDLE RootDirectory; + ULONG FileNameLength; + WCHAR FileName[1]; +} +FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION; + +// ****************************************************************** +// * FILE_LINK_INFORMATION +// ****************************************************************** +typedef struct _FILE_LINK_INFORMATION { + BOOLEAN ReplaceIfExists; + HANDLE RootDirectory; + ULONG FileNameLength; + WCHAR FileName[1]; +} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION; + // ****************************************************************** // * FILE_NETWORK_OPEN_INFORMATION // ****************************************************************** -typedef struct _FILE_NETWORK_OPEN_INFORMATION -{ - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - LARGE_INTEGER AllocationSize; - LARGE_INTEGER EndOfFile; - ULONG FileAttributes; -} -FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION; +typedef struct _FILE_NETWORK_OPEN_INFORMATION { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG FileAttributes; + ULONG Reserved; +} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION; + +// ****************************************************************** +// * FILE_BASIC_INFORMATION +// ****************************************************************** +typedef struct _FILE_BASIC_INFORMATION { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + ULONG FileAttributes; +} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION; + +// ****************************************************************** +// * FILE_STANDARD_INFORMATION +// ****************************************************************** +typedef struct _FILE_STANDARD_INFORMATION { + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG NumberOfLinks; + BOOLEAN DeletePending; + BOOLEAN Directory; +} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION; + +// ****************************************************************** +// * FILE_INTERNAL_INFORMATION +// ****************************************************************** +typedef struct _FILE_INTERNAL_INFORMATION { + LARGE_INTEGER IndexNumber; +} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION; + +// ****************************************************************** +// * FILE_EA_INFORMATION +// ****************************************************************** +typedef struct _FILE_EA_INFORMATION { + ULONG EaSize; +} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION; + +// ****************************************************************** +// * FILE_ACCESS_INFORMATION +// ****************************************************************** +typedef struct _FILE_ACCESS_INFORMATION { + ACCESS_MASK AccessFlags; +} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION; + +// ****************************************************************** +// * FILE_POSITION_INFORMATION +// ****************************************************************** +typedef struct _FILE_POSITION_INFORMATION { + LARGE_INTEGER CurrentByteOffset; +} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION; + +// ****************************************************************** +// * FILE_MODE_INFORMATION +// ****************************************************************** +typedef struct _FILE_MODE_INFORMATION { + ULONG Mode; +} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION; + +// ****************************************************************** +// * FILE_ALIGNMENT_INFORMATION +// ****************************************************************** +typedef struct _FILE_ALIGNMENT_INFORMATION { + ULONG AlignmentRequirement; +} FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION; + +// ****************************************************************** +// * FILE_NAME_INFORMATION +// ****************************************************************** +typedef struct _FILE_NAME_INFORMATION { + ULONG FileNameLength; + WCHAR FileName[1]; +} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION; + +// ****************************************************************** +// * FILE_ALL_INFORMATION +// ****************************************************************** +typedef struct _FILE_ALL_INFORMATION { + FILE_BASIC_INFORMATION BasicInformation; + FILE_STANDARD_INFORMATION StandardInformation; + FILE_INTERNAL_INFORMATION InternalInformation; + FILE_EA_INFORMATION EaInformation; + FILE_ACCESS_INFORMATION AccessInformation; + FILE_POSITION_INFORMATION PositionInformation; + FILE_MODE_INFORMATION ModeInformation; + FILE_ALIGNMENT_INFORMATION AlignmentInformation; + FILE_NAME_INFORMATION NameInformation; +} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION; // ****************************************************************** // * TIME_FIELDS @@ -1242,7 +1350,7 @@ typedef NTSTATUS (NTAPI *FPTR_NtQueryDirectoryFile) typedef NTSTATUS (NTAPI *FPTR_NtQueryFullAttributesFile) ( IN POBJECT_ATTRIBUTES ObjectAttributes, - OUT PVOID Attributes + OUT PFILE_NETWORK_OPEN_INFORMATION Attributes ); // ****************************************************************** @@ -1252,7 +1360,7 @@ typedef NTSTATUS (NTAPI *FPTR_NtQueryInformationFile) ( IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock, - OUT PFILE_FS_SIZE_INFORMATION FileInformation, + OUT PVOID FileInformation, IN ULONG Length, IN FILE_INFORMATION_CLASS FileInfo );