diff options
author | BobTheBob9 <for.oliver.kirkham@gmail.com> | 2022-07-07 21:31:41 +0100 |
---|---|---|
committer | BobTheBob9 <for.oliver.kirkham@gmail.com> | 2022-07-07 21:31:41 +0100 |
commit | 2ae34b67e36b8ba05132d481876eb4ed7a826283 (patch) | |
tree | 63f44c8e2dcdc959d7a5317a3a7b36efedbd7d38 /NorthstarDLL/pch.h | |
parent | 3406de7aaaf52cbef20b1549f2d7da0255d30f51 (diff) | |
download | NorthstarLauncher-2ae34b67e36b8ba05132d481876eb4ed7a826283.tar.gz NorthstarLauncher-2ae34b67e36b8ba05132d481876eb4ed7a826283.zip |
almost fully replaced hooking lib
Diffstat (limited to 'NorthstarDLL/pch.h')
-rw-r--r-- | NorthstarDLL/pch.h | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/NorthstarDLL/pch.h b/NorthstarDLL/pch.h index f6faa2c1..561c5706 100644 --- a/NorthstarDLL/pch.h +++ b/NorthstarDLL/pch.h @@ -1,47 +1,47 @@ -#ifndef PCH_H -#define PCH_H - -#define WIN32_LEAN_AND_MEAN -#define _CRT_SECURE_NO_WARNINGS -#define RAPIDJSON_NOMEMBERITERATORCLASS // need this for rapidjson -#define NOMINMAX // this too -#define _WINSOCK_DEPRECATED_NO_WARNINGS // temp because i'm very lazy and want to use inet_addr, remove later -#define RAPIDJSON_HAS_STDSTRING 1 - -// add headers that you want to pre-compile here -#include "memalloc.h" - -#include <Windows.h> -#include <Psapi.h> -#include <set> -#include <map> -#include <filesystem> -#include <sstream> - -#include "logging.h" -#include "include/MinHook.h" -#include "spdlog/spdlog.h" -#include "libcurl/include/curl/curl.h" -#include "hooks.h" -#include "hookutils.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; \ - } - -#endif +#ifndef PCH_H
+#define PCH_H
+
+#define WIN32_LEAN_AND_MEAN
+#define _CRT_SECURE_NO_WARNINGS
+#define RAPIDJSON_NOMEMBERITERATORCLASS // need this for rapidjson
+#define NOMINMAX // this too
+#define _WINSOCK_DEPRECATED_NO_WARNINGS // temp because i'm very lazy and want to use inet_addr, remove later
+#define RAPIDJSON_HAS_STDSTRING 1
+
+// add headers that you want to pre-compile here
+#include "memalloc.h"
+
+#include <Windows.h>
+#include <Psapi.h>
+#include <set>
+#include <map>
+#include <filesystem>
+#include <sstream>
+
+#include "logging.h"
+#include "include/MinHook.h"
+#include "spdlog/spdlog.h"
+#include "libcurl/include/curl/curl.h"
+#include "hooks.h"
+//#include "hookutils.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; \
+ }
+
+#endif
|