From 0100459248db276523477254c970257173091759 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sat, 1 Jun 2024 22:30:38 +0200 Subject: [PATCH] fix cutscene playbakc issues on windows 7 --- src/hook.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/hook.c b/src/hook.c index 1d73afe..6fc3abc 100644 --- a/src/hook.c +++ b/src/hook.c @@ -477,9 +477,12 @@ void hook_create(HOOKLIST* hooks, BOOL initial_hook) continue; BOOL is_local = _strnicmp(game_dir, mod_dir, strlen(game_dir)) == 0; + BOOL is_wine = real_GetProcAddress(GetModuleHandleA("ntdll.dll"), "wine_get_version") != 0; + + BOOL wine_hook = is_wine && _strcmpi(mod_filename, "mciavi32") == 0; if (is_local || - _strcmpi(mod_filename, "mciavi32") == 0 || + wine_hook || _strcmpi(mod_filename, "MSVFW32") == 0 || _strcmpi(mod_filename, "quartz") == 0 || _strcmpi(mod_filename, "winmm") == 0) @@ -554,9 +557,12 @@ void hook_revert(HOOKLIST* hooks) _splitpath(mod_path, NULL, mod_dir, mod_filename, NULL); BOOL is_local = _strnicmp(game_dir, mod_dir, strlen(game_dir)) == 0; + BOOL is_wine = real_GetProcAddress(GetModuleHandleA("ntdll.dll"), "wine_get_version") != 0; + + BOOL wine_hook = is_wine && _strcmpi(mod_filename, "mciavi32") == 0; if (is_local || - _strcmpi(mod_filename, "mciavi32") == 0 || + wine_hook || _strcmpi(mod_filename, "MSVFW32") == 0 || _strcmpi(mod_filename, "quartz") == 0 || _strcmpi(mod_filename, "winmm") == 0)