2022-02-19 02:31:16 +01:00
# pragma once
///////////////////////////////////////////////////////////////////////////////
2024-01-02 15:21:36 +01:00
inline __int64 ( * v_SCR_BeginLoadingPlaque ) ( void * a1 ) ;
2022-02-19 02:31:16 +01:00
///////////////////////////////////////////////////////////////////////////////
2022-04-18 03:35:08 +02:00
inline bool * scr_drawloading = nullptr ;
inline bool * scr_engineevent_loadingstarted = nullptr ;
2022-02-19 02:31:16 +01:00
void SCR_EndLoadingPlaque ( void ) ;
///////////////////////////////////////////////////////////////////////////////
2022-05-13 14:53:25 +02:00
class VGL_Screen : public IDetour
2022-02-19 02:31:16 +01:00
{
2022-04-11 01:44:30 +02:00
virtual void GetAdr ( void ) const
2022-02-19 02:31:16 +01:00
{
2024-01-02 15:21:36 +01:00
LogFunAdr ( " SCR_BeginLoadingPlaque " , v_SCR_BeginLoadingPlaque ) ;
LogVarAdr ( " scr_drawloading " , scr_drawloading ) ;
LogVarAdr ( " scr_engineevent_loadingstarted " , scr_engineevent_loadingstarted ) ;
2022-02-19 02:31:16 +01:00
}
2022-04-18 03:35:08 +02:00
virtual void GetFun ( void ) const
{
2024-01-02 15:21:36 +01:00
g_GameDll . FindPatternSIMD ( " 48 83 EC 38 0F 29 74 24 ?? 48 89 5C 24 ?? " ) . GetPtr ( v_SCR_BeginLoadingPlaque ) ;
2022-04-18 03:35:08 +02:00
}
virtual void GetVar ( void ) const
{
2022-12-01 22:44:55 +01:00
scr_drawloading = g_GameDll . FindPatternSIMD ( " 0F B6 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 48 83 EC 28 " ) . ResolveRelativeAddressSelf ( 0x3 , 0x7 ) . RCast < bool * > ( ) ;
2024-01-02 15:21:36 +01:00
scr_engineevent_loadingstarted = CMemory ( v_SCR_BeginLoadingPlaque ) . Offset ( 0x60 ) . FindPatternSelf ( " C6 05 ?? ?? ?? ?? 01 " , CMemory : : Direction : : DOWN ) . ResolveRelativeAddress ( 0x2 , 0x7 ) . RCast < bool * > ( ) ;
2022-04-18 03:35:08 +02:00
}
2022-04-11 01:44:30 +02:00
virtual void GetCon ( void ) const { }
2023-11-26 13:21:20 +01:00
virtual void Detour ( const bool bAttach ) const { }
2022-02-19 02:31:16 +01:00
} ;
///////////////////////////////////////////////////////////////////////////////