Files
ReshadePluginsCore/UEngine/UEngine.cpp

23 lines
744 B
C++
Raw Normal View History

2025-09-10 22:05:24 +02:00
// UEngine.cpp : Defines all Unreal Engine static tools functions
//
#include <Windows.h>
#include <string>
#include <optional>
#include "UEngine.hpp"
std::optional<uint32_t> UE::CalculateOffset(const std::string& exeName, uint8_t* AOBResult)
{
// R<>cup<75>re la base du module via GetModuleHandleA
HMODULE hModule = GetModuleHandleA(exeName.c_str());
if (!hModule || !AOBResult)
return std::nullopt;
uintptr_t baseModule = reinterpret_cast<uintptr_t>(hModule);
uintptr_t AOBAbsoluteAdress = reinterpret_cast<uintptr_t>(AOBResult);
if (AOBAbsoluteAdress < baseModule)
return std::nullopt;
uintptr_t relativeOffset = AOBAbsoluteAdress - baseModule;
return static_cast<uint32_t>(relativeOffset);
}