Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. CD3DFont *pfont;
  2. bool pFontCreated;
  3.  
  4. void pPostReset(LPDIRECT3DDEVICE9 pDevice)
  5. {
  6. if (pfont == NULL)
  7. {
  8. pfont = new CD3DFont("Verdana", 7, D3DFONT_BOLD);
  9. pfont->InitDeviceObjects(pDevice);
  10. pfont->RestoreDeviceObjects();
  11. pFontCreated = true;
  12.  
  13. }
  14. }
  15. void pPreReset()
  16. {
  17. pfont->InvalidateDeviceObjects();
  18. pfont->DeleteDeviceObjects();
  19. pfont = NULL;
  20. pFontCreated = false;
  21. }
  22.  
  23. void ESPText(int x, int y, DWORD color, DWORD flags, char *szFormat, ...)
  24. {
  25. if (!szFormat)return;
  26.  
  27. char logbuf[256] = { 0 };
  28.  
  29. va_list va_alist;
  30. va_start(va_alist, szFormat);
  31. _vsnprintf(logbuf, sizeof(logbuf), szFormat, va_alist);
  32. va_end(va_alist);
  33.  
  34. if (flags == DT_RIGHT)
  35. {
  36. SIZE Size = { 0,0 };
  37. if (pfont->GetTextExtent(logbuf, &Size) == S_OK)
  38. {
  39. x -= Size.cx;
  40. }
  41. flags = 0;
  42. }
  43. else if (flags == DT_CENTER)
  44. {
  45. SIZE Size = { 0,0 };
  46. if (pfont->GetTextExtent(logbuf, &Size) == S_OK)
  47. {
  48. x -= (Size.cx / 2);
  49. }
  50. flags = 0;
  51. }
  52. pfont->DrawText((float)x + 1, (float)y, D3DCOLOR_ARGB(255, 0, 0, 0), logbuf, flags);
  53. pfont->DrawText((float)x - 1, (float)y, D3DCOLOR_ARGB(255, 0, 0, 0), logbuf, flags);
  54. pfont->DrawText((float)x, (float)y + 1, D3DCOLOR_ARGB(255, 0, 0, 0), logbuf, flags);
  55. pfont->DrawText((float)x, (float)y - 1, D3DCOLOR_ARGB(255, 0, 0, 0), logbuf, flags);
  56. pfont->DrawText((float)x, (float)y, color, logbuf, flags);
  57.  
  58. }
  59. void PreReset(LPDIRECT3DDEVICE9 pDevice)
  60. {
  61. pPreReset();
  62. return;
  63. }
  64.  
  65. void PostReset(LPDIRECT3DDEVICE9 pDevice)
  66. {
  67. pPostReset(pDevice);
  68. return;
  69. }
  70. HRESULT WINAPI myPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion)
  71. {
  72. PostReset(pDevice);
  73. PreReset(pDevice);
  74.  
  75. return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement