2022-06-20 14:58:53 +02:00
|
|
|
#ifndef PLATFORM_INTERNAL_H
|
|
|
|
#define PLATFORM_INTERNAL_H
|
|
|
|
|
|
|
|
inline CMemory p_Plat_FloatTime;
|
|
|
|
inline auto v_Plat_FloatTime = p_Plat_FloatTime.RCast<double(*)(void)>();
|
|
|
|
|
|
|
|
inline CMemory p_Plat_MSTime;
|
|
|
|
inline auto v_Plat_MSTime = p_Plat_MSTime.RCast<uint64_t(*)(void)>();
|
|
|
|
|
2022-06-22 12:12:08 +02:00
|
|
|
inline double* g_flErrorTimeStamp = nullptr;
|
2022-06-20 14:58:53 +02:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
class VPlatform : public IDetour
|
|
|
|
{
|
|
|
|
virtual void GetAdr(void) const
|
|
|
|
{
|
2023-01-25 02:26:52 +01:00
|
|
|
LogFunAdr("Plat_FloatTime", p_Plat_FloatTime.GetPtr());
|
|
|
|
LogFunAdr("Plat_MSTime", p_Plat_MSTime.GetPtr());
|
|
|
|
LogVarAdr("g_flErrorTimeStamp", reinterpret_cast<uintptr_t>(g_flErrorTimeStamp));
|
2022-06-20 14:58:53 +02:00
|
|
|
}
|
|
|
|
virtual void GetFun(void) const
|
|
|
|
{
|
2022-12-01 22:44:55 +01:00
|
|
|
p_Plat_FloatTime = g_GameDll.FindPatternSIMD("48 83 EC 28 80 3D ?? ?? ?? ?? ?? 75 05 E8 ?? ?? ?? ?? 80 3D ?? ?? ?? ?? ?? 74 1D");
|
|
|
|
p_Plat_MSTime = g_GameDll.FindPatternSIMD("48 83 EC 28 80 3D ?? ?? ?? ?? ?? 75 05 E8 ?? ?? ?? ?? 80 3D ?? ?? ?? ?? ?? 74 2A");
|
2022-06-20 14:58:53 +02:00
|
|
|
|
|
|
|
v_Plat_FloatTime = p_Plat_FloatTime.RCast<double(*)(void)>(); /*48 83 EC 28 80 3D ? ? ? ? ? 75 05 E8 ? ? ? ? 80 3D ? ? ? ? ? 74 1D*/
|
|
|
|
v_Plat_MSTime = p_Plat_MSTime.RCast<uint64_t(*)(void)>(); /*48 83 EC 28 80 3D ? ? ? ? ? 75 05 E8 ? ? ? ? 80 3D ? ? ? ? ? 74 2A*/
|
|
|
|
}
|
2022-06-22 12:12:08 +02:00
|
|
|
virtual void GetVar(void) const
|
|
|
|
{
|
2022-12-01 22:44:55 +01:00
|
|
|
g_flErrorTimeStamp = g_GameDll.FindPatternSIMD("0F 57 C0 F2 0F 11 05 ?? ?? ?? ?? C3").FindPatternSelf("F2 0F").ResolveRelativeAddressSelf(0x4, 0x8).RCast<double*>();
|
2022-06-22 12:12:08 +02:00
|
|
|
}
|
2022-06-20 14:58:53 +02:00
|
|
|
virtual void GetCon(void) const { }
|
|
|
|
virtual void Attach(void) const { }
|
|
|
|
virtual void Detach(void) const { }
|
|
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#endif /* PLATFORM_INTERNAL_H */
|