2022-02-19 02:31:16 +01:00
# pragma once
2022-04-09 02:18:57 +02:00
/* ==== COMMON ========================================================================================================================================================== */
2022-11-07 22:25:20 +01:00
inline CMemory p_COM_InitFilesystem ;
2023-10-22 17:00:56 +02:00
inline void * ( * v_COM_InitFilesystem ) ( const char * pFullModPath ) ;
inline CMemory p_COM_GetPrintMessageBuffer ;
inline char * const ( * v_COM_GetPrintMessageBuffer ) ( void ) ;
2022-11-07 22:25:20 +01:00
2022-04-18 03:35:08 +02:00
inline CMemory p_COM_ExplainDisconnection ;
2023-10-22 17:00:56 +02:00
inline void ( * v_COM_ExplainDisconnection ) ( bool bPrint , const char * fmt , . . . ) ;
2022-02-19 02:31:16 +01:00
2023-02-15 20:50:12 +01:00
const char * COM_FormatSeconds ( int seconds ) ;
2023-10-22 17:00:56 +02:00
void COM_ExplainDisconnection ( bool bPrint , const char * fmt , . . . ) ;
2022-02-19 02:31:16 +01:00
///////////////////////////////////////////////////////////////////////////////
2022-05-13 14:53:25 +02:00
class VCommon : 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
{
2023-01-25 02:26:52 +01:00
LogFunAdr ( " COM_InitFilesystem " , p_COM_InitFilesystem . GetPtr ( ) ) ;
2023-10-22 17:00:56 +02:00
LogFunAdr ( " COM_GetPrintMessageBuffer " , p_COM_GetPrintMessageBuffer . GetPtr ( ) ) ;
2023-01-25 02:26:52 +01:00
LogFunAdr ( " COM_ExplainDisconnection " , p_COM_ExplainDisconnection . GetPtr ( ) ) ;
2022-02-19 02:31:16 +01:00
}
2022-04-18 03:35:08 +02:00
virtual void GetFun ( void ) const
{
2022-12-01 22:44:55 +01:00
p_COM_InitFilesystem = g_GameDll . FindPatternSIMD ( " 48 89 5C 24 ?? 48 89 74 24 ?? 57 48 81 EC ?? ?? ?? ?? 48 8B F9 48 C7 44 24 ?? ?? ?? ?? ?? " ) ;
2023-10-22 17:00:56 +02:00
p_COM_GetPrintMessageBuffer = g_GameDll . FindPatternSIMD ( " 48 8D 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 4C 89 44 24 ?? " ) ;
2022-12-01 22:44:55 +01:00
p_COM_ExplainDisconnection = g_GameDll . FindPatternSIMD ( " 48 8B C4 48 89 50 10 4C 89 40 18 4C 89 48 20 48 81 EC ?? ?? ?? ?? " ) ;
2022-11-07 22:25:20 +01:00
2023-10-22 17:00:56 +02:00
v_COM_InitFilesystem = p_COM_InitFilesystem . RCast < void * ( * ) ( const char * ) > ( ) ;
v_COM_GetPrintMessageBuffer = p_COM_GetPrintMessageBuffer . RCast < char * const ( * ) ( void ) > ( ) ;
v_COM_ExplainDisconnection = p_COM_ExplainDisconnection . RCast < void ( * ) ( bool , const char * , . . . ) > ( ) ;
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 { }
2023-11-26 13:21:20 +01:00
virtual void Detour ( const bool bAttach ) const ;
2022-02-19 02:31:16 +01:00
} ;
///////////////////////////////////////////////////////////////////////////////