mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
update DebugLog build
This commit is contained in:
parent
5e79340fef
commit
59a57ed7a5
2
ddraw.rc
2
ddraw.rc
@ -4,7 +4,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 4
|
#define VERSION_MINOR 4
|
||||||
#define VERSION_BUILD 0
|
#define VERSION_BUILD 0
|
||||||
#define VERSION_REVISION 0
|
#define VERSION_REVISION 1
|
||||||
|
|
||||||
#define VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION
|
#define VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION
|
||||||
#define VERSION_STRING ver_str(VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION)
|
#define VERSION_STRING ver_str(VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_REVISION)
|
||||||
|
@ -31,6 +31,7 @@ BOOL WINAPI DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
|
|||||||
{
|
{
|
||||||
#if _DEBUG
|
#if _DEBUG
|
||||||
dbg_init();
|
dbg_init();
|
||||||
|
dprintf("cnc-ddraw = %p\n", hDll);
|
||||||
#endif
|
#endif
|
||||||
g_ddraw_module = hDll;
|
g_ddraw_module = hDll;
|
||||||
|
|
||||||
|
39
src/hook.c
39
src/hook.c
@ -4,6 +4,7 @@
|
|||||||
#include "dd.h"
|
#include "dd.h"
|
||||||
#include "winapi_hooks.h"
|
#include "winapi_hooks.h"
|
||||||
#include "hook.h"
|
#include "hook.h"
|
||||||
|
#include "debug.h"
|
||||||
#include "dllmain.h"
|
#include "dllmain.h"
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
@ -233,15 +234,15 @@ void hook_create(hook_list* hooks)
|
|||||||
|
|
||||||
if (g_hook_method == 3 || g_hook_method == 4)
|
if (g_hook_method == 3 || g_hook_method == 4)
|
||||||
{
|
{
|
||||||
WCHAR game_exe_path[MAX_PATH] = { 0 };
|
char game_exe_path[MAX_PATH] = { 0 };
|
||||||
WCHAR game_dir[MAX_PATH] = { 0 };
|
char game_dir[MAX_PATH] = { 0 };
|
||||||
|
|
||||||
if (GetModuleFileNameW(NULL, game_exe_path, MAX_PATH))
|
if (GetModuleFileNameA(NULL, game_exe_path, MAX_PATH))
|
||||||
{
|
{
|
||||||
_wsplitpath(game_exe_path, NULL, game_dir, NULL, NULL);
|
_splitpath(game_exe_path, NULL, game_dir, NULL, NULL);
|
||||||
|
|
||||||
WCHAR mod_path[MAX_PATH] = { 0 };
|
char mod_path[MAX_PATH] = { 0 };
|
||||||
WCHAR mod_dir[MAX_PATH] = { 0 };
|
char mod_dir[MAX_PATH] = { 0 };
|
||||||
HMODULE hmod = NULL;
|
HMODULE hmod = NULL;
|
||||||
|
|
||||||
while (hmod = DetourEnumerateModules(hmod))
|
while (hmod = DetourEnumerateModules(hmod))
|
||||||
@ -249,11 +250,13 @@ void hook_create(hook_list* hooks)
|
|||||||
if (hmod == g_ddraw_module)
|
if (hmod == g_ddraw_module)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (GetModuleFileNameW(hmod, mod_path, MAX_PATH))
|
if (GetModuleFileNameA(hmod, mod_path, MAX_PATH))
|
||||||
{
|
{
|
||||||
_wsplitpath(mod_path, NULL, mod_dir, NULL, NULL);
|
dprintfex("Module %s = %p\n", mod_path, hmod);
|
||||||
|
|
||||||
if (_wcsnicmp(game_dir, mod_dir, wcslen(game_dir)) == 0)
|
_splitpath(mod_path, NULL, mod_dir, NULL, NULL);
|
||||||
|
|
||||||
|
if (_strnicmp(game_dir, mod_dir, strlen(game_dir)) == 0)
|
||||||
{
|
{
|
||||||
hook_patch_iat_list(hmod, FALSE, hooks);
|
hook_patch_iat_list(hmod, FALSE, hooks);
|
||||||
}
|
}
|
||||||
@ -291,15 +294,15 @@ void hook_revert(hook_list* hooks)
|
|||||||
|
|
||||||
if (g_hook_method == 3 || g_hook_method == 4)
|
if (g_hook_method == 3 || g_hook_method == 4)
|
||||||
{
|
{
|
||||||
WCHAR game_exe_path[MAX_PATH] = { 0 };
|
char game_exe_path[MAX_PATH] = { 0 };
|
||||||
WCHAR game_dir[MAX_PATH] = { 0 };
|
char game_dir[MAX_PATH] = { 0 };
|
||||||
|
|
||||||
if (GetModuleFileNameW(NULL, game_exe_path, MAX_PATH))
|
if (GetModuleFileNameA(NULL, game_exe_path, MAX_PATH))
|
||||||
{
|
{
|
||||||
_wsplitpath(game_exe_path, NULL, game_dir, NULL, NULL);
|
_splitpath(game_exe_path, NULL, game_dir, NULL, NULL);
|
||||||
|
|
||||||
WCHAR mod_path[MAX_PATH] = { 0 };
|
char mod_path[MAX_PATH] = { 0 };
|
||||||
WCHAR mod_dir[MAX_PATH] = { 0 };
|
char mod_dir[MAX_PATH] = { 0 };
|
||||||
HMODULE hmod = NULL;
|
HMODULE hmod = NULL;
|
||||||
|
|
||||||
while (hmod = DetourEnumerateModules(hmod))
|
while (hmod = DetourEnumerateModules(hmod))
|
||||||
@ -307,11 +310,11 @@ void hook_revert(hook_list* hooks)
|
|||||||
if (hmod == g_ddraw_module)
|
if (hmod == g_ddraw_module)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (GetModuleFileNameW(hmod, mod_path, MAX_PATH))
|
if (GetModuleFileNameA(hmod, mod_path, MAX_PATH))
|
||||||
{
|
{
|
||||||
_wsplitpath(mod_path, NULL, mod_dir, NULL, NULL);
|
_splitpath(mod_path, NULL, mod_dir, NULL, NULL);
|
||||||
|
|
||||||
if (_wcsnicmp(game_dir, mod_dir, wcslen(game_dir)) == 0)
|
if (_strnicmp(game_dir, mod_dir, strlen(game_dir)) == 0)
|
||||||
{
|
{
|
||||||
hook_patch_iat_list(hmod, TRUE, hooks);
|
hook_patch_iat_list(hmod, TRUE, hooks);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user