kiero.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef __KIERO_H__
  2. #define __KIERO_H__
  3. #include <stdint.h>
  4. #include <string.h>
  5. #define KIERO_VERSION "1.1.8"
  6. #define KIERO_USE_MINHOOK
  7. #define KIERO_ARCH_X64 0
  8. #define KIERO_ARCH_X86 0
  9. #if defined(_M_X64)
  10. # undef KIERO_ARCH_X64
  11. # define KIERO_ARCH_X64 1
  12. #else
  13. # undef KIERO_ARCH_X86
  14. # define KIERO_ARCH_X86 1
  15. #endif
  16. #ifdef _UNICODE
  17. # define KIERO_TEXT(text) L##text
  18. #else
  19. # define KIERO_TEXT(text) text
  20. #endif
  21. #define KIERO_ARRAY_SIZE(arr) ((size_t)(sizeof(arr)/sizeof(arr[0])))
  22. namespace kiero
  23. {
  24. struct Status
  25. {
  26. enum Enum
  27. {
  28. UnknownError = -1,
  29. NotSupportedError = -2,
  30. ModuleNotFoundError = -3,
  31. Success = 0,
  32. };
  33. };
  34. struct RenderType
  35. {
  36. enum Enum
  37. {
  38. None,
  39. D3D9, // Implemented
  40. D3D10, // Implemented
  41. D3D11, // Implemented
  42. D3D12, // Implemented
  43. OpenGL, // Implemented
  44. OpenglES,
  45. Vulkan // Implemented
  46. };
  47. };
  48. Status::Enum init(int renderType);
  49. void shutdown();
  50. RenderType::Enum getRenderType();
  51. #if KIERO_ARCH_X64
  52. uint64_t* getMethodsTable();
  53. #else
  54. uint32_t* getMethodsTable();
  55. #endif
  56. int bind(uint16_t index, void** original, void* function);
  57. int unbind();
  58. }
  59. #endif // __KIERO_H__