r5sdk/r5dev/src/dllmain.cpp

67 lines
1.8 KiB
C++
Raw Normal View History

2021-04-13 04:45:22 -07:00
#include <Windows.h>
#include <string>
2021-04-13 04:45:22 -07:00
#include "r5dev.h"
#include "id3dx.h"
2021-06-19 11:21:31 -07:00
#include "input.h"
2021-04-13 04:45:22 -07:00
#include "hooks.h"
#include "opcptc.h"
#include "console.h"
#include "utility.h"
2021-04-13 04:45:22 -07:00
///////////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------------
2021-06-19 11:21:31 -07:00
// Initialization
//---------------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////////
2021-04-13 04:45:22 -07:00
void InitializeR5Dev()
{
2021-06-19 11:21:31 -07:00
SetupConsole();
InstallENHooks();
2021-06-19 11:21:31 -07:00
InstallIPHooks();
InstallDXHooks();
InstallOpcodes();
2021-06-19 11:21:31 -07:00
SetupDXSwapChain();
printf("+-----------------------------------------------------------------------------+\n");
printf("| R5 DEV -- INITIALIZED ------------------------------------------------- |\n");
printf("+-----------------------------------------------------------------------------+\n");
printf("\n");
2021-04-13 04:45:22 -07:00
}
void TerminateR5Dev()
{
RemoveCMHooks();
RemoveENHooks();
2021-06-19 11:21:31 -07:00
RemoveIPHooks();
RemoveDXHooks();
FreeConsole();
2021-04-13 04:45:22 -07:00
}
///////////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------------
// Entry
//---------------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////////
2021-04-13 04:45:22 -07:00
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
{
2021-04-13 04:45:22 -07:00
InitializeR5Dev();
break;
}
2021-04-13 04:45:22 -07:00
case DLL_PROCESS_DETACH:
{
2021-04-13 04:45:22 -07:00
TerminateR5Dev();
break;
}
2021-04-13 04:45:22 -07:00
}
return TRUE;
}