Advertisement
Guest User

Untitled

a guest
Apr 30th, 2015
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 23.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include "main.h"
  4. #include "d3d9.h"
  5. #include <ctime> //for the clock
  6. #include "Hacks.h"
  7. Hacks hacks;
  8.  
  9. HRESULT CD3DManager::Initialize()
  10. {
  11.     /*
  12.     initialize Resources such as textures
  13.     (managed and unmanaged [D3DPOOL]),
  14.     vertex buffers, and other D3D rendering resources
  15.     ...
  16.     m_pD3Ddev->CreateTexture(..., ..., &m_pD3Dtexture);
  17.     */
  18.  
  19.     //create our font
  20.     hacks.CreateFont(m_pD3Ddev, "Moire");
  21.  
  22.     return S_OK;
  23. }
  24.  
  25. HRESULT CD3DManager::PreReset()
  26. {
  27.     /*
  28.     release all UNMANAGED [D3DPOOL_DEFAULT]
  29.     textures, vertex buffers, and other
  30.     volitile resources
  31.     ...
  32.     _SAFE_RELEASE(m_pD3Dtexture);
  33.     */
  34.     return S_OK;
  35. }
  36.  
  37. HRESULT CD3DManager::PostReset()
  38. {
  39.     /*
  40.     re-initialize all UNMANAGED [D3DPOOL_DEFAULT]
  41.     textures, vertex buffers, and other volitile
  42.     resources
  43.     ...
  44.     m_pD3Ddev->CreateTexture(..., ..., &m_pD3Dtexture);
  45.     */
  46.     return S_OK;
  47. }
  48.  
  49. HRESULT CD3DManager::Release()
  50. {
  51.     /*
  52.     Release all textures, vertex buffers, and
  53.     other resources
  54.     ...
  55.     _SAFE_RELEASE(m_pD3Dtexture);
  56.     */
  57.     return S_OK;
  58. }
  59.  
  60. //-----------------------------------------------------------------------------
  61.  
  62. HRESULT APIENTRY hkIDirect3DDevice9::QueryInterface(REFIID riid, LPVOID *ppvObj)
  63. {
  64.     return m_pD3Ddev->QueryInterface(riid, ppvObj);
  65. }
  66.  
  67. ULONG APIENTRY hkIDirect3DDevice9::AddRef()
  68. {
  69.     m_refCount++;
  70.     return m_pD3Ddev->AddRef();
  71. }
  72.  
  73. HRESULT APIENTRY hkIDirect3DDevice9::BeginScene()
  74. {
  75.     static bool RunOnce = true;
  76.     if (RunOnce)
  77.     {
  78.         RunOnce = false;
  79.         hacks.InitializeMenuItems();
  80.     }
  81.  
  82.     return m_pD3Ddev->BeginScene();
  83. }
  84.  
  85. HRESULT APIENTRY hkIDirect3DDevice9::BeginStateBlock()
  86. {
  87.     return m_pD3Ddev->BeginStateBlock();
  88. }
  89.  
  90. HRESULT APIENTRY hkIDirect3DDevice9::Clear(DWORD Count, CONST D3DRECT *pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil)
  91. {
  92.     return m_pD3Ddev->Clear(Count, pRects, Flags, Color, Z, Stencil);
  93. }
  94.  
  95. HRESULT APIENTRY hkIDirect3DDevice9::ColorFill(IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color)
  96. {
  97.     return m_pD3Ddev->ColorFill(pSurface, pRect, color);
  98. }
  99.  
  100. HRESULT APIENTRY hkIDirect3DDevice9::CreateAdditionalSwapChain(D3DPRESENT_PARAMETERS *pPresentationParameters, IDirect3DSwapChain9 **ppSwapChain)
  101. {
  102.     return m_pD3Ddev->CreateAdditionalSwapChain(pPresentationParameters, ppSwapChain);
  103. }
  104.  
  105. HRESULT APIENTRY hkIDirect3DDevice9::CreateCubeTexture(UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle)
  106. {
  107.     return m_pD3Ddev->CreateCubeTexture(EdgeLength, Levels, Usage, Format, Pool, ppCubeTexture, pSharedHandle);
  108. }
  109.  
  110. HRESULT APIENTRY hkIDirect3DDevice9::CreateDepthStencilSurface(UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle)
  111. {
  112.     return m_pD3Ddev->CreateDepthStencilSurface(Width, Height, Format, MultiSample, MultisampleQuality, Discard, ppSurface, pSharedHandle);
  113. }
  114.  
  115. HRESULT APIENTRY hkIDirect3DDevice9::CreateIndexBuffer(UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle)
  116. {
  117.     return m_pD3Ddev->CreateIndexBuffer(Length, Usage, Format, Pool, ppIndexBuffer, pSharedHandle);
  118. }
  119.  
  120. HRESULT APIENTRY hkIDirect3DDevice9::CreateOffscreenPlainSurface(UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle)
  121. {
  122.     return m_pD3Ddev->CreateOffscreenPlainSurface(Width, Height, Format, Pool, ppSurface, pSharedHandle);
  123. }
  124.  
  125. HRESULT APIENTRY hkIDirect3DDevice9::CreatePixelShader(CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader)
  126. {
  127.     return m_pD3Ddev->CreatePixelShader(pFunction, ppShader);
  128. }
  129.  
  130. HRESULT APIENTRY hkIDirect3DDevice9::CreateQuery(D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery)
  131. {
  132.     return m_pD3Ddev->CreateQuery(Type, ppQuery);
  133. }
  134.  
  135. HRESULT APIENTRY hkIDirect3DDevice9::CreateRenderTarget(UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle)
  136. {
  137.     return m_pD3Ddev->CreateRenderTarget(Width, Height, Format, MultiSample, MultisampleQuality, Lockable, ppSurface, pSharedHandle);
  138. }
  139.  
  140. HRESULT APIENTRY hkIDirect3DDevice9::CreateStateBlock(D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB)
  141. {
  142.     return m_pD3Ddev->CreateStateBlock(Type, ppSB);
  143. }
  144.  
  145. HRESULT APIENTRY hkIDirect3DDevice9::CreateTexture(UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle)
  146. {
  147.     HRESULT ret = m_pD3Ddev->CreateTexture(Width, Height, Levels, Usage, Format, Pool, ppTexture, pSharedHandle);
  148.  
  149. #ifdef D3DHOOK_TEXTURES
  150.     if (ret == D3D_OK) { new hkIDirect3DTexture9(ppTexture, this, Width, Height, Format); }
  151. #endif
  152.  
  153.     return ret;
  154. }
  155.  
  156. HRESULT APIENTRY hkIDirect3DDevice9::CreateVertexBuffer(UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle)
  157. {
  158.     return m_pD3Ddev->CreateVertexBuffer(Length, Usage, FVF, Pool, ppVertexBuffer, pSharedHandle);
  159. }
  160.  
  161. HRESULT APIENTRY hkIDirect3DDevice9::CreateVertexDeclaration(CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl)
  162. {
  163.     return m_pD3Ddev->CreateVertexDeclaration(pVertexElements, ppDecl);
  164. }
  165.  
  166. HRESULT APIENTRY hkIDirect3DDevice9::CreateVertexShader(CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader)
  167. {
  168.     return m_pD3Ddev->CreateVertexShader(pFunction, ppShader);
  169. }
  170.  
  171. HRESULT APIENTRY hkIDirect3DDevice9::CreateVolumeTexture(UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle)
  172. {
  173.     return m_pD3Ddev->CreateVolumeTexture(Width, Height, Depth, Levels, Usage, Format, Pool, ppVolumeTexture, pSharedHandle);
  174. }
  175.  
  176. HRESULT APIENTRY hkIDirect3DDevice9::DeletePatch(UINT Handle)
  177. {
  178.     return m_pD3Ddev->DeletePatch(Handle);
  179. }
  180.  
  181. HRESULT APIENTRY hkIDirect3DDevice9::DrawIndexedPrimitive(D3DPRIMITIVETYPE device, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount)
  182. {
  183.     HRESULT hRet = m_pD3Ddev->DrawIndexedPrimitive(device, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
  184.     return hRet;
  185. }
  186.  
  187. HRESULT APIENTRY hkIDirect3DDevice9::DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType, UINT MinIndex, UINT NumVertices, UINT PrimitiveCount, CONST void *pIndexData, D3DFORMAT IndexDataFormat, CONST void *pVertexStreamZeroData, UINT VertexStreamZeroStride)
  188. {
  189.     return m_pD3Ddev->DrawIndexedPrimitiveUP(PrimitiveType, MinIndex, NumVertices, PrimitiveCount, pIndexData, IndexDataFormat, pVertexStreamZeroData, VertexStreamZeroStride);
  190. }
  191.  
  192. HRESULT APIENTRY hkIDirect3DDevice9::DrawPrimitive(D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount)
  193. {
  194.     return m_pD3Ddev->DrawPrimitive(PrimitiveType, StartVertex, PrimitiveCount);
  195. }
  196.  
  197. HRESULT APIENTRY hkIDirect3DDevice9::DrawPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void *pVertexStreamZeroData, UINT VertexStreamZeroStride)
  198. {
  199.     return m_pD3Ddev->DrawPrimitiveUP(PrimitiveType, PrimitiveCount, pVertexStreamZeroData, VertexStreamZeroStride);
  200. }
  201.  
  202. HRESULT APIENTRY hkIDirect3DDevice9::DrawRectPatch(UINT Handle, CONST float *pNumSegs, CONST D3DRECTPATCH_INFO *pRectPatchInfo)
  203. {
  204.     return m_pD3Ddev->DrawRectPatch(Handle, pNumSegs, pRectPatchInfo);
  205. }
  206.  
  207. HRESULT APIENTRY hkIDirect3DDevice9::DrawTriPatch(UINT Handle, CONST float *pNumSegs, CONST D3DTRIPATCH_INFO *pTriPatchInfo)
  208. {
  209.     return m_pD3Ddev->DrawTriPatch(Handle, pNumSegs, pTriPatchInfo);
  210. }
  211.  
  212. HRESULT APIENTRY hkIDirect3DDevice9::EndScene()
  213. {
  214.     //Move our menu through keyboard import
  215.     hacks.KeyboardInput();
  216.     //Draws our menu with a ton of different colours
  217.     hacks.DrawMenu(m_pD3Ddev);
  218.     return m_pD3Ddev->EndScene();
  219. }
  220.  
  221. HRESULT APIENTRY hkIDirect3DDevice9::EndStateBlock(IDirect3DStateBlock9** ppSB)
  222. {
  223.     return m_pD3Ddev->EndStateBlock(ppSB);
  224. }
  225.  
  226. HRESULT APIENTRY hkIDirect3DDevice9::EvictManagedResources()
  227. {
  228.     return m_pD3Ddev->EvictManagedResources();
  229. }
  230.  
  231. UINT APIENTRY hkIDirect3DDevice9::GetAvailableTextureMem()
  232. {
  233.     return m_pD3Ddev->GetAvailableTextureMem();
  234. }
  235.  
  236. HRESULT APIENTRY hkIDirect3DDevice9::GetBackBuffer(UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer)
  237. {
  238.     return m_pD3Ddev->GetBackBuffer(iSwapChain, iBackBuffer, Type, ppBackBuffer);
  239. }
  240.  
  241. HRESULT APIENTRY hkIDirect3DDevice9::GetClipPlane(DWORD Index, float *pPlane)
  242. {
  243.     return m_pD3Ddev->GetClipPlane(Index, pPlane);
  244. }
  245.  
  246. HRESULT APIENTRY hkIDirect3DDevice9::GetClipStatus(D3DCLIPSTATUS9 *pClipStatus)
  247. {
  248.     return m_pD3Ddev->GetClipStatus(pClipStatus);
  249. }
  250.  
  251. HRESULT APIENTRY hkIDirect3DDevice9::GetCreationParameters(D3DDEVICE_CREATION_PARAMETERS *pParameters)
  252. {
  253.     return m_pD3Ddev->GetCreationParameters(pParameters);
  254. }
  255.  
  256. HRESULT APIENTRY hkIDirect3DDevice9::GetCurrentTexturePalette(UINT *pPaletteNumber)
  257. {
  258.     return m_pD3Ddev->GetCurrentTexturePalette(pPaletteNumber);
  259. }
  260.  
  261. HRESULT APIENTRY hkIDirect3DDevice9::GetDepthStencilSurface(IDirect3DSurface9 **ppZStencilSurface)
  262. {
  263.     return m_pD3Ddev->GetDepthStencilSurface(ppZStencilSurface);
  264. }
  265.  
  266. HRESULT APIENTRY hkIDirect3DDevice9::GetDeviceCaps(D3DCAPS9 *pCaps)
  267. {
  268.     return m_pD3Ddev->GetDeviceCaps(pCaps);
  269. }
  270.  
  271. HRESULT APIENTRY hkIDirect3DDevice9::GetDirect3D(IDirect3D9 **ppD3D9)
  272. {
  273.     HRESULT hRet = m_pD3Ddev->GetDirect3D(ppD3D9);
  274.     if (SUCCEEDED(hRet))
  275.         *ppD3D9 = m_pD3Dint;
  276.     return hRet;
  277. }
  278.  
  279. HRESULT APIENTRY hkIDirect3DDevice9::GetDisplayMode(UINT iSwapChain, D3DDISPLAYMODE* pMode)
  280. {
  281.     return m_pD3Ddev->GetDisplayMode(iSwapChain, pMode);
  282. }
  283.  
  284. HRESULT APIENTRY hkIDirect3DDevice9::GetFrontBufferData(UINT iSwapChain, IDirect3DSurface9* pDestSurface)
  285. {
  286.     return m_pD3Ddev->GetFrontBufferData(iSwapChain, pDestSurface);
  287. }
  288.  
  289. HRESULT APIENTRY hkIDirect3DDevice9::GetFVF(DWORD* pFVF)
  290. {
  291.     return m_pD3Ddev->GetFVF(pFVF);
  292. }
  293.  
  294. void APIENTRY hkIDirect3DDevice9::GetGammaRamp(UINT iSwapChain, D3DGAMMARAMP* pRamp)
  295. {
  296.     m_pD3Ddev->GetGammaRamp(iSwapChain, pRamp);
  297. }
  298.  
  299. HRESULT APIENTRY hkIDirect3DDevice9::GetIndices(IDirect3DIndexBuffer9** ppIndexData)
  300. {
  301.     return m_pD3Ddev->GetIndices(ppIndexData);
  302. }
  303.  
  304. HRESULT APIENTRY hkIDirect3DDevice9::GetLight(DWORD Index, D3DLIGHT9 *pLight)
  305. {
  306.     return m_pD3Ddev->GetLight(Index, pLight);
  307. }
  308.  
  309. HRESULT APIENTRY hkIDirect3DDevice9::GetLightEnable(DWORD Index, BOOL *pEnable)
  310. {
  311.     return m_pD3Ddev->GetLightEnable(Index, pEnable);
  312. }
  313.  
  314. HRESULT APIENTRY hkIDirect3DDevice9::GetMaterial(D3DMATERIAL9 *pMaterial)
  315. {
  316.     return m_pD3Ddev->GetMaterial(pMaterial);
  317. }
  318.  
  319. float APIENTRY hkIDirect3DDevice9::GetNPatchMode()
  320. {
  321.     return m_pD3Ddev->GetNPatchMode();
  322. }
  323.  
  324. unsigned int APIENTRY hkIDirect3DDevice9::GetNumberOfSwapChains()
  325. {
  326.     return m_pD3Ddev->GetNumberOfSwapChains();
  327. }
  328.  
  329. HRESULT APIENTRY hkIDirect3DDevice9::GetPaletteEntries(UINT PaletteNumber, PALETTEENTRY *pEntries)
  330. {
  331.     return m_pD3Ddev->GetPaletteEntries(PaletteNumber, pEntries);
  332. }
  333.  
  334. HRESULT APIENTRY hkIDirect3DDevice9::GetPixelShader(IDirect3DPixelShader9** ppShader)
  335. {
  336.     return m_pD3Ddev->GetPixelShader(ppShader);
  337. }
  338.  
  339. HRESULT APIENTRY hkIDirect3DDevice9::GetPixelShaderConstantB(UINT StartRegister, BOOL* pConstantData, UINT BoolCount)
  340. {
  341.     return m_pD3Ddev->GetPixelShaderConstantB(StartRegister, pConstantData, BoolCount);
  342. }
  343.  
  344. HRESULT APIENTRY hkIDirect3DDevice9::GetPixelShaderConstantF(UINT StartRegister, float* pConstantData, UINT Vector4fCount)
  345. {
  346.     return m_pD3Ddev->GetPixelShaderConstantF(StartRegister, pConstantData, Vector4fCount);
  347. }
  348.  
  349. HRESULT APIENTRY hkIDirect3DDevice9::GetPixelShaderConstantI(UINT StartRegister, int* pConstantData, UINT Vector4iCount)
  350. {
  351.     return m_pD3Ddev->GetPixelShaderConstantI(StartRegister, pConstantData, Vector4iCount);
  352. }
  353.  
  354. HRESULT APIENTRY hkIDirect3DDevice9::GetRasterStatus(UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus)
  355. {
  356.     return m_pD3Ddev->GetRasterStatus(iSwapChain, pRasterStatus);
  357. }
  358.  
  359. HRESULT APIENTRY hkIDirect3DDevice9::GetRenderState(D3DRENDERSTATETYPE State, DWORD *pValue)
  360. {
  361.     return m_pD3Ddev->GetRenderState(State, pValue);
  362. }
  363.  
  364. HRESULT APIENTRY hkIDirect3DDevice9::GetRenderTarget(DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget)
  365. {
  366.     return m_pD3Ddev->GetRenderTarget(RenderTargetIndex, ppRenderTarget);
  367. }
  368.  
  369. HRESULT APIENTRY hkIDirect3DDevice9::GetRenderTargetData(IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface)
  370. {
  371.     return m_pD3Ddev->GetRenderTargetData(pRenderTarget, pDestSurface);
  372. }
  373.  
  374. HRESULT APIENTRY hkIDirect3DDevice9::GetSamplerState(DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue)
  375. {
  376.     return m_pD3Ddev->GetSamplerState(Sampler, Type, pValue);
  377. }
  378.  
  379. HRESULT APIENTRY hkIDirect3DDevice9::GetScissorRect(RECT* pRect)
  380. {
  381.     return m_pD3Ddev->GetScissorRect(pRect);
  382. }
  383.  
  384. BOOL APIENTRY hkIDirect3DDevice9::GetSoftwareVertexProcessing()
  385. {
  386.     return m_pD3Ddev->GetSoftwareVertexProcessing();
  387. }
  388.  
  389. HRESULT APIENTRY hkIDirect3DDevice9::GetStreamSource(UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride)
  390. {
  391.     return m_pD3Ddev->GetStreamSource(StreamNumber, ppStreamData, OffsetInBytes, pStride);
  392. }
  393.  
  394. HRESULT APIENTRY hkIDirect3DDevice9::GetStreamSourceFreq(UINT StreamNumber, UINT* Divider)
  395. {
  396.     return m_pD3Ddev->GetStreamSourceFreq(StreamNumber, Divider);
  397. }
  398.  
  399. HRESULT APIENTRY hkIDirect3DDevice9::GetSwapChain(UINT iSwapChain, IDirect3DSwapChain9** pSwapChain)
  400. {
  401.     return m_pD3Ddev->GetSwapChain(iSwapChain, pSwapChain);
  402. }
  403.  
  404. HRESULT APIENTRY hkIDirect3DDevice9::GetTexture(DWORD Stage, IDirect3DBaseTexture9 **ppTexture)
  405. {
  406.     return m_pD3Ddev->GetTexture(Stage, ppTexture);
  407. }
  408.  
  409. HRESULT APIENTRY hkIDirect3DDevice9::GetTextureStageState(DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD *pValue)
  410. {
  411.     return m_pD3Ddev->GetTextureStageState(Stage, Type, pValue);
  412. }
  413.  
  414. HRESULT APIENTRY hkIDirect3DDevice9::GetTransform(D3DTRANSFORMSTATETYPE State, D3DMATRIX *pMatrix)
  415. {
  416.     return m_pD3Ddev->GetTransform(State, pMatrix);
  417. }
  418.  
  419. HRESULT APIENTRY hkIDirect3DDevice9::GetVertexDeclaration(IDirect3DVertexDeclaration9** ppDecl)
  420. {
  421.     return m_pD3Ddev->GetVertexDeclaration(ppDecl);
  422. }
  423.  
  424. HRESULT APIENTRY hkIDirect3DDevice9::GetVertexShader(IDirect3DVertexShader9** ppShader)
  425. {
  426.     return m_pD3Ddev->GetVertexShader(ppShader);
  427. }
  428.  
  429. HRESULT APIENTRY hkIDirect3DDevice9::GetVertexShaderConstantB(UINT StartRegister, BOOL* pConstantData, UINT BoolCount)
  430. {
  431.     return m_pD3Ddev->GetVertexShaderConstantB(StartRegister, pConstantData, BoolCount);
  432. }
  433.  
  434. HRESULT APIENTRY hkIDirect3DDevice9::GetVertexShaderConstantF(UINT StartRegister, float* pConstantData, UINT Vector4fCount)
  435. {
  436.     return m_pD3Ddev->GetVertexShaderConstantF(StartRegister, pConstantData, Vector4fCount);
  437. }
  438.  
  439. HRESULT APIENTRY hkIDirect3DDevice9::GetVertexShaderConstantI(UINT StartRegister, int* pConstantData, UINT Vector4iCount)
  440. {
  441.     return m_pD3Ddev->GetVertexShaderConstantI(StartRegister, pConstantData, Vector4iCount);
  442. }
  443.  
  444. HRESULT APIENTRY hkIDirect3DDevice9::GetViewport(D3DVIEWPORT9 *pViewport)
  445. {
  446.     return m_pD3Ddev->GetViewport(pViewport);
  447. }
  448.  
  449. HRESULT APIENTRY hkIDirect3DDevice9::LightEnable(DWORD LightIndex, BOOL bEnable)
  450. {
  451.     return m_pD3Ddev->LightEnable(LightIndex, bEnable);
  452. }
  453.  
  454. HRESULT APIENTRY hkIDirect3DDevice9::MultiplyTransform(D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX *pMatrix)
  455. {
  456.     return m_pD3Ddev->MultiplyTransform(State, pMatrix);
  457. }
  458.  
  459. HRESULT APIENTRY hkIDirect3DDevice9::Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
  460. {
  461.     return m_pD3Ddev->Present(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
  462. }
  463.  
  464. HRESULT APIENTRY hkIDirect3DDevice9::ProcessVertices(UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags)
  465. {
  466.     return m_pD3Ddev->ProcessVertices(SrcStartIndex, DestIndex, VertexCount, pDestBuffer, pVertexDecl, Flags);
  467. }
  468.  
  469. ULONG APIENTRY hkIDirect3DDevice9::Release()
  470. {
  471.     if (--m_refCount == 0)
  472.         m_pManager->Release();
  473.  
  474.     return m_pD3Ddev->Release();
  475. }
  476.  
  477. HRESULT APIENTRY hkIDirect3DDevice9::Reset(D3DPRESENT_PARAMETERS *pPresentationParameters)
  478. {
  479.     m_pManager->PreReset();
  480.  
  481.     HRESULT hRet = m_pD3Ddev->Reset(pPresentationParameters);
  482.  
  483.     if (SUCCEEDED(hRet))
  484.     {
  485.         m_PresentParam = *pPresentationParameters;
  486.         m_pManager->PostReset();
  487.     }
  488.  
  489.     return hRet;
  490. }
  491.  
  492. HRESULT APIENTRY hkIDirect3DDevice9::SetClipPlane(DWORD Index, CONST float *pPlane)
  493. {
  494.     return m_pD3Ddev->SetClipPlane(Index, pPlane);
  495. }
  496.  
  497. HRESULT APIENTRY hkIDirect3DDevice9::SetClipStatus(CONST D3DCLIPSTATUS9 *pClipStatus)
  498. {
  499.     return m_pD3Ddev->SetClipStatus(pClipStatus);
  500. }
  501.  
  502. HRESULT APIENTRY hkIDirect3DDevice9::SetCurrentTexturePalette(UINT PaletteNumber)
  503. {
  504.     return m_pD3Ddev->SetCurrentTexturePalette(PaletteNumber);
  505. }
  506.  
  507. void APIENTRY hkIDirect3DDevice9::SetCursorPosition(int X, int Y, DWORD Flags)
  508. {
  509.     m_pD3Ddev->SetCursorPosition(X, Y, Flags);
  510. }
  511.  
  512. HRESULT APIENTRY hkIDirect3DDevice9::SetCursorProperties(UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9 *pCursorBitmap)
  513. {
  514.     return m_pD3Ddev->SetCursorProperties(XHotSpot, YHotSpot, pCursorBitmap);
  515. }
  516.  
  517. HRESULT APIENTRY hkIDirect3DDevice9::SetDepthStencilSurface(IDirect3DSurface9* pNewZStencil)
  518. {
  519.     return m_pD3Ddev->SetDepthStencilSurface(pNewZStencil);
  520. }
  521.  
  522. HRESULT APIENTRY hkIDirect3DDevice9::SetDialogBoxMode(BOOL bEnableDialogs)
  523. {
  524.     return m_pD3Ddev->SetDialogBoxMode(bEnableDialogs);
  525. }
  526.  
  527. HRESULT APIENTRY hkIDirect3DDevice9::SetFVF(DWORD FVF)
  528. {
  529.     return m_pD3Ddev->SetFVF(FVF);
  530. }
  531.  
  532. void APIENTRY hkIDirect3DDevice9::SetGammaRamp(UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp)
  533. {
  534.     m_pD3Ddev->SetGammaRamp(iSwapChain, Flags, pRamp);
  535. }
  536.  
  537. HRESULT APIENTRY hkIDirect3DDevice9::SetIndices(IDirect3DIndexBuffer9* pIndexData)
  538. {
  539.     return m_pD3Ddev->SetIndices(pIndexData);
  540. }
  541.  
  542. HRESULT APIENTRY hkIDirect3DDevice9::SetLight(DWORD Index, CONST D3DLIGHT9 *pLight)
  543. {
  544.     return m_pD3Ddev->SetLight(Index, pLight);
  545. }
  546.  
  547. HRESULT APIENTRY hkIDirect3DDevice9::SetMaterial(CONST D3DMATERIAL9 *pMaterial)
  548. {
  549.     return m_pD3Ddev->SetMaterial(pMaterial);
  550. }
  551.  
  552. HRESULT APIENTRY hkIDirect3DDevice9::SetNPatchMode(float nSegments)
  553. {
  554.     return m_pD3Ddev->SetNPatchMode(nSegments);
  555. }
  556.  
  557. HRESULT APIENTRY hkIDirect3DDevice9::SetPaletteEntries(UINT PaletteNumber, CONST PALETTEENTRY *pEntries)
  558. {
  559.     return m_pD3Ddev->SetPaletteEntries(PaletteNumber, pEntries);
  560. }
  561.  
  562. HRESULT APIENTRY hkIDirect3DDevice9::SetPixelShader(IDirect3DPixelShader9* pShader)
  563. {
  564.     return m_pD3Ddev->SetPixelShader(pShader);
  565. }
  566.  
  567. HRESULT APIENTRY hkIDirect3DDevice9::SetPixelShaderConstantB(UINT StartRegister, CONST BOOL* pConstantData, UINT  BoolCount)
  568. {
  569.     return m_pD3Ddev->SetPixelShaderConstantB(StartRegister, pConstantData, BoolCount);
  570. }
  571.  
  572. HRESULT APIENTRY hkIDirect3DDevice9::SetPixelShaderConstantF(UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount)
  573. {
  574.     return m_pD3Ddev->SetPixelShaderConstantF(StartRegister, pConstantData, Vector4fCount);
  575. }
  576.  
  577. HRESULT APIENTRY hkIDirect3DDevice9::SetPixelShaderConstantI(UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount)
  578. {
  579.     return m_pD3Ddev->SetPixelShaderConstantI(StartRegister, pConstantData, Vector4iCount);
  580. }
  581.  
  582. HRESULT APIENTRY hkIDirect3DDevice9::SetRenderState(D3DRENDERSTATETYPE State, DWORD Value)
  583. {
  584.     return m_pD3Ddev->SetRenderState(State, Value);
  585. }
  586.  
  587. HRESULT APIENTRY hkIDirect3DDevice9::SetRenderTarget(DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget)
  588. {
  589.     return m_pD3Ddev->SetRenderTarget(RenderTargetIndex, pRenderTarget);
  590. }
  591.  
  592. HRESULT APIENTRY hkIDirect3DDevice9::SetSamplerState(DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value)
  593. {
  594.     return m_pD3Ddev->SetSamplerState(Sampler, Type, Value);
  595. }
  596.  
  597. HRESULT APIENTRY hkIDirect3DDevice9::SetScissorRect(CONST RECT* pRect)
  598. {
  599.     return m_pD3Ddev->SetScissorRect(pRect);
  600. }
  601.  
  602. HRESULT APIENTRY hkIDirect3DDevice9::SetSoftwareVertexProcessing(BOOL bSoftware)
  603. {
  604.     return m_pD3Ddev->SetSoftwareVertexProcessing(bSoftware);
  605. }
  606.  
  607. HRESULT APIENTRY hkIDirect3DDevice9::SetStreamSource(UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride)
  608. {
  609.     return m_pD3Ddev->SetStreamSource(StreamNumber, pStreamData, OffsetInBytes, Stride);
  610. }
  611.  
  612. HRESULT APIENTRY hkIDirect3DDevice9::SetStreamSourceFreq(UINT StreamNumber, UINT Divider)
  613. {
  614.     return m_pD3Ddev->SetStreamSourceFreq(StreamNumber, Divider);
  615. }
  616.  
  617. HRESULT APIENTRY hkIDirect3DDevice9::SetTexture(DWORD Stage, IDirect3DBaseTexture9 *pTexture)
  618. {
  619. #ifdef D3DHOOK_TEXTURES
  620.     IDirect3DDevice9 *dev = NULL;
  621.     if (pTexture != NULL && ((hkIDirect3DTexture9*)(pTexture))->GetDevice(&dev) == D3D_OK)
  622.     {
  623.         if (dev == this)
  624.             return m_pD3Ddev->SetTexture(Stage, ((hkIDirect3DTexture9*)(pTexture))->m_D3Dtex);
  625.     }
  626. #endif
  627.  
  628.     return m_pD3Ddev->SetTexture(Stage, pTexture);
  629. }
  630.  
  631. HRESULT APIENTRY hkIDirect3DDevice9::SetTextureStageState(DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value)
  632. {
  633.     return m_pD3Ddev->SetTextureStageState(Stage, Type, Value);
  634. }
  635.  
  636. HRESULT APIENTRY hkIDirect3DDevice9::SetTransform(D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX *pMatrix)
  637. {
  638.     return m_pD3Ddev->SetTransform(State, pMatrix);
  639. }
  640.  
  641. HRESULT APIENTRY hkIDirect3DDevice9::SetVertexDeclaration(IDirect3DVertexDeclaration9* pDecl)
  642. {
  643.     return m_pD3Ddev->SetVertexDeclaration(pDecl);
  644. }
  645.  
  646. HRESULT APIENTRY hkIDirect3DDevice9::SetVertexShader(IDirect3DVertexShader9* pShader)
  647. {
  648.     return m_pD3Ddev->SetVertexShader(pShader);
  649. }
  650.  
  651. HRESULT APIENTRY hkIDirect3DDevice9::SetVertexShaderConstantB(UINT StartRegister, CONST BOOL* pConstantData, UINT  BoolCount)
  652. {
  653.     return m_pD3Ddev->SetVertexShaderConstantB(StartRegister, pConstantData, BoolCount);
  654. }
  655.  
  656. HRESULT APIENTRY hkIDirect3DDevice9::SetVertexShaderConstantF(UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount)
  657. {
  658.     return m_pD3Ddev->SetVertexShaderConstantF(StartRegister, pConstantData, Vector4fCount);
  659. }
  660.  
  661. HRESULT APIENTRY hkIDirect3DDevice9::SetVertexShaderConstantI(UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount)
  662. {
  663.     return m_pD3Ddev->SetVertexShaderConstantI(StartRegister, pConstantData, Vector4iCount);
  664. }
  665.  
  666. HRESULT APIENTRY hkIDirect3DDevice9::SetViewport(CONST D3DVIEWPORT9 *pViewport)
  667. {
  668.     return m_pD3Ddev->SetViewport(pViewport);
  669. }
  670.  
  671. BOOL APIENTRY hkIDirect3DDevice9::ShowCursor(BOOL bShow)
  672. {
  673.     return m_pD3Ddev->ShowCursor(bShow);
  674. }
  675.  
  676. HRESULT APIENTRY hkIDirect3DDevice9::StretchRect(IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter)
  677. {
  678.     return m_pD3Ddev->StretchRect(pSourceSurface, pSourceRect, pDestSurface, pDestRect, Filter);
  679. }
  680.  
  681. HRESULT APIENTRY hkIDirect3DDevice9::TestCooperativeLevel()
  682. {
  683.     return m_pD3Ddev->TestCooperativeLevel();
  684. }
  685.  
  686. HRESULT APIENTRY hkIDirect3DDevice9::UpdateSurface(IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint)
  687. {
  688.     return m_pD3Ddev->UpdateSurface(pSourceSurface, pSourceRect, pDestinationSurface, pDestPoint);
  689. }
  690.  
  691. HRESULT APIENTRY hkIDirect3DDevice9::UpdateTexture(IDirect3DBaseTexture9 *pSourceTexture, IDirect3DBaseTexture9 *pDestinationTexture)
  692. {
  693.     return m_pD3Ddev->UpdateTexture(pSourceTexture, pDestinationTexture);
  694. }
  695.  
  696. HRESULT APIENTRY hkIDirect3DDevice9::ValidateDevice(DWORD *pNumPasses)
  697. {
  698.     return m_pD3Ddev->ValidateDevice(pNumPasses);
  699. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement