Advertisement
MrReekoFTWxD

COD CG_DrawPlayerCompassMap

Sep 22nd, 2018
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.16 KB | None | 0 0
  1. #ifndef Invoker_h
  2. #define Invoker_h
  3.  
  4.  
  5. struct tocdata_s
  6. {
  7.     int toc;
  8.     tocdata_s() { this->toc = 0; }
  9.     tocdata_s(int toc) { this->toc = toc; }
  10. };
  11.  
  12.  
  13. #define SetRToc(toc) (*(tocdata_s*)(0x10005000) = tocdata_s(toc))
  14.  
  15.  
  16. struct opd_z
  17. {
  18.     int Sub;
  19.     int Toc;
  20.     opd_z() { this->Sub = this->Toc = (*(tocdata_s*)(0x10005000)).toc; }
  21.     opd_z(int sub) { this->Sub = sub, this->Toc = (*(tocdata_s*)(0x10005000)).toc; }
  22.     opd_z(int sub, int toc) {
  23.         this->Sub = sub,
  24.             this->Toc = toc;
  25.     }
  26. };
  27.  
  28. template<typename R>
  29. R Invoke(int Address) { return ((R(*)())&opd_z(Address))(); }
  30. template<typename R, typename A1>
  31. R Invoke(int Address, A1 a1) { return ((R(*)(A1 a1))&opd_z(Address))(a1); }
  32. template<typename R, typename A1, typename A2>
  33. R Invoke(int Address, A1 a1, A2 a2) { return ((R(*)(A1 a1, A2 a2))&opd_z(Address))(a1, a2); }
  34. template<typename R, typename A1, typename A2, typename A3>
  35. R Invoke(int Address, A1 a1, A2 a2, A3 a3) { return ((R(*)(A1 a1, A2 a2, A3 a3))&opd_z(Address))(a1, a2, a3); }
  36. template<typename R, typename A1, typename A2, typename A3, typename A4>
  37. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4))&opd_z(Address))(a1, a2, a3, a4); }
  38. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5>
  39. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5))&opd_z(Address))(a1, a2, a3, a4, a5); }
  40. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
  41. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6))&opd_z(Address))(a1, a2, a3, a4, a5, a6); }
  42. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
  43. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7); }
  44. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
  45. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8); }
  46. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
  47. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9); }
  48. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
  49. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); }
  50. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
  51. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); }
  52. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
  53. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); }
  54. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
  55. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); }
  56. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
  57. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); }
  58. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
  59. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); }
  60. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16>
  61. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); }
  62. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
  63. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); }
  64. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18>
  65. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); }
  66. template<typename R, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
  67. R Invoke(int Address, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19) { return ((R(*)(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, A17 a17, A18 a18, A19 a19))&opd_z(Address))(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); }
  68.  
  69.  
  70. #endif
  71.  
  72.  
  73.  
  74. enum CompassType
  75. {
  76.     COMPASS_TYPE_PARTIAL = 0x0,
  77.     COMPASS_TYPE_FULL = 0x1,
  78. };
  79.  
  80. struct rectDef_s
  81. {
  82.     float x;
  83.     float y;
  84.     float w;
  85.     float h;
  86.     int horzAlign;
  87.     int vertAlign;
  88. };
  89.  
  90. Vector2 RadarXY;
  91.         RadarXY.x = 35;
  92.         RadarXY.y = 13;
  93.         rectDef_s info = { 543 - RadarXY.x , 3 + RadarXY.y, 224.5, 168, 0, 0 };
  94.  
  95. //COD4
  96. Invoker<void>(0x38FB0, 0, COMPASS_TYPE_PARTIAL, &info, &info, R_RegisterMaterial("compass_map_mp_shipment", 0), (float*)&White);
  97. //MW2
  98. Invoke<void>(0x3E608, 0, COMPASS_TYPE_PARTIAL, &info, &info, Material_RegisterHandle("compass_map_default", 7), (float *)&White);
  99. //BO1
  100. Invoke<void>(0xDEC60, 0, COMPASS_TYPE_PARTIAL, &info, &info, Material_Register("compass_map_mp_nuked", 0), White);
  101. //MW3
  102. Invoke<void>(0x5A150, 0, COMPASS_TYPE_PARTIAL, &info, &info, Material_RegisterHandle("compass_map_mp_dome", 0, false, 0), White);
  103. //BO2
  104. Rebuilt Good Luck XD
  105. //Ghost
  106. Invoke<void>(0x13BC18, 0, COMPASS_TYPE_PARTIAL, &info, &info, R_RegisterMaterial("compass_map_mp_prisonbreak", 0), White);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement