Advertisement
Guest User

-IrJew-

a guest
Nov 1st, 2009
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.61 KB | None | 0 0
  1. #include <windows.h>
  2. #include "main.h"
  3. #include "d3d9.h"
  4. #include <fstream>
  5. #include <stdio.h>
  6. #include "d3dfont.h"
  7.  
  8. bool CH_Menu;
  9. bool CH_Chams;
  10. bool CH_Wire;
  11.  
  12. int highlight[3] = {1,0,0,0};
  13.  
  14. char chamsstring[20] = {NULL};
  15. char wirestring[20] = {NULL};
  16.  
  17.  
  18. CD3DFont* m_pFont_new = NULL;
  19. CD3DFont* m_pFont_INFO = NULL;
  20.  
  21. char Display_Line[256];
  22. const D3DCOLOR txtRed = D3DCOLOR_ARGB(255, 255,69,0);
  23.  
  24. #define D3DHOOK_TEXTURES
  25. HRESULT CD3DManager::Initialize()
  26. {
  27.  
  28. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID)&bRed, 60, &texRed);
  29. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID)&bBlue, 60, &texBlue);
  30. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID)&bGreen, 60, &texGreen);
  31. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID)&bYellow, 60, &texYellow);
  32. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID)&bPink, 60, &texPink);
  33. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID)&bTur, 60, &texTur);
  34. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID)&bOrange, 60, &texOrange);
  35. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID )&bWhite, 60, &texWhite);
  36. D3DXCreateTextureFromFileInMemory(m_pD3Ddev, (LPCVOID )&bGrenade, 60, &texGrenade);
  37.  
  38.  
  39. m_pFont_new = new CD3DFont("Arial", 13, D3DFONT_BOLD);
  40. m_pFont_new->InitDeviceObjects(m_pD3Ddev);
  41. m_pFont_new->RestoreDeviceObjects();
  42. m_pFont_INFO = new CD3DFont("Arial", 8, D3DFONT_BOLD);
  43. m_pFont_INFO->InitDeviceObjects(m_pD3Ddev);
  44. m_pFont_INFO->RestoreDeviceObjects();
  45.  
  46. CH_Chams = true;
  47. phandle = NULL;
  48.  
  49. return S_OK;
  50. }
  51.  
  52. HRESULT CD3DManager::PreReset()
  53. {
  54.  
  55. m_pFont_new->InvalidateDeviceObjects();
  56. m_pFont_new->DeleteDeviceObjects();
  57. m_pFont_new = NULL;
  58. m_pFont_INFO->InvalidateDeviceObjects();
  59. m_pFont_INFO->DeleteDeviceObjects();
  60. m_pFont_INFO = NULL;
  61.  
  62. return S_OK;
  63. }
  64.  
  65. HRESULT CD3DManager::PostReset()
  66. {
  67.  
  68. m_pFont_new = new CD3DFont("Arial", 13, D3DFONT_BOLD);
  69. m_pFont_new->InitDeviceObjects(m_pD3Ddev);
  70. m_pFont_new->RestoreDeviceObjects();
  71. m_pFont_INFO = new CD3DFont("Arial", 8, D3DFONT_BOLD);
  72. m_pFont_INFO->InitDeviceObjects(m_pD3Ddev);
  73. m_pFont_INFO->RestoreDeviceObjects();
  74.  
  75. return S_OK;
  76. }
  77.  
  78. HRESULT CD3DManager::Release()
  79. {
  80.  
  81. m_pFont_new->InvalidateDeviceObjects();
  82. m_pFont_new->DeleteDeviceObjects();
  83. m_pFont_new = NULL;
  84. m_pFont_INFO->InvalidateDeviceObjects();
  85. m_pFont_INFO->DeleteDeviceObjects();
  86. m_pFont_INFO = NULL;
  87.  
  88. CloseHandle(phandle);
  89. phandle = NULL;
  90.  
  91. return S_OK;
  92. }
  93.  
  94.  
  95. HRESULT APIENTRY hkIDirect3DDevice8::QueryInterface(REFIID riid, void** ppvObj)
  96. {
  97. return m_pD3Ddev->QueryInterface(riid, ppvObj);
  98. }
  99.  
  100. ULONG APIENTRY hkIDirect3DDevice8::AddRef(void)
  101. {
  102. m_refCount++;
  103. return m_pD3Ddev->AddRef();
  104. }
  105.  
  106. ULONG APIENTRY hkIDirect3DDevice8::Release(void)
  107. {
  108. if( --m_refCount == 0 )
  109. m_pManager->Release();
  110.  
  111. return m_pD3Ddev->Release();
  112. }
  113.  
  114. HRESULT APIENTRY hkIDirect3DDevice8::TestCooperativeLevel(void)
  115. {
  116. return m_pD3Ddev->TestCooperativeLevel();
  117. }
  118.  
  119. UINT APIENTRY hkIDirect3DDevice8::GetAvailableTextureMem(void)
  120. {
  121. return m_pD3Ddev->GetAvailableTextureMem();
  122. }
  123.  
  124. HRESULT APIENTRY hkIDirect3DDevice8::ResourceManagerDiscardBytes(DW ORD Bytes)
  125. {
  126. return m_pD3Ddev->ResourceManagerDiscardBytes(Bytes);
  127. }
  128.  
  129. HRESULT APIENTRY hkIDirect3DDevice8::GetDirect3D(IDirect3D8** ppD3D8)
  130. {
  131. HRESULT hRet = m_pD3Ddev->GetDirect3D(ppD3D8);
  132. if( SUCCEEDED(hRet) )
  133. *ppD3D8 = m_pD3Dint;
  134. return hRet;
  135. }
  136.  
  137. HRESULT APIENTRY hkIDirect3DDevice8::GetDeviceCaps(D3DCAPS8* pCaps)
  138. {
  139. return m_pD3Ddev->GetDeviceCaps(pCaps);
  140. }
  141.  
  142. HRESULT APIENTRY hkIDirect3DDevice8::GetDisplayMode(D3DDISPLAYMODE* pMode)
  143. {
  144. return m_pD3Ddev->GetDisplayMode(pMode);
  145. }
  146.  
  147. HRESULT APIENTRY hkIDirect3DDevice8::GetCreationParameters(D3DDEVIC E_CREATION_PARAMETERS *pParameters)
  148. {
  149. return m_pD3Ddev->GetCreationParameters(pParameters);
  150. }
  151.  
  152. HRESULT APIENTRY hkIDirect3DDevice8::SetCursorProperties(UINT XHotSpot,UINT YHotSpot,IDirect3DSurface8* pCursorBitmap)
  153. {
  154. return m_pD3Ddev->SetCursorProperties(XHotSpot, YHotSpot, pCursorBitmap);
  155. }
  156.  
  157. void APIENTRY hkIDirect3DDevice8::SetCursorPosition(int X,int Y,DWORD Flags)
  158. {
  159. m_pD3Ddev->SetCursorPosition(X, Y, Flags);
  160. }
  161.  
  162. BOOL APIENTRY hkIDirect3DDevice8::ShowCursor(BOOL bShow)
  163. {
  164. return m_pD3Ddev->ShowCursor(bShow);
  165. }
  166.  
  167. HRESULT APIENTRY hkIDirect3DDevice8::CreateAdditionalSwapChain(D3DP RESENT_PARAMETERS* pPresentationParameters,IDirect3DSwapChain8** pSwapChain)
  168. {
  169. return m_pD3Ddev->CreateAdditionalSwapChain(pPresentationParameters , pSwapChain);
  170. }
  171.  
  172. HRESULT APIENTRY hkIDirect3DDevice8::Reset(D3DPRESENT_PARAMETERS* pPresentationParameters)
  173. {
  174. m_pManager->PreReset();
  175.  
  176. HRESULT hRet = m_pD3Ddev->Reset(pPresentationParameters);
  177.  
  178. if( SUCCEEDED(hRet) )
  179. {
  180. m_PresentParam = *pPresentationParameters;
  181. m_pManager->PostReset();
  182. }
  183.  
  184. return hRet;
  185. }
  186.  
  187. HRESULT APIENTRY hkIDirect3DDevice8::Present(CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion)
  188. {
  189. return m_pD3Ddev->Present(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
  190. }
  191.  
  192. HRESULT APIENTRY hkIDirect3DDevice8::GetBackBuffer(UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8** ppBackBuffer)
  193. {
  194. return m_pD3Ddev->GetBackBuffer(BackBuffer, Type, ppBackBuffer);
  195. }
  196.  
  197. HRESULT APIENTRY hkIDirect3DDevice8::GetRasterStatus(D3DRASTER_STAT US* pRasterStatus)
  198. {
  199. return m_pD3Ddev->GetRasterStatus(pRasterStatus);
  200. }
  201.  
  202. void APIENTRY hkIDirect3DDevice8::SetGammaRamp(DWORD Flags,CONST D3DGAMMARAMP* pRamp)
  203. {
  204. m_pD3Ddev->SetGammaRamp(Flags, pRamp);
  205. }
  206.  
  207. void APIENTRY hkIDirect3DDevice8::GetGammaRamp(D3DGAMMARAMP* pRamp)
  208. {
  209. m_pD3Ddev->GetGammaRamp(pRamp);
  210. }
  211.  
  212. HRESULT APIENTRY hkIDirect3DDevice8::CreateTexture(UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8** ppTexture)
  213. {
  214. HRESULT hRet = m_pD3Ddev->CreateTexture(Width, Height, Levels, Usage, Format, Pool, ppTexture);
  215.  
  216. #ifdef D3DHOOK_TEXTURES
  217. if(hRet == D3D_OK) { *ppTexture = new hkIDirect3DTexture8(ppTexture, this, Width, Height, Format); }
  218. #endif
  219.  
  220. return hRet;
  221. }
  222.  
  223. HRESULT APIENTRY hkIDirect3DDevice8::CreateVolumeTexture(UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8** ppVolumeTexture)
  224. {
  225. return m_pD3Ddev->CreateVolumeTexture(Width, Height, Depth, Levels, Usage, Format, Pool, ppVolumeTexture);
  226. }
  227.  
  228. HRESULT APIENTRY hkIDirect3DDevice8::CreateCubeTexture(UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8** ppCubeTexture)
  229. {
  230. return m_pD3Ddev->CreateCubeTexture(EdgeLength, Levels, Usage, Format, Pool, ppCubeTexture);
  231. }
  232.  
  233. HRESULT APIENTRY hkIDirect3DDevice8::CreateVertexBuffer(UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8** ppVertexBuffer)
  234. {
  235. return m_pD3Ddev->CreateVertexBuffer(Length, Usage, FVF, Pool, ppVertexBuffer);
  236. }
  237.  
  238. HRESULT APIENTRY hkIDirect3DDevice8::CreateIndexBuffer(UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8** ppIndexBuffer)
  239. {
  240. return m_pD3Ddev->CreateIndexBuffer(Length, Usage, Format, Pool, ppIndexBuffer);
  241. }
  242.  
  243. HRESULT APIENTRY hkIDirect3DDevice8::CreateRenderTarget(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8** ppSurface)
  244. {
  245. return m_pD3Ddev->CreateRenderTarget(Width, Height, Format, MultiSample, Lockable, ppSurface);
  246. }
  247.  
  248. HRESULT APIENTRY hkIDirect3DDevice8::CreateDepthStencilSurface(UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8** ppSurface)
  249. {
  250. return m_pD3Ddev->CreateDepthStencilSurface(Width, Height, Format, MultiSample, ppSurface);
  251. }
  252.  
  253. HRESULT APIENTRY hkIDirect3DDevice8::CreateImageSurface(UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8** ppSurface)
  254. {
  255. return m_pD3Ddev->CreateImageSurface(Width, Height, Format, ppSurface);
  256. }
  257.  
  258. HRESULT APIENTRY hkIDirect3DDevice8::CopyRects(IDirect3DSurface8* pSourceSurface,CONST RECT* pSourceRectsArray,UINT cRects,IDirect3DSurface8* pDestinationSurface,CONST POINT* pDestPointsArray)
  259. {
  260. return m_pD3Ddev->CopyRects(pSourceSurface, pSourceRectsArray, cRects, pDestinationSurface, pDestPointsArray);
  261. }
  262.  
  263. HRESULT APIENTRY hkIDirect3DDevice8::UpdateTexture(IDirect3DBaseTex ture8* pSourceTexture,IDirect3DBaseTexture8* pDestinationTexture)
  264. {
  265. return m_pD3Ddev->UpdateTexture(pSourceTexture, pDestinationTexture);
  266. }
  267.  
  268. HRESULT APIENTRY hkIDirect3DDevice8::GetFrontBuffer(IDirect3DSurfac e8* pDestSurface)
  269. {
  270. return m_pD3Ddev->GetFrontBuffer(pDestSurface);
  271. }
  272.  
  273. HRESULT APIENTRY hkIDirect3DDevice8::SetRenderTarget(IDirect3DSurfa ce8* pRenderTarget,IDirect3DSurface8* pNewZStencil)
  274. {
  275. return m_pD3Ddev->SetRenderTarget(pRenderTarget, pNewZStencil);
  276. }
  277.  
  278. HRESULT APIENTRY hkIDirect3DDevice8::GetRenderTarget(IDirect3DSurfa ce8** ppRenderTarget)
  279. {
  280. return m_pD3Ddev->GetRenderTarget(ppRenderTarget);
  281. }
  282.  
  283. HRESULT APIENTRY hkIDirect3DDevice8::GetDepthStencilSurface(IDirect 3DSurface8** ppZStencilSurface)
  284. {
  285. return m_pD3Ddev->GetDepthStencilSurface(ppZStencilSurface);
  286. }
  287.  
  288. HRESULT APIENTRY hkIDirect3DDevice8::BeginScene(void)
  289. {
  290. return m_pD3Ddev->BeginScene();
  291. }
  292.  
  293. HRESULT APIENTRY hkIDirect3DDevice8::EndScene(void)
  294. {
  295. return m_pD3Ddev->EndScene();
  296. }
  297.  
  298. HRESULT APIENTRY hkIDirect3DDevice8::Clear(DWORD Count,CONST D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil)
  299. {
  300. return m_pD3Ddev->Clear(Count, pRects, Flags, Color, Z, Stencil);
  301. }
  302.  
  303. HRESULT APIENTRY hkIDirect3DDevice8::SetTransform(D3DTRANSFORMSTATE TYPE State,CONST D3DMATRIX* pMatrix)
  304. {
  305. return m_pD3Ddev->SetTransform(State, pMatrix);
  306. }
  307.  
  308. HRESULT APIENTRY hkIDirect3DDevice8::GetTransform(D3DTRANSFORMSTATE TYPE State,D3DMATRIX* pMatrix)
  309. {
  310. return m_pD3Ddev->GetTransform(State, pMatrix);
  311. }
  312.  
  313. HRESULT APIENTRY hkIDirect3DDevice8::MultiplyTransform( D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix)
  314. {
  315. return m_pD3Ddev->MultiplyTransform(State,pMatrix);
  316. }
  317.  
  318. HRESULT APIENTRY hkIDirect3DDevice8::SetViewport( CONST D3DVIEWPORT8* pViewport)
  319. {
  320. return m_pD3Ddev->SetViewport(pViewport);
  321. }
  322.  
  323. HRESULT APIENTRY hkIDirect3DDevice8::GetViewport( D3DVIEWPORT8* pViewport)
  324. {
  325. return m_pD3Ddev->GetViewport(pViewport);
  326. }
  327.  
  328. HRESULT APIENTRY hkIDirect3DDevice8::SetMaterial( CONST D3DMATERIAL8* pMaterial)
  329. {
  330. return m_pD3Ddev->SetMaterial(pMaterial);
  331. }
  332.  
  333. HRESULT APIENTRY hkIDirect3DDevice8::GetMaterial( D3DMATERIAL8* pMaterial)
  334. {
  335. return m_pD3Ddev->GetMaterial(pMaterial);
  336. }
  337.  
  338. HRESULT APIENTRY hkIDirect3DDevice8::SetLight( DWORD Index,CONST D3DLIGHT8* pLight)
  339. {
  340. return m_pD3Ddev->SetLight(Index,pLight);
  341. }
  342.  
  343. HRESULT APIENTRY hkIDirect3DDevice8::GetLight( DWORD Index,D3DLIGHT8* pLight)
  344. {
  345. return m_pD3Ddev->GetLight(Index,pLight);
  346. }
  347.  
  348. HRESULT APIENTRY hkIDirect3DDevice8::LightEnable( DWORD Index,BOOL Enable)
  349. {
  350. return m_pD3Ddev->LightEnable(Index,Enable);
  351. }
  352.  
  353. HRESULT APIENTRY hkIDirect3DDevice8::GetLightEnable( DWORD Index,BOOL* pEnable)
  354. {
  355. return m_pD3Ddev->GetLightEnable(Index,pEnable);
  356. }
  357.  
  358. HRESULT APIENTRY hkIDirect3DDevice8::SetClipPlane( DWORD Index,CONST float* pPlane)
  359. {
  360. return m_pD3Ddev->SetClipPlane(Index,pPlane);
  361. }
  362.  
  363. HRESULT APIENTRY hkIDirect3DDevice8::GetClipPlane( DWORD Index,float* pPlane)
  364. {
  365. return m_pD3Ddev->GetClipPlane(Index,pPlane);
  366. }
  367.  
  368. HRESULT APIENTRY hkIDirect3DDevice8::SetRenderState( D3DRENDERSTATETYPE State,DWORD Value)
  369. {
  370. return m_pD3Ddev->SetRenderState(State,Value);
  371. }
  372.  
  373. HRESULT APIENTRY hkIDirect3DDevice8::GetRenderState( D3DRENDERSTATETYPE State,DWORD* pValue)
  374. {
  375. return m_pD3Ddev->GetRenderState(State,pValue);
  376. }
  377.  
  378. HRESULT APIENTRY hkIDirect3DDevice8::BeginStateBlock(void)
  379. {
  380. return m_pD3Ddev->BeginStateBlock();
  381. }
  382.  
  383. HRESULT APIENTRY hkIDirect3DDevice8::EndStateBlock( DWORD* pToken)
  384. {
  385. return m_pD3Ddev->EndStateBlock(pToken);
  386. }
  387.  
  388. HRESULT APIENTRY hkIDirect3DDevice8::ApplyStateBlock( DWORD Token)
  389. {
  390. return m_pD3Ddev->ApplyStateBlock(Token);
  391. }
  392.  
  393. HRESULT APIENTRY hkIDirect3DDevice8::CaptureStateBlock( DWORD Token)
  394. {
  395. return m_pD3Ddev->CaptureStateBlock(Token);
  396. }
  397.  
  398. HRESULT APIENTRY hkIDirect3DDevice8:eleteStateBlock( DWORD Token)
  399. {
  400. return m_pD3Ddev->DeleteStateBlock(Token);
  401. }
  402.  
  403. HRESULT APIENTRY hkIDirect3DDevice8::CreateStateBlock( D3DSTATEBLOCKTYPE Type,DWORD* pToken)
  404. {
  405. return m_pD3Ddev->CreateStateBlock(Type,pToken);
  406. }
  407.  
  408. HRESULT APIENTRY hkIDirect3DDevice8::SetClipStatus( CONST D3DCLIPSTATUS8* pClipStatus)
  409. {
  410. return m_pD3Ddev->SetClipStatus(pClipStatus);
  411. }
  412.  
  413. HRESULT APIENTRY hkIDirect3DDevice8::GetClipStatus( D3DCLIPSTATUS8* pClipStatus)
  414. {
  415. return m_pD3Ddev->GetClipStatus(pClipStatus);
  416. }
  417.  
  418. HRESULT APIENTRY hkIDirect3DDevice8::GetTexture( DWORD Stage,IDirect3DBaseTexture8** ppTexture)
  419. {
  420. return m_pD3Ddev->GetTexture(Stage,ppTexture);
  421. }
  422.  
  423. HRESULT APIENTRY hkIDirect3DDevice8::SetTexture(DWORD Stage,IDirect3DBaseTexture8* pTexture)
  424. {
  425. #ifdef D3DHOOK_TEXTURES
  426. IDirect3DDevice8 *dev = NULL;
  427. if(pTexture != NULL && ((hkIDirect3DTexture8*)(pTexture))->GetDevice(&dev) == D3D_OK)
  428. {
  429. if(dev == this)
  430. return m_pD3Ddev->SetTexture(Stage, ((hkIDirect3DTexture8*)(pTexture))->m_D3Dtex);
  431. }
  432. #endif
  433.  
  434. return m_pD3Ddev->SetTexture(Stage,pTexture);
  435. }
  436.  
  437. HRESULT APIENTRY hkIDirect3DDevice8::GetTextureStageState( DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD* pValue)
  438. {
  439. return m_pD3Ddev->GetTextureStageState(Stage,Type,pValue);
  440. }
  441.  
  442. HRESULT APIENTRY hkIDirect3DDevice8::SetTextureStageState( DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value)
  443. {
  444. return m_pD3Ddev->SetTextureStageState(Stage,Type,Value);
  445. }
  446.  
  447. HRESULT APIENTRY hkIDirect3DDevice8::ValidateDevice( DWORD* pNumPasses)
  448. {
  449. return m_pD3Ddev->ValidateDevice(pNumPasses);
  450. }
  451.  
  452. HRESULT APIENTRY hkIDirect3DDevice8::GetInfo( DWORD DevInfoID,void* pDevInfoStruct,DWORD DevInfoStructSize)
  453. {
  454. return m_pD3Ddev->GetInfo(DevInfoID,pDevInfoStruct,DevInfoStructSiz e);
  455. }
  456.  
  457. HRESULT APIENTRY hkIDirect3DDevice8::SetPaletteEntries( UINT PaletteNumber,CONST PALETTEENTRY* pEntries)
  458. {
  459. return m_pD3Ddev->SetPaletteEntries(PaletteNumber,pEntries);
  460. }
  461.  
  462. HRESULT APIENTRY hkIDirect3DDevice8::GetPaletteEntries(UINT PaletteNumber,PALETTEENTRY* pEntries)
  463. {
  464. return m_pD3Ddev->GetPaletteEntries(PaletteNumber, pEntries);
  465. }
  466.  
  467. HRESULT APIENTRY hkIDirect3DDevice8::SetCurrentTexturePalette(UINT PaletteNumber)
  468. {
  469. return m_pD3Ddev->SetCurrentTexturePalette(PaletteNumber);
  470. }
  471.  
  472. HRESULT APIENTRY hkIDirect3DDevice8::GetCurrentTexturePalette(UINT *PaletteNumber)
  473. {
  474. return m_pD3Ddev->GetCurrentTexturePalette(PaletteNumber);
  475. }
  476.  
  477. HRESULT APIENTRY hkIDirect3DDevice8:rawPrimitive(D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount)
  478. {
  479. return m_pD3Ddev->DrawPrimitive(PrimitiveType, StartVertex, PrimitiveCount);
  480. }
  481.  
  482. HRESULT APIENTRY hkIDirect3DDevice8:rawIndexedPrimitive(D3DPRIMIT IVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount)
  483. {
  484. return m_pD3Ddev->DrawIndexedPrimitive(PrimitiveType, minIndex, NumVertices, startIndex, primCount);
  485. }
  486.  
  487. HRESULT APIENTRY hkIDirect3DDevice8:rawPrimitiveUP(D3DPRIMITIVETY PE PrimitiveType,UINT PrimitiveCount,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride)
  488. {
  489. return m_pD3Ddev->DrawPrimitiveUP(PrimitiveType, PrimitiveCount, pVertexStreamZeroData, VertexStreamZeroStride);
  490. }
  491.  
  492. HRESULT APIENTRY hkIDirect3DDevice8:rawIndexedPrimitiveUP(D3DPRIM ITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void* pIndexData,D3DFORMAT IndexDataFormat,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride)
  493. {
  494. return m_pD3Ddev->DrawIndexedPrimitiveUP(PrimitiveType, MinVertexIndex, NumVertexIndices, PrimitiveCount, pIndexData, IndexDataFormat, pVertexStreamZeroData, VertexStreamZeroStride);
  495. }
  496.  
  497. HRESULT APIENTRY hkIDirect3DDevice8::ProcessVertices(UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8* pDestBuffer,DWORD Flags)
  498. {
  499. return m_pD3Ddev->ProcessVertices(SrcStartIndex, DestIndex, VertexCount, pDestBuffer, Flags);
  500. }
  501.  
  502. HRESULT APIENTRY hkIDirect3DDevice8::CreateVertexShader(CONST DWORD* pDeclaration,CONST DWORD* pFunction,DWORD* pHandle,DWORD Usage)
  503. {
  504. return m_pD3Ddev->CreateVertexShader(pDeclaration, pFunction, pHandle, Usage);
  505. }
  506.  
  507. HRESULT APIENTRY hkIDirect3DDevice8::SetVertexShader(DWORD Handle)
  508. {
  509. return m_pD3Ddev->SetVertexShader(Handle);
  510. }
  511.  
  512. HRESULT APIENTRY hkIDirect3DDevice8::GetVertexShader(DWORD* pHandle)
  513. {
  514. return m_pD3Ddev->GetVertexShader(pHandle);
  515. }
  516.  
  517. HRESULT APIENTRY hkIDirect3DDevice8:eleteVertexShader(DWORD Handle)
  518. {
  519. return m_pD3Ddev->DeleteVertexShader(Handle);
  520. }
  521.  
  522. HRESULT APIENTRY hkIDirect3DDevice8::SetVertexShaderConstant(DWORD Register,CONST void* pConstantData,DWORD ConstantCount)
  523. {
  524. return m_pD3Ddev->SetVertexShaderConstant(Register, pConstantData, ConstantCount);
  525. }
  526.  
  527. HRESULT APIENTRY hkIDirect3DDevice8::GetVertexShaderConstant(DWORD Register,void* pConstantData,DWORD ConstantCount)
  528. {
  529. return m_pD3Ddev->GetVertexShaderConstant(Register, pConstantData, ConstantCount);
  530. }
  531.  
  532. HRESULT APIENTRY hkIDirect3DDevice8::GetVertexShaderDeclaration(DWO RD Handle,void* pData,DWORD* pSizeOfData)
  533. {
  534. return m_pD3Ddev->GetVertexShaderDeclaration(Handle, pData, pSizeOfData);
  535. }
  536.  
  537. HRESULT APIENTRY hkIDirect3DDevice8::GetVertexShaderFunction(DWORD Handle,void* pData,DWORD* pSizeOfData)
  538. {
  539. return m_pD3Ddev->GetVertexShaderFunction(Handle, pData, pSizeOfData);
  540. }
  541.  
  542. HRESULT APIENTRY hkIDirect3DDevice8::SetStreamSource(UINT StreamNumber,IDirect3DVertexBuffer8* pStreamData,UINT Stride)
  543. {
  544. return m_pD3Ddev->SetStreamSource(StreamNumber, pStreamData, Stride);
  545. }
  546.  
  547. HRESULT APIENTRY hkIDirect3DDevice8::GetStreamSource(UINT StreamNumber,IDirect3DVertexBuffer8** ppStreamData,UINT* pStride)
  548. {
  549. return m_pD3Ddev->GetStreamSource(StreamNumber, ppStreamData, pStride);
  550. }
  551.  
  552. HRESULT APIENTRY hkIDirect3DDevice8::SetIndices(IDirect3DIndexBuffe r8* pIndexData,UINT BaseVertexIndex)
  553. {
  554. return m_pD3Ddev->SetIndices(pIndexData, BaseVertexIndex);
  555. }
  556.  
  557. HRESULT APIENTRY hkIDirect3DDevice8::GetIndices(IDirect3DIndexBuffe r8** ppIndexData,UINT* pBaseVertexIndex)
  558. {
  559. return m_pD3Ddev->GetIndices(ppIndexData, pBaseVertexIndex);
  560. }
  561.  
  562. HRESULT APIENTRY hkIDirect3DDevice8::CreatePixelShader(CONST DWORD* pFunction,DWORD* pHandle)
  563. {
  564. return m_pD3Ddev->CreatePixelShader(pFunction, pHandle);
  565. }
  566.  
  567. HRESULT APIENTRY hkIDirect3DDevice8::SetPixelShader(DWORD Handle)
  568. {
  569. return m_pD3Ddev->SetPixelShader(Handle);
  570. }
  571.  
  572. HRESULT APIENTRY hkIDirect3DDevice8::GetPixelShader(DWORD* pHandle)
  573. {
  574. return m_pD3Ddev->GetPixelShader(pHandle);
  575. }
  576.  
  577. HRESULT APIENTRY hkIDirect3DDevice8:eletePixelShader(DWORD Handle)
  578. {
  579. return m_pD3Ddev->DeletePixelShader(Handle);
  580. }
  581.  
  582. HRESULT APIENTRY hkIDirect3DDevice8::SetPixelShaderConstant(DWORD Register,CONST void* pConstantData,DWORD ConstantCount)
  583. {
  584. return m_pD3Ddev->SetPixelShaderConstant(Register, pConstantData, ConstantCount);
  585. }
  586.  
  587. HRESULT APIENTRY hkIDirect3DDevice8::GetPixelShaderConstant(DWORD Register,void* pConstantData,DWORD ConstantCount)
  588. {
  589. return m_pD3Ddev->GetPixelShaderConstant(Register, pConstantData, ConstantCount);
  590. }
  591.  
  592. HRESULT APIENTRY hkIDirect3DDevice8::GetPixelShaderFunction(DWORD Handle,void* pData,DWORD* pSizeOfData)
  593. {
  594. return m_pD3Ddev->GetPixelShaderFunction(Handle, pData, pSizeOfData);
  595. }
  596.  
  597. HRESULT APIENTRY hkIDirect3DDevice8:rawRectPatch(UINT Handle,CONST float* pNumSegs,CONST D3DRECTPATCH_INFO* pRectPatchInfo)
  598. {
  599. return m_pD3Ddev->DrawRectPatch(Handle, pNumSegs, pRectPatchInfo);
  600. }
  601.  
  602. HRESULT APIENTRY hkIDirect3DDevice8:rawTriPatch(UINT Handle,CONST float* pNumSegs,CONST D3DTRIPATCH_INFO* pTriPatchInfo)
  603. {
  604. return m_pD3Ddev->DrawTriPatch(Handle, pNumSegs, pTriPatchInfo);
  605. }
  606.  
  607. HRESULT APIENTRY hkIDirect3DDevice8:eletePatch(UINT Handle)
  608. {
  609. return m_pD3Ddev->DeletePatch(Handle);
  610. }
  611.  
  612. if (m_pFont_new)
  613. m_pFont_new->DrawText(400.0f, 0.0f, txtRed, "backtohack Privat Hook");
  614.  
  615. if (m_pFont_INFO)
  616. {
  617. // Chams Info
  618. sprintf(Display_Line, "Chams is: %s", (CH_Chams ? "ON" : "OFF") );
  619. m_pFont_INFO->DrawText(15.0f, 90.0f, txtRed, Display_Line);
  620. }
  621.  
  622. if (m_pFont_INFO)
  623. {
  624. if(GetAsyncKeyState(VK_INSERT)&1)
  625. CH_Menu = !CH_Menu;
  626. if (CH_Menu)
  627. {
  628. sprintf (chamstring, "%s", (CH_Chams ? "ON" : "OFF"));
  629. sprintf (wirestring, " %s", (CH_Wire ? "ON" : "OFF"));
  630.  
  631.  
  632.  
  633.  
  634. if(highlight[1]==1)
  635. m_pFont_INFO->DrawText(15.0f, 220.0f, txtWhite, chamsstring);
  636. else
  637. m_pFont_INFO->DrawText(15.0f,220.0f, txtRed, chamsstring);
  638.  
  639. if(highlight[2]==1)
  640. m_pFont_INFO->DrawText(15.0f, 230.0f,txtWhite, wirestring);
  641. else
  642. m_pFont_INFO->DrawText(15.0f, 230.0f,txtRed, wirestring);
  643.  
  644.  
  645.  
  646.  
  647. if(GetAsyncKeyState(VK_UP)&1)
  648. {
  649. for(int i=0; i < 3; i++)
  650. if (highlight[i] == 1)
  651. {
  652. int a = i-1;
  653.  
  654. if(a < 0)
  655. break;
  656.  
  657. else
  658. {
  659. highlight[a]=1;
  660. highlight[i]=0;
  661. break;
  662. }
  663. }
  664. }
  665. }
  666.  
  667. if(GetAsyncKeyState(VK_DOWN)&1)
  668. {
  669. for(int i=0; i < 3; i++)
  670. if (highlight[i] == 1)
  671. {
  672. int a = i+1;
  673.  
  674. if(a > 2)
  675. break;
  676.  
  677. else
  678. {
  679. highlight[a]=1;
  680. highlight[i]=0;
  681. break;
  682. }
  683. }
  684. }
  685. }
  686.  
  687.  
  688.  
  689. if (GetAsyncKeyState(VK_INSERT)&1))
  690. CH_Menu = !CH_Menu;
  691.  
  692. if(highlight[1] == 1 && (GetAsyncKeyState(VK_RIGHT)&1))
  693. CH_Chams = !CH_Chams;
  694.  
  695.  
  696. if(highlight[2] == 1 && (GetAsyncKeyState(VK_RIGHT)&1))
  697. CH_Wire = !CH_Wire;
  698.  
  699.  
  700. }
  701. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement