2022-03-23 23:28:12 +01:00
|
|
|
#pragma once
|
|
|
|
|
2022-04-09 02:18:57 +02:00
|
|
|
/* ==== RUI ====================================================================================================================================================== */
|
2022-07-03 11:33:42 +02:00
|
|
|
inline CMemory p_Rui_Draw;
|
|
|
|
inline auto v_Rui_Draw = p_Rui_Draw.RCast<bool(*)(__int64* a1, __m128* a2, const __m128i* a3, __int64 a4, __m128* a5)>();
|
2022-04-09 02:18:57 +02:00
|
|
|
|
2022-07-03 11:33:42 +02:00
|
|
|
inline CMemory p_Rui_LoadAsset;
|
|
|
|
inline auto v_Rui_LoadAsset = p_Rui_LoadAsset.RCast<void* (*)(const char* szRuiAssetName)>();
|
|
|
|
|
|
|
|
inline CMemory p_Rui_GetFontFace;
|
|
|
|
inline auto v_Rui_GetFontFace = p_Rui_GetFontFace.RCast<int16_t (*)(void)>();
|
2022-03-23 23:28:12 +01:00
|
|
|
|
|
|
|
void Rui_Attach();
|
|
|
|
void Rui_Detach();
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2022-05-13 14:53:25 +02:00
|
|
|
class VRui : public IDetour
|
2022-03-23 23:28:12 +01:00
|
|
|
{
|
2022-04-11 01:44:30 +02:00
|
|
|
virtual void GetAdr(void) const
|
2022-03-23 23:28:12 +01:00
|
|
|
{
|
2022-07-03 11:33:42 +02:00
|
|
|
spdlog::debug("| FUN: Rui_Draw : {:#18x} |\n", p_Rui_Draw.GetPtr());
|
|
|
|
spdlog::debug("| FUN: Rui_LoadAsset : {:#18x} |\n", p_Rui_LoadAsset.GetPtr());
|
|
|
|
spdlog::debug("| FUN: Rui_GetFontFace : {:#18x} |\n", p_Rui_GetFontFace.GetPtr());
|
2022-05-13 14:53:25 +02:00
|
|
|
spdlog::debug("+----------------------------------------------------------------+\n");
|
2022-03-23 23:28:12 +01:00
|
|
|
}
|
2022-04-18 03:35:08 +02:00
|
|
|
virtual void GetFun(void) const
|
|
|
|
{
|
2022-12-01 22:44:55 +01:00
|
|
|
p_Rui_Draw = g_GameDll.FindPatternSIMD("40 53 48 83 EC 40 4C 8B 5A 18");
|
2022-07-03 11:33:42 +02:00
|
|
|
v_Rui_Draw = p_Rui_Draw.RCast<bool(*)(__int64*, __m128*, const __m128i*, __int64, __m128*)>(); /* 40 53 48 83 EC 40 4C 8B 5A 18 */
|
|
|
|
|
2022-12-01 22:44:55 +01:00
|
|
|
p_Rui_LoadAsset = g_GameDll.FindPatternSIMD("E8 ?? ?? ?? ?? EB 03 49 8B C6 48 89 86 ?? ?? ?? ?? 8B 86 ?? ?? ?? ??").FollowNearCallSelf();
|
2022-07-03 11:33:42 +02:00
|
|
|
v_Rui_LoadAsset = p_Rui_LoadAsset.RCast<void* (*)(const char*)>(); /*E8 ?? ?? ?? ?? EB 03 49 8B C6 48 89 86 ?? ?? ?? ?? 8B 86 ?? ?? ?? ??*/
|
2022-04-19 03:55:20 +02:00
|
|
|
|
2022-12-01 22:44:55 +01:00
|
|
|
p_Rui_GetFontFace = g_GameDll.FindPatternSIMD("F7 05 ?? ?? ?? ?? ?? ?? ?? ?? 4C 8D 0D ?? ?? ?? ?? 74 05 49 8B D1 EB 19 48 8B 05 ?? ?? ?? ?? 48 8D 15 ?? ?? ?? ?? 48 8B 48 58 48 85 C9 48 0F 45 D1 F7 05 ?? ?? ?? ?? ?? ?? ?? ?? 75 19 48 8B 05 ?? ?? ?? ?? 4C 8D 0D ?? ?? ?? ?? 4C 8B 40 58 4D 85 C0 4D 0F 45 C8 49 8B C9 48 FF 25 ?? ?? ?? ??");
|
2022-07-03 11:33:42 +02:00
|
|
|
v_Rui_GetFontFace = p_Rui_GetFontFace.RCast<int16_t(*)(void)>();/*F7 05 ? ? ? ? ? ? ? ? 4C 8D 0D ? ? ? ? 74 05 49 8B D1 EB 19 48 8B 05 ? ? ? ? 48 8D 15 ? ? ? ? 48 8B 48 58 48 85 C9 48 0F 45 D1 F7 05 ? ? ? ? ? ? ? ? 75 19 48 8B 05 ? ? ? ? 4C 8D 0D ? ? ? ? 4C 8B 40 58 4D 85 C0 4D 0F 45 C8 49 8B C9 48 FF 25 ? ? ? ?*/
|
2022-04-18 03:35:08 +02:00
|
|
|
}
|
2022-04-11 01:44:30 +02:00
|
|
|
virtual void GetVar(void) const { }
|
|
|
|
virtual void GetCon(void) const { }
|
|
|
|
virtual void Attach(void) const { }
|
|
|
|
virtual void Detach(void) const { }
|
2022-03-23 23:28:12 +01:00
|
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2022-05-13 14:53:25 +02:00
|
|
|
REGISTER(VRui);
|