mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-27 13:14:01 +08:00
fix steamclient_experimental compilation with mingw
This commit is contained in:
parent
2ca2e834c7
commit
e38172dc1b
24
dll/base.cpp
24
dll/base.cpp
@ -458,7 +458,7 @@ static void redirect_crackdll()
|
|||||||
{
|
{
|
||||||
DetourTransactionBegin();
|
DetourTransactionBegin();
|
||||||
DetourUpdateThread( GetCurrentThread() );
|
DetourUpdateThread( GetCurrentThread() );
|
||||||
DetourAttach( &(PVOID &)Real_GetModuleHandleA, Mine_GetModuleHandleA );
|
DetourAttach( reinterpret_cast<PVOID*>(&Real_GetModuleHandleA), reinterpret_cast<PVOID>(Mine_GetModuleHandleA) );
|
||||||
DetourTransactionCommit();
|
DetourTransactionCommit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -466,7 +466,7 @@ static void unredirect_crackdll()
|
|||||||
{
|
{
|
||||||
DetourTransactionBegin();
|
DetourTransactionBegin();
|
||||||
DetourUpdateThread( GetCurrentThread() );
|
DetourUpdateThread( GetCurrentThread() );
|
||||||
DetourDetach( &(PVOID &)Real_GetModuleHandleA, Mine_GetModuleHandleA );
|
DetourDetach( reinterpret_cast<PVOID*>(&Real_GetModuleHandleA), reinterpret_cast<PVOID>(Mine_GetModuleHandleA) );
|
||||||
DetourTransactionCommit();
|
DetourTransactionCommit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -604,16 +604,16 @@ BOOL WINAPI DllMain( HINSTANCE, DWORD dwReason, LPVOID )
|
|||||||
PRINT_DEBUG("Hooking lan only functions");
|
PRINT_DEBUG("Hooking lan only functions");
|
||||||
DetourTransactionBegin();
|
DetourTransactionBegin();
|
||||||
DetourUpdateThread( GetCurrentThread() );
|
DetourUpdateThread( GetCurrentThread() );
|
||||||
DetourAttach( &(PVOID &)Real_SendTo, Mine_SendTo );
|
DetourAttach( reinterpret_cast<PVOID*>(&Real_SendTo), reinterpret_cast<PVOID>(Mine_SendTo) );
|
||||||
DetourAttach( &(PVOID &)Real_Connect, Mine_Connect );
|
DetourAttach( reinterpret_cast<PVOID*>(&Real_Connect), reinterpret_cast<PVOID>(Mine_Connect) );
|
||||||
DetourAttach( &(PVOID &)Real_WSAConnect, Mine_WSAConnect );
|
DetourAttach( reinterpret_cast<PVOID*>(&Real_WSAConnect), reinterpret_cast<PVOID>(Mine_WSAConnect) );
|
||||||
|
|
||||||
HMODULE winhttp = GetModuleHandleA("winhttp.dll");
|
HMODULE winhttp = GetModuleHandleA("winhttp.dll");
|
||||||
if (winhttp) {
|
if (winhttp) {
|
||||||
Real_WinHttpConnect = (decltype(Real_WinHttpConnect))GetProcAddress(winhttp, "WinHttpConnect");
|
Real_WinHttpConnect = (decltype(Real_WinHttpConnect))GetProcAddress(winhttp, "WinHttpConnect");
|
||||||
DetourAttach( &(PVOID &)Real_WinHttpConnect, Mine_WinHttpConnect );
|
DetourAttach( reinterpret_cast<PVOID*>(&Real_WinHttpConnect), reinterpret_cast<PVOID>(Mine_WinHttpConnect) );
|
||||||
// Real_WinHttpOpenRequest = (decltype(Real_WinHttpOpenRequest))GetProcAddress(winhttp, "WinHttpOpenRequest");
|
// Real_WinHttpOpenRequest = (decltype(Real_WinHttpOpenRequest))GetProcAddress(winhttp, "WinHttpOpenRequest");
|
||||||
// DetourAttach( &(PVOID &)Real_WinHttpOpenRequest, Mine_WinHttpOpenRequest );
|
// DetourAttach( reinterpret_cast<PVOID*>(&Real_WinHttpOpenRequest), reinterpret_cast<PVOID>(Mine_WinHttpOpenRequest) );
|
||||||
}
|
}
|
||||||
|
|
||||||
DetourTransactionCommit();
|
DetourTransactionCommit();
|
||||||
@ -628,12 +628,12 @@ BOOL WINAPI DllMain( HINSTANCE, DWORD dwReason, LPVOID )
|
|||||||
if (network_functions_attached) {
|
if (network_functions_attached) {
|
||||||
DetourTransactionBegin();
|
DetourTransactionBegin();
|
||||||
DetourUpdateThread( GetCurrentThread() );
|
DetourUpdateThread( GetCurrentThread() );
|
||||||
DetourDetach( &(PVOID &)Real_SendTo, Mine_SendTo );
|
DetourDetach( reinterpret_cast<PVOID*>(&Real_SendTo), reinterpret_cast<PVOID>(Mine_SendTo) );
|
||||||
DetourDetach( &(PVOID &)Real_Connect, Mine_Connect );
|
DetourDetach( reinterpret_cast<PVOID*>(&Real_Connect), reinterpret_cast<PVOID>(Mine_Connect) );
|
||||||
DetourDetach( &(PVOID &)Real_WSAConnect, Mine_WSAConnect );
|
DetourDetach( reinterpret_cast<PVOID*>(&Real_WSAConnect), reinterpret_cast<PVOID>(Mine_WSAConnect) );
|
||||||
if (Real_WinHttpConnect) {
|
if (Real_WinHttpConnect) {
|
||||||
DetourDetach( &(PVOID &)Real_WinHttpConnect, Mine_WinHttpConnect );
|
DetourDetach( reinterpret_cast<PVOID*>(&Real_WinHttpConnect), reinterpret_cast<PVOID>(Mine_WinHttpConnect) );
|
||||||
// DetourDetach( &(PVOID &)Real_WinHttpOpenRequest, Mine_WinHttpOpenRequest );
|
// DetourDetach( reinterpret_cast<PVOID*>(&Real_WinHttpOpenRequest), reinterpret_cast<PVOID>(Mine_WinHttpOpenRequest) );
|
||||||
}
|
}
|
||||||
DetourTransactionCommit();
|
DetourTransactionCommit();
|
||||||
}
|
}
|
||||||
|
@ -101,6 +101,7 @@
|
|||||||
|
|
||||||
#ifdef EMU_EXPERIMENTAL_BUILD
|
#ifdef EMU_EXPERIMENTAL_BUILD
|
||||||
#include <winhttp.h>
|
#include <winhttp.h>
|
||||||
|
#include <intsafe.h> // MinGW cannot find DWordMult()
|
||||||
#include "detours/detours.h"
|
#include "detours/detours.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -359,6 +359,12 @@ filter { "action:gmake*" , "files:*.cpp or *.cc or *.hpp", }
|
|||||||
buildoptions {
|
buildoptions {
|
||||||
"-fno-char8_t", -- GCC gives a warning when a .c file is compiled with this
|
"-fno-char8_t", -- GCC gives a warning when a .c file is compiled with this
|
||||||
}
|
}
|
||||||
|
-- MinGw on Windows cannot compile 'creatwth.cpp' from Detours lib (error: 'DWordMult' was not declared in this scope)
|
||||||
|
-- because intsafe.h isn't included by default
|
||||||
|
filter { "system:windows", "action:gmake*", }
|
||||||
|
buildoptions {
|
||||||
|
"-include intsafe.h"
|
||||||
|
}
|
||||||
filter {} -- reset the filter and remove all active keywords
|
filter {} -- reset the filter and remove all active keywords
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user