diff options
Diffstat (limited to 'NorthstarDLL/core/macros.h')
-rw-r--r-- | NorthstarDLL/core/macros.h | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/NorthstarDLL/core/macros.h b/NorthstarDLL/core/macros.h deleted file mode 100644 index ae944cca..00000000 --- a/NorthstarDLL/core/macros.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once -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; \ - } |