From aa1a43ac4f61d1e2c379e3b32d8b460dfa5a66b6 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Sun, 24 Dec 2023 20:38:07 +0100 Subject: [PATCH] Tier0: add template inline for FindPatternSIMD This allows for directly setting a function pointer without double casting it, and significantly reduce code verbosity. --- src/public/tier0/module.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/public/tier0/module.h b/src/public/tier0/module.h index 299b3662..3bbe0cdc 100644 --- a/src/public/tier0/module.h +++ b/src/public/tier0/module.h @@ -28,6 +28,15 @@ public: void LoadSections(); CMemory FindPatternSIMD(const char* szPattern, const ModuleSections_t* moduleSection = nullptr) const; + + template + inline void FindPatternSIMD(const char* szPattern, + T*& pMemPtrOut, const ModuleSections_t* moduleSection = nullptr) const + { + CMemory mem = FindPatternSIMD(szPattern, moduleSection); + pMemPtrOut = mem.RCast(); + } + CMemory FindString(const char* szString, const ptrdiff_t occurrence = 1, bool nullTerminator = false) const; CMemory FindStringReadOnly(const char* szString, bool nullTerminator) const; CMemory FindFreeDataPage(const size_t nSize) const;