diff options
Diffstat (limited to 'NorthstarDLL/pch.h')
-rw-r--r-- | NorthstarDLL/pch.h | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/NorthstarDLL/pch.h b/NorthstarDLL/pch.h index a6a3f06d..55ebba8b 100644 --- a/NorthstarDLL/pch.h +++ b/NorthstarDLL/pch.h @@ -24,6 +24,8 @@ namespace fs = std::filesystem; #define assert_msg(exp, msg) assert((exp, msg)) //clang-format on +#include "core/macros.h" + #include "core/structs.h" #include "core/math/color.h" #include "spdlog/spdlog.h" @@ -31,25 +33,6 @@ namespace fs = std::filesystem; #include "MinHook.h" #include "libcurl/include/curl/curl.h" #include "core/hooks.h" -#include "memory.h" - -template <typename ReturnType, typename... Args> ReturnType CallVFunc(int index, void* thisPtr, Args... args) -{ - return (*reinterpret_cast<ReturnType(__fastcall***)(void*, Args...)>(thisPtr))[index](thisPtr, args...); -} - -template <typename T, size_t index, typename... Args> constexpr T CallVFunc_Alt(void* classBase, Args... args) noexcept -{ - return ((*(T(__thiscall***)(void*, Args...))(classBase))[index])(classBase, args...); -} - -#define STR_HASH(s) (std::hash<std::string>()(s)) - -// Example usage: M_VMETHOD(int, GetEntityIndex, 8, (CBaseEntity* ent), (this, ent)) -#define M_VMETHOD(returnType, name, index, args, argsRaw) \ - FORCEINLINE returnType name args noexcept \ - { \ - return CallVFunc_Alt<returnType, index> argsRaw; \ - } +#include "core/memory.h" #endif |