Advertisement
Guest User

Untitled

a guest
Oct 9th, 2015
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "Graphics.h"
  3. #include "Glow.h"
  4. #include <stdio.h>
  5. #include <process.h>
  6.  
  7. Graphics gGraphics;
  8.  
  9. Graphics::Graphics()
  10. {
  11. printf("Graphics::Graphics() Success.");
  12. }
  13.  
  14. DWORD gTmpEax;
  15. DWORD gTmpEcx;
  16. DWORD gTmpEdx;
  17. DWORD gTmpEbx;
  18. DWORD gTmpEsp;
  19. DWORD gTmpEbp;
  20. DWORD gTmpEsi;
  21. DWORD gTmpEdi;
  22.  
  23. DWORD gSelectEnter = 0x0040AB4A;
  24. DWORD gGraphicsEnter = 0x00777B3B;
  25. DWORD gSelectASMJmp00 = gSelectEnter + 6;
  26. DWORD gGraphicsASM00Jmp00 = gGraphicsEnter + 5;
  27.  
  28. Naked (gSelectASM00)
  29. {
  30. _asm
  31. {
  32. MOV gTmpEax,EAX
  33. MOV gTmpEsi,ESI
  34. MOV gTmpEdi,EDI
  35. MOV gTmpEcx,ECX
  36. MOV gTmpEdx,EDX
  37. MOV gTmpEbx,EBX
  38. MOV gTmpEsp,ESP
  39. MOV gTmpEbp,EBP
  40. }
  41. //----
  42. RenderScreenGlow();
  43. //----
  44. _asm
  45. {
  46. MOV EAX,gTmpEax
  47. MOV ESI,gTmpEsi
  48. MOV EDI,gTmpEdi
  49. MOV ECX,gTmpEcx
  50. MOV EDX,gTmpEdx
  51. MOV EBX,gTmpEbx
  52. MOV ESP,gTmpEsp
  53. MOV EBP,gTmpEbp
  54. ADD ECX,0x200
  55. //---
  56. JMP gSelectASMJmp00
  57. }
  58. }
  59.  
  60. Naked (gGraphicsASM00)
  61. {
  62. _asm
  63. {
  64. MOV gTmpEax,EAX
  65. MOV gTmpEsi,ESI
  66. MOV gTmpEdi,EDI
  67. MOV gTmpEcx,ECX
  68. MOV gTmpEdx,EDX
  69. MOV gTmpEbx,EBX
  70. MOV gTmpEsp,ESP
  71. MOV gTmpEbp,EBP
  72. }
  73. //----
  74. RenderScreenGlow();
  75. //----
  76. _asm
  77. {
  78. MOV EAX,gTmpEax
  79. MOV ESI,gTmpEsi
  80. MOV EDI,gTmpEdi
  81. MOV ECX,gTmpEcx
  82. MOV EDX,gTmpEdx
  83. MOV EBX,gTmpEbx
  84. MOV ESP,gTmpEsp
  85. MOV EBP,gTmpEbp
  86. PUSH 0x0
  87. MOV ECX,DWORD PTR SS:[EBP-0x4]
  88. //---
  89. JMP gGraphicsASM00Jmp00
  90. }
  91. }
  92.  
  93. void Graphics::Load()
  94. {
  95. SetOp((LPVOID)oInitGraphics_Call, this->InitGraphics, ASM::CALL);
  96. SetOp((LPVOID)oSelectDraw_Call, this->SelectDraw, ASM::CALL);
  97. //---
  98. SetRange((LPVOID)0x0040AB4A, 0x06, ASM::NOP);
  99. SetJmp((LPVOID)0x0040AB4A, gSelectASM00);
  100. //---
  101. SetRange((LPVOID)0x00777B3B, 0x05, ASM::NOP);
  102. SetJmp((LPVOID)0x00777B3B, gGraphicsASM00);
  103. //---
  104. printf("Graphics::Load() Success.\n");
  105. }
  106.  
  107. void Graphics::InitGraphics()
  108. {
  109. InitScreenGlow();
  110. //---
  111. pInitGraphics();
  112. //printf("Graphics::InitGraphics() Success.\n");
  113. }
  114.  
  115. int Graphics::SelectDraw(int value)
  116. {
  117. RenderScreenGlow();
  118. //---
  119. //printf("Graphics::SelectDraw() Success.\n");
  120. return pSelectDraw(value);
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement